CS 315
Programming
Languages
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
Teaching Assistants:
Mustafa Gundogan, Zeynep Saka
Grading Policy:
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.
Announcements
Please check your e-mails regularly for the
announcements.
On-line material:
CAR Hoare: Hints on the Design of Programming Languages; Stanford Report
The History of Programming Languages
.profile file to run relevant programs (save this file in your home directory)
Lex and Yacc class notes and Examples
The Lex & Yacc Page (dinosaur.compilertools.net).
Coroutine.mod (an implementation of coroutines in Modula2)
A Modula-2 programming environment for MSDOS
Kyota Common Lisp (kcl-doc.txt, kcl-report.ps)
You can use Knoppix to run linux on a Windows OS.
Displaying "Hello Wolrd" in many programming Languages
A C code that displays itself when executed