CS 160, Fall 2019

Translation of Programming Languages


Instructor

Prof. Yufei Ding

Office hours: Monday 3:00-4:30pm at HFH 1123


Staff

TA: Boyuan Feng (Office hours: Tuesday 10:00am-12:00pm at CSAIL)

TA: Yuke Wang (Office hours: Thursday 10:00am -12:00pm at CSAIL)

TA: Ursula Hebert-Johnson (Office hours: Friday 1:00pm - 3:00pm at CSAIL)


Times and Location

Lecture: TR 3:30pm-4:45pm in PHELP1260

Discussion sessions: [1] Tues 5:00-5:50pm in Girvetz 2129, [2] Tues 6:00-6:50pm NH 1109


Communication

Course web site: http://www.cs.ucsb.edu/~yufeiding/cs160

Piazza: https://piazza.com/ucsb/Fall2019/cs160/home

Gradescope: CS160-F19


Course Description

This course is intended to provide understanding of fundamental concepts in compiler design and implementation. Compilers are ubiquitous in the Computer Science field, especially in an era where programmers use many languages and a single language does not dominate.

Catalog Description: Study of the structure of compilers.

Topics include: lexical analysis; syntax analysis including LL and LR parsers; type checking; run-time environments; intermediate code generation; and compiler-construction tools.

Prerequisites

By course: CMPSC 64 or EE 154, CMPSC 130A and CMPSC 138.

By Topic: Automata theory and formal languages; Programming in C++; Data structures, algorithms, and complexity, assembly language programming

Textbook and Other Information Sources

Courseworks

The coursework will be reading assignments from the textbook, 6 projects, 1 midterm exam, and 1 final exam.

Grading

The grade breakdown will be 25% midterm, 25% final and 50% projects. For the projects, the grade breakdown is as follows: 5% Project 1, 15% Project 2, 15% Project 3, 20% Project 4, 22.5% Project 5, 22.5% Project 6.


Late Policy

Each student will have 4 "slip days" to use over the quarter. Using a slip day allows one project to be turned in up to 24 hours after the deadline. Slip days are automatically applied by the TAs upon late assignment submission. Slip days can only be used in 24 hour increments: turning in an assignment 30 minutes late uses a slip day. If all slip days are expended, a late assignment will not be accepted.

Attendance

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.

Distractions

Dislike
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.