Course Objectives
The objectives of this course are
-
to provide students with more in-depth knowledge of the various parts of traditional compilers: scanners, parsers, semantic analyzers, symbol tables, and optimizers;
-
to explore and understand selected advanced compiler topics;
-
to investigate features of programming languages supporting different paradigms;
-
to understand better what it means to be a Master of the Science or Doctor of the Philosophy of Computing in terms of both teaching and learning.
|
Course Outcomes
At the conclusion of this course students will be able to
-
demonstrate that they have a clear grasp of the fundamental theory and practice of compiling;
-
complete independent investigations of computer science concepts new to them;
-
confidently present research results to others; and
-
provide evidence that they understand many of the issues with respect to teaching and learning appropriate for one entering the profession
|
Instructor
Rocky Ross
Office: EPS 365
E-mail: ross@cs.montana.edu
Phone: 994-4804
|
Office Hours
MF 3:10-4:00, W 5:00-5:30
Any time the door is open outside of scheduled office hours. |
Teaching Assistants
None
|
|
Class Meeting Time
MWF 2:10-3:00
|
Class Location
EPS 108 |
Class Resources
Textbook: Steven S. Muchnick, Advanced Compiler Design and Implementation
|
Important Dates
Midterm Exam - TBA
Final Exam - TBA |
Grading Policy
The final grade will be determined from the following:
-
25% midterm
-
35% final
-
20% projects
-
20% presentations
|
Course Topics
Review of major scanning, parsing, and translation techniques
Selected advanced compiler topics from the textbook
In-depth look at various programming language features and their compilation
Review of some learning theories
|