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 201.

Fall 2018 Semester:

Text Book: Robert W. Sebesta, Concepts of Programming Languages, Global Edition, 11/E, Pearson. Link to publisher

Official Sylabus of the course: Syllabus

Section: 01
Schedule: Tuesday 13:40 - 15:30, Thursday 15:40 - 17:30
Classroom: B-Z01
Instructor: H. Altay Güvenir (Room: EA-416)

Section: 02
Schedule: Wednesday 13:40 - 15:30, Friday 15:40 - 17:30
Classroom: B-Z01
Instructor: Karani Kardaş (Room: EA-504)

Section: 03
Schedule: Monday 13:40 - 15:30, Wednesday 15:40 - 17:30
Classroom: B-Z05
Instructor: E. Kartal Tabak (Room: EA-504)

Teaching Assistant: Gizem Çaylak (gizem.caylak@bilkent.edu.tr), Duygu Durmuş (duygu.durmus@bilkent.edu.tr)

Projects: Project Groups

  1. Project 1 Due: Oct. 30, 2018
  2. Project 2 Due: Nov. 15, 2018


  1. Homework 1 Due: Nov. 28, 2018
  2. Homework 2 Due: Dec. 16, 2018
  3. Homework 3 Due: Dec. 27, 2018

Midterm: November 17, 2018 (Saturday); 10:00 - 13:00; Rooms EB-101, EB-102, EB-103, EB-104, EB-201, EB-202; Open-book, open-notes.

Final: January 13, 2019 (Sunday); 15:30 - 18:00; Rooms EB-101, EB-102, EB-103, EB-104, EB-201. Open-book, open-notes.

Grading Policy:

   Quizzes: 15%
   Homeworks: 15%
   Projects: 20%
   Midterm: 20%
   Final: 30%

Grades: SRS

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. 10 points (out of 100) will be deducted from the grade of a homework for every day of late submission.

The Minimum Requirement to be able to take the Final Exam:
In order to be able take the final exam a student must earn at least
20% on the midterm exam, AND
20% on the project, AND
20% on the average of homework assignments.
Students who do not satisfy this condition will receive an FZ grade.

On-line material: