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 2023 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), Mehmet Can Şakiroğlu (can.sakiroglu@bilkent.edu.tr).

Projects: Teams

  1. Project 1 Due: Oct. 15, 2023
  2. Project 2 Due: Nov. 11, 2023


  1. Homework 1 Due: November 27, 2023
  2. Homework 2 Due: December 10, 2023

Midterm Exam: Nov. 18, 2023 (Saturday); 16:30 - 18:30; Students in rooms: Rooms: EE-03, EE-04, EE-05, EE-214, EE-412. Open-book, open-notes.

Final Exam: TBA. Rooms: B-Z08, EA-Z03, EB-101, EB-102, EB-103, EB-104, EB-203, EB-204. Open-book, open-notes.

Grading Policy:

   Quizzes: 10%
   Homeworks: 10%
   Projects: 20%
   Midterm exam: 20%
   Final exam: 40%

Grades: SRS

There will be only one makeup exam for the midterm and one makeup exam for the final exam, which can be taken only by those who have missed the corresponding exam due to officially reported health problems. No makeup examinations will be given for quizzes.

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.

The minimum requirement to pass the course:

In order to pass the course, a student must earn at least 20% in the final exam. Any student who takes the final exam, but earns less than 20%, will get F. Any student who is allowed to take the final exam but did not take it will get FX.

On-line material: