defter*
defter / katalog / CS 315
CS 315

Programming Languages

CS 315 is about understanding what's actually happening when you write code in any language, how syntax gets parsed, how names bind to values, how types are checked, and what design tradeoffs separate C from Haskell from Prolog. You'll build small analyzers with Lex/Yacc, do projects exploring functional and logic paradigms, and grind through quizzes and open-book exams on the Sebesta textbook. After CS 202-level data structures, this is where you stop treating your compiler as magic and start seeing languages as designed artifacts, which pays off later in compilers, PL theory, and any time you have to learn a new language quickly.

Kredi3ECTS5FakülteFaculty of EngineeringBölümComputer EngineeringÖn koşulCS 201KoordinatörH. Altay Güvenir

Haftalık müfredat 14 hafta

Hafta 114–20 Eyl
Giriş kavramları: syntax ve semantics
Preliminaries, syntax, semantics
preliminariessyntaxsemantics
Hafta 221–27 Eyl
Syntax tanımlama: regular expression ve CFG
Describing Syntax (Regular Expressions & Context Free Grammars)
syntaxregular expressioncontext free grammar
Hafta 328 Eyl – 4 Eki
Lexical analysis ve parsing
Lexical Analysis and Parsing
lexical analysisparsing
Hafta 45–11 Eki
Parser generator araçları: Lex ve Yacc
Parser generator tools (Lex & Yacc)
parser generatorLexYacc
Hafta 512–18 Eki
İsimler, binding ve scope kavramları
Names, Bindings, and Scopes
namesbindingsscopes
Hafta 619–25 Eki
İsimler, binding ve scope kavramları
Names, Bindings, and Scopes
namesbindingsscopes
Hafta 726 Eki – 1 Kas
Veri tipleri
Data Types
data typeveri tipi
Hafta 82–8 Kas
Veri tipleri
Data Types
data typeveri tipi
Hafta 99–15 Kas
İfadeler, Atama ve Control Structures
Expressions and Assignment Statement, Statement-Level Control Structures
expressionassignment statementstatement-level control structures
Hafta 1016–22 Kas
Altprogramlar
Subprograms
subprogramaltprogram
Hafta 1123–29 Kas
Subprogram'ların implementation'ı
Implementation of Subprograms
subprogramsimplementation
Hafta 1230 Kas – 6 Ara
Concurrency, Exception ve Event Handling; Functional Programming
Concurrency, Exception Handling, and Event Handling; Functional programming
concurrencyexception handlingevent handlingfunctional programming
Hafta 137–13 Ara
Functional programming paradigması
Functional programming
functional programming
Hafta 1414–20 Ara
Logic programming paradigması
Logic programming
logic programming

Değerlendirme 100% · 6 adım

10%
10%
10%
10%
20%
40%
Quiz Quizzes 10%
Project Project1, Project2 20%
Homework Homeworks 10%
Midterm:Open-Book Midterm 20%
Final:Open-book Final 40%
en büyük tek kalem %40 · sınav ağırlığı %70 · 33 dönem ortalaması 2.34 (3646 öğrenci) nasıl hesaplanıyor

Önerilen kaynaklar 1 kitap

📕
Zorunlu
Concepts of Programming Languages
Robert W. Sebesta
12th Edition · Pearson

Bu dersi alınca · 7 öğrenme çıktısı

Bilkent'in resmî syllabus'ünden. Sağdaki etiket o çıktının hangi değerlendirmeyle ölçüldüğünü söylüyor.

🤖 GenAI politikası

Students are encouraged to use any technology, including generative artificial intelligence tools, for preparing the projects and homework assignments.

Ders notları · henüz yok

CS 315 için defter ekibi henüz not yazmadı.

İlk dosyayı sen atarsan: not, slayt, geçmiş sınav, çözüm, cheat-sheet, ne varsa. defter ekibi öğrenci paylaşımlarından bu dersin notlarını yazar. Drive linki / PDF / ZIP, hepsi olur.

← katalog

Geçmiş GPA dağılımı 33 dönem · ort. 2.34

DönemCourse CPA
2025-2026 Fall 3.01 1 sec · 20 öğr
2024-2025 Fall 2.62 3 sec · 135 öğr
2024-2025 Spring 2.65 1 sec · 79 öğr
2023-2024 Fall 2.23 3 sec · 172 öğr
2023-2024 Spring 2.63 1 sec · 52 öğr
2022-2023 Fall 2.66 3 sec · 143 öğr
2022-2023 Spring 2.23 1 sec · 60 öğr
2021-2022 Fall 2.53 3 sec · 167 öğr
2021-2022 Spring 2.47 1 sec · 62 öğr
2020-2021 Fall 2.57 3 sec · 167 öğr

Aggregate course GPA · Bilkent STARS'tan public data. Hoca-bazlı per-section detayı için STARS evaluation report →. Öğrenci anket cevapları KVKK kapsamında defter'de tutulmaz. Tüm derslerin ortalamaları →

Bu dönem · 2026-2027 Güz · 1 şube · 60 kontenjan

haftada 3 saat ders

Haftalık ızgarada 4 saat görünüyor, kayıt sistemi dersi 3 saat yazıyor. Aradaki 1 saat yedek saat: Bilkent programlarında derse genelde bir fazla saat ayrılır ve çoğu zaman kullanılmaz. Hangisinin düşeceği dönem başlayınca belli olur.

1
Halil Altay Güvenir
Pzt15:30–17:20Per10:30–12:20
60
kişilik
Düzensiz açılıyorSon yıllarda 38 güz, 14 bahar dönemi. Belirli bir düzeni yok, açıldığında almak mantıklı olabilir.

⚠️ FZ engelleyen şartlar

At least 20% on the midterm exam, AND 20% on the project, AND 20% on the average of homework assignments.

Hocalar 1 bu dönem · 9 geçmiş

Bu dönem (2026-2027 Fall) · 1 section
Halil Altay Güvenir
Geçmişte ders veren (9 kişi)
H. Altay Güvenir, Aynur Dayanık, Ertuğrul Kartal Tabak, Karani Kardaş, Buğra Gedik, Ramazan Gökberk Cinbiş, Abdullah Ercüment Çiçek, Pınar Duygulu Şahin, Uluç Saranlı

Bunu alınca açılanlar · 2 ders CS 315'i ön koşul sayıyor