In this course, we will explore the basic techniques that are the cornerstone of a variety of program analysis tools, including optimizing compilers, just-in-time compilers, program verifiers, bug fingers, code refactoring tools, garbage collectors, and runtime monitoring systems. These techniques may come in handy, no matter what field of CS you end up working in.
At the same time, you will get a feeling for what research is like in the area of program analysis and compilers by reading research papers, and getting your feet wet in a small project. If you haven't picked an area of research to work in, being exposed to some research will help you make a better decision. If you have already picked an area of research to work in, seeing what research is like in other fields of CS will broaden your perspective.
Academic integrity. Academic integrity at UCSD is governed by the Policy on Integrity of Scholarship. Allegations of academic misconduct are handled by the Academic Integrity Office. Cheating will not be tolerated, and any student who engages in forbidden conduct will be subjected to the disciplinary process. The course penalty assessed for any cheating in CSE 231 will be a failing course grade. Cheaters may additionally be subject to administrative sanctions.