Subject Code and Course Number: CS 236, 336
Course Title: Operating System Principles
Number of Credits: 3
Instructor Name: Norayr Chilingarian
Office Location: 336W (PAB)
Office Hours: Wed(19:30-20:30), Sat(15:00-16:00), also by appointment.
Term/Year:
Class Schedule:
-
MW 9:30-10:20 at 413W
-
F 9:30-10:20 at 002M
Course Description:
An introduction to the basic phases of modern compilers and their design principles. Topics covered include CPU instruction, finite state machines, lexical scanning, parsing schemes, code generation and translation, comparison of modern programming languages. As part of the course, students build a working compiler for an object-oriented language. Three hours of instructor-led class time per week including discussions and problem sets.
Required Materials:
Alfred V. Aho, Monica S. Lam, Ravi Sethi, and Jeffrey D. Ullman Compilers: Principles, Techniques, and Tools
Niklaus Wirth Compiler Construction new version online: https://www.inf.ethz.ch/personal/wirth/CompilerConstruction/CompilerConstruction1.pdf old version online: http://www.ethoberon.ethz.ch/WirthPubl/CBEAll.pdf
Jack W. Crenshaw Let's build a compiler.
https://compilers.iecc.com/crenshaw/tutorfinal.pdf
Per Brinch Hansen Brinch Hansen on Pascal Compilers (1985, ISBN 0-13-083098-4) http://pascal.hansotten.com/per-brinch-hansen/
S. Sverdlov. Programming Languages and Translation Techniques.
Jonathan Bartlett Programming from the ground up. http://mirror.rackdc.com/savannah/pgubook/ProgrammingGroundUp-1-0-lettersize.pdf
Schedule & Topics: [Note: Review and Q&A in preparation for exams should be scheduled and noted on syllabus.]
Week | Topic | Assignment | Deadline | |
---|---|---|---|---|
1 | High level programming languages, assembly language. Compilers, interpreters. | |||
Lab. Memory. CPU. | ||||
2 | Meta languages, T diagrams. Programming languages genealogy. | |||
3 | ||||
4 | ||||
5 | ||||
6 | ||||
7 | ||||
Project Completion/Submission | ||||
Final Examination |
Course Structure Three 50 minute class meetings per week, with homework in accordance with the syllabus. All readings and submissions must be completed on the day due. One project, two midterms and a final exam at the end of the course. Class attendance is mandatory. Syllabus plan is subject to change and serves mere as a roadmap, rather than exact schedule.
Method of Evaluation
Student learning will be evaluated on the basis of the following weighted components:
• Homework assignments 20% of final grade • Grade of midterm examinations 25% • Projects 25% • Grade of final examination 30%