Description: Language evaluation criteria. Describing syntax and semantics. Tools for constructing lexical and syntactical analyzers. Names, bindings, type checking, and scopes. Data types. Expressions and the assignment statement. Statement-level control structures. Subprograms. Abstract data types. Concurrency. Exception handling. Functional programming languages. Logic programming languages. Credit units: 3, Prerequisite: CS 102 or CS 112.
Spring 2012 Semester:
Text Book: Robert W. Sebesta, Concepts of Programming Languages, Pearson (Ninth Edition)
Additional Material: Benjamin C. Pierce, Types and Programming Languages, The MIT Press
Instructor: Pınar Duygulu
Mustafa Gundogan, Zeynep Saka
Quizzes : 15%
Homeworks : 15%
Projects : 25%
Midterm : 20%
Final : 25%
There will be only one makeup exam, which can be taken only by those who have missed any of the midterm of final exams due to officially reported health problems. No make up examinations will be given for quizzes.
Important note: In order to pass the course you have to get at least 25 from both of the exams.
Please check your e-mails regularly for the announcements.
.profile file to run relevant programs (save this file in your home directory)
Coroutine.mod (an implementation of coroutines in Modula2)
You can use Knoppix to run linux on a Windows OS.