This course covers topics in programming languages and compilers such
as parsing techniques with error handling;
attribute grammars and their use in syntax-directed translation; type
systems and polymorphism; models of programming language
semantics (i.e., operational semantics through closure interpreters );
data abstraction; functional, logical, and object-oriented paradigms;
intermediate representations of programs; parallel programming
models; GPU programming; automatic parallelization and vectorization.
This course requires that every student adheres to the
DCS Academic Integrity Policy. DO NOT
CHEAT ! If you have any questions whether a particular
activity is considered cheating, talk to the instructor.
You have to make sure that all your project files are read protected.
If you don't know how to do this in Linux, ask your TA. Leaving a
project file unprotected and thereby visible to your fellow students
is considered cheating.
If you need an extension to a project or homework, let the instructor know as early as possible.
Please post questions regarding homeworks and projects using
DO NOT send homework or project
questions directly to the
TA or me.
For other communication via email, please start your subject line with cs314.
The exams will be a midterm and a common hours final exam.
Please write your section number on your homework.
Electronic submission of PDF files only.
Sample solutions will be available on sakai under the "Resources" tab.
You will need an ilab account
since all projects will require code to run on the ilab machines. You
should know how to create and edit files in the Linux environment. All
projects have to compile and compile on the ilab machines. It is your
responsibility to make sure that your code works correctly on the
Code that does not compile and/or run on the ilab cluster will not receive any credit.
Late submission policy: 20% penalty for every 24 hour period after the submission deadline. This means, no credit for projects submitted more than 4 days (4x24hours) late.