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 2022 Semester:

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

Official Sylabus of the course: Syllabus Details

Section: 01
Instructor: H. Altay Güvenir (Room: EA-414)

Section: 02
Instructor: Aynur Dayanık (Room: EA-426)

Section: 03
Instructor: Karani Kardaş

Teaching Assistant: Dilruba Sultan Haliloğlu (sultan.haliloglu@bilkent.edu.tr), Hamza Islam (hamza.islam@bilkent.edu.tr), Onur Yıldırım (o.yildirim@bilkent.edu.tr).

Projects: Teams

  1. Project 1 Due: Oct. 14, 2022
  2. Project 2 Due: Oct. 28, 2022


  1. Homework 1 Due: Nov. 18, 2022
  2. Homework 2 Due: Dec. 3, 2022

Midterm Exam: Nov. 19, 2022 (Saturday); 9:00 - 12:00; Rooms: B-Z01, B-Z02, B-Z04, B-Z05, B-Z08. Open-book, open-notes.

Final Exam: TBA. Open-book, open-notes.

Grading Policy:

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

Grades: SRS

There will be only one makeup exam and one final exam, which can be taken only by those who have missed the corresponding exam 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: