CS 293S, Winter 2020

Code Optimization


Prof. Yufei Ding

Office hours: Monday 11:00am-12:15pm or by appointment (Frank Hall 1123)

Times and Location

Monday/Wednesday 9:00am-10:50am in PHELPS 2510


Course web site: http://www.cs.ucsb.edu/~yufdeiding/cs293s

Course Description

With the increasing diversity and complexity of computers and their applications, the development of efficient, reliable software has become increasingly dependent on automatic support from compilers and other program analysis and translation tools. This course covers principal and emerging topics in understanding and transforming programs for efficiency, including data flow analysis, polyhedra analysis, optimizations for massively parallel programs (e.g., GPU) and distributed applications (e.g., data center programs), the reciprocity between code optimizations and machine learning, domain specific languages, and program synthesis.

Course Objectives

Textbook and Other Information Sources


Class attendance is expected: you are responsible for everything that goes on in class. "I wasn't there" and "I didn't know" are not valid excuses for missing something important.

Academic Integrity

Please read this section carefully.

The university, the department, and this instructor all take the issue of academic integrity very seriously. A university requires an atmosphere of mutual trust and respect. While collaboration is an integral part of many scholarly activities, it is not always appropriate in a course, and it is never appropriate unless due credit is given to all participants in the collaboration. This goes for both ideas and programming or other work.

Here are some examples:

For some views on academic integrity at UCSB see the Academic Integrity page of the Office of Judicial Affairs.

Summary: Academic integrity is absolutely required - dishonesty (cheating, plagiarism, etc.) benefits no one and hurts everyone. If you are not sure whether or not something is appropriate, ask the instructor or the TA.

Course Materials and Copyright

All course materials (class lectures and discussions, handouts, examinations, web materials) and the intellectual content of the course itself are protected by United States Federal Copyright Law, the California Civil Code. The UC Policy 102.23 expressly prohibits students (and all other persons) from recording lectures or discussions and from distributing or selling lectures notes and all other course materials without the prior written permission of the instructor (See http://policy.ucop.edu/doc/2710530/PACAOS-100). Students are permitted to make notes solely for their own private educational use. Exceptions to accommodate students with disabilities may be granted with appropriate documentation.

To be clear, in this class students are forbidden from completing study guides and selling them to any person or organization.

Students with Disabilities

If you are a student with a (temporary or permanent) disability and would like to discuss special academic accommodations, please first contact the Disabled Students Program (DSP) at UCSB. DSP will arrange for special services when appropriate (e.g., facilitation of access, note takers, readers, sign language interpreters). Please note that it is the student's responsibility to communicate his or her special needs to the instructor, along with a letter of verification from DSP. The instructor will be happy to make the appropriate accommodations once you work out the details with DSP; also, feel free to communicate these needs to the instructor while waiting for DSP to finalize their response.


Classroom computer use policy - Please come to class in order to focus on the subject at hand - not on email, texting, Facebook, web surfing, etc. This is distracting to your classmates and the instructor. If you truly need to use class time to devote to these activities, please do it elsewhere.
No phones!
Cell phone policy - Please mute your cell phone. If it rings, I get to answer it. Really.