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.
Fall 2011 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
Instructors:
Uluç Saranlı
(Section1)
and Pınar
Duygulu
(Section2 and Section3)
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.
Homeworks
Homework1
Homework2
Homework3
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