defter*
defter / katalog / CS 115

CS 115 Introduction to Programming in Python

Türkçe kataloğunda Python ile Programlamaya Giriş diye geçiyor.

Python üzerinden programlamaya giriş: temel söz dizimi ve dallanma, fonksiyonlar ve kapsam, modül ve dosyalar, liste-sözlük gibi yapılar, sınıflar ve nesneye yönelik programlama, sonra algoritma karmaşıklığı, arama ve sıralama. Kitap Guttag'ın Introduction to Computation and Programming Using Python'ı. Midterm ve final %40'ar, laboratuvarlar %20.

Ders notlarını aç →

Kredi 4 ECTS 6.5 Fakülte Mühendislik Fakültesi Bölüm Bilgisayar Mühendisliği Materyal 259 Koordinatör Aynur Dayanık

CS 115 zor mu?

Son 24 dönemde dersin ortalaması 2,50 (6.936 öğrencinin notu, 4,00 üzerinden), yani sınıf ortalaması C+ civarında. Zorluk hocaya ve şubeye göre değişir; ölçülebilir olan bu sayı. Diğer derslerle karşılaştır →

CS 115 dersinde kaç midterm var, ağırlıkları ne?

İzlencede 1 midterm var, ağırlığı %40. Final %40. Kalan %20 dersin öteki kalemlerinde. Tam dağılım aşağıda.

CS 115 dersinin ön koşulu var mı?

Bilkent kataloğunda bu ders için ön koşul yazılı değil.

CS 115 bu dönem kim veriyor?

2026-2027 Güz döneminde 6 şube açık, dersi Aynur Dayanık, Mustafa Değerli veriyor. Şube saatleri ve kontenjanlar aşağıda.

CS 115 dersinde hangi kitap okunuyor?

İzlencede zorunlu kitap: Introduction to Computation and Programming Using Python, with Application to Understanding Data, John Guttag, Second Edition, MIT Press.

CS 115 kaç kredi?

4 Bilkent kredisi, 6,5 AKTS.

Haftalık müfredat 14 hafta

Hafta 114–20 Eyl
Programlamaya ve Python'a giriş (Bölüm 1, 2)
Introduction to programming, Introduction to Python (Chapter 1, 2)
programmingPythonBölüm 1Bölüm 2
Hafta 221–27 Eyl
Python temelleri: branching ve iteration
The Basic elements of Python, Branching, Strings, Input, Iteration (Chapter 2)
Pythonbranchingstringiteration
Hafta 328 Eyl – 4 Eki
Basit numerical program yazımı (Bölüm 3)
Simple numerical programs (Chapter 3)
numerical programsBölüm 3
Hafta 45–11 Eki
Fonksiyon, scope ve abstraction (Bölüm 4)
Functions, Scoping, and Abstraction (Chapter 4)
functionscopingabstractionBölüm 4
Hafta 512–18 Eki
Global değişkenler, modüller ve dosyalar (Bölüm 4)
Global Variables, Modules, Files (Chapter 4)
global variablesmodulesfiles
Hafta 619–25 Eki
Structured types, mutability, higher-order functions (Bölüm 5)
Structured Types, Mutability, and Higher-Order Functions (Chapter 5)
structured typesmutabilityhigher-order functionsBölüm 5
Hafta 726 Eki – 1 Kas
Array ve multi-dimensional array yapıları
Arrays and Multi-Dimensional Arrays
arraymulti-dimensional array
Hafta 82–8 Kas
Class'lar ve object-oriented programming
Classes and Object-Oriented Programming (Chapter 8)
classesobject-oriented programmingBölüm 8
Hafta 99–15 Kas
Algorithmic complexity'ye giriş (Bölüm 9)
A simplistic Introduction to Algorithmic Complexity (Chapter 9)
algorithmic complexityBölüm 9
Hafta 1016–22 Kas
Basit algorithms, data structures (Bölüm 10)
Simple Algorithms and Data Structures. Search and Sort Algorithms (Chapter 10)
data structuressearch algorithmssort algorithmsBölüm 10
Hafta 1123–29 Kas
Plotting (Bölüm 11)
Plotting (Chapter 11)
plottingBölüm 11
Hafta 1230 Kas – 6 Ara
Random walk'lar ve data visualization (Bölüm 14)
Random Walks and Data Visualization (Chapter 14)
random walksdata visualization
Hafta 137–13 Ara
Deneysel veriyi anlamak (Bölüm 18)
Understanding Experimental Data (Chapter 18)
experimental dataBölüm 18
Hafta 1414–20 Ara
Genel Tekrar
Review
tekrar

Değerlendirme 100% · 3 adım

20%
40%
40%
Lab exam Labs 20%
Midterm: Essay/written Midterm 40%
Final: Essay/written Final 40%
en büyük tek kalem %40 · sınav ağırlığı %100 · 24 dönem ortalaması 2.50 (6936 öğrenci) nasıl hesaplanıyor
Notunu hesapla
KalemAğırlık Notun (100 üzerinden)
Labs%20
Midterm%40
Final%40
Bildiğin notları gir; girmediklerin hesaba katılmaz.

Ağırlıklar CS 115 izlencesinden. Hocanın bu dönemki dağılımı farklı olabilir; bağlayıcı olan ders izlencesidir. Harf notu sınırlarını hoca belirliyor, o yüzden hedefi sen giriyorsun. İzlencede FZ şartı var, sayfanın sonundaki kutuda.

Önerilen kaynaklar 1 kitap

📕
Zorunlu
Introduction to Computation and Programming Using Python, with Application to Understanding Data, John Guttag, Second Edition, MIT Press
Kütüphanede var mı: 1 kitap arandı · e-kitap rafında 6 kaynak

Kitabı almadan önce bak. Baskı farkı önemli: baskı değişince alıştırma numaraları kayıyor, yani ödevdeki soru numarası başka bir soruya denk gelebilir.

Kütüphanede e-kitap olarak duran 6 kaynak

Ders kitabının kendisi e-kitap değil, ama bunlar aynı konuyu anlatıyor ve kütüphane hesabınla açılıyor. Her satır hangi haftalara denk geldiğini yazıyor.

  • e-kitapS. Gowrishankar, A. Veena, Introduction to Python Programming, Chapman and Hall/CRC, 2018kampüs içi | VPN ileGuttag'ın kitabı yok; bunun bölüm sırası dersin ilk sekiz haftasına birebir oturuyor ve programlamaya sıfırdan başlayan öğrenciye göre yazılmış. "Parts of Python Programming Language" 1-2. bölümlere, "Control Flow Statements" 2. bölüme, "Functions" 4. bölüme, "Strings" 2. bölüme, "Lists", "Dictionaries", "Tuples and Sets" 6. bölüme (Structured Types, Mutability), "Files" 5. bölüme (Modules, Files), "Object-Oriented Programming" 8. bölüme denk geliyor.
  • e-kitapEric Matthes, Python Crash Course: A Hands-On, Project-Based Introduction to Programming, No Starch Press, 2016kampüs içi | VPN ile (OverDrive, kütüphane hesabıyla giriş)Konu anlatımından sonra proje yaptırıyor; 11-12. bölümlerdeki grafik çizdirme ve veri görselleştirme kısmı burada baştan sona bir proje olarak var. Birinci kısım (Python temelleri: değişkenler, listeler, if, while, fonksiyonlar, sınıflar, dosyalar) 1-6. ve 8. bölümlere, veri görselleştirme projesi (matplotlib ile grafik ve rastgele yürüyüş) 11-12. bölümlere denk geliyor.
  • e-kitapBen Stephenson, The Python Workbook: A Brief Introduction with Exercises and Solutions, 2. baskı, Springer, 2019kampüs içi | VPN ile186 alıştırma ve seçilmiş çözümler; dersin ödev ve lab ağırlığı yüksek olduğu için konu okumaktan çok kod yazmaya ihtiyaç var. "Introduction to Programming" 1-2. bölümlere, "Decision Making" ve "Repetition" 2. bölüme, "Functions" 4. bölüme, "Lists" ve "Dictionaries" 6. bölüme, "Files and Exceptions" 5. bölüme, "Recursion" 4. bölüme denk geliyor; her bölümün çözümleri kitabın ikinci kısmında.
  • e-kitapHans Petter Langtangen, A Primer on Scientific Programming with Python, 5. baskı, Springer, 2016kampüs içi | VPN ilePython'u bilim-mühendislik hesabı için öğreten kitap; dersin 3. bölümündeki sayısal programlar, 7. bölümdeki diziler ve 12. bölümdeki rastgele yürüyüş burada aynı sırayla geçiyor. "Computing with Formulas" ve "Loops and Lists" 1-2. bölümlere, "Functions and Branching" 4. bölüme, "User Input and Error Handling" 5. bölüme, "Array Computing and Curve Plotting" 7. ve 11. bölümlere (Arrays, Plotting), "Introduction to Classes" ve "Object-Oriented Programming" 8. bölüme, "Random Numbers and Simple Games" 12. bölüme (Random Walks), "Introduction to Discrete Calculus" 3. bölüme (Simple numerical programs) denk geliyor.
  • e-kitapKent D. Lee, Steve Hubbard, Data Structures and Algorithms with Python, Springer, 2015kampüs içi | VPN ileKarmaşıklık ve algoritma haftalarının (9-10) doğrudan karşılığı; Python bilen ama Big-O'yu ilk kez gören öğrenci için yazılmış. "Python Programming 101" 1-2. bölümlere, "Computational Complexity" 9. bölüme (Algorithmic Complexity), "Recursion", "Sequences", "Sets and Maps" 10. bölüme (Simple Algorithms and Data Structures, Search and Sort) denk geliyor.
  • e-kitapAditya Y. Bhargava, Grokking Algorithms: An Illustrated Guide for Programmers and Other Curious People, Manning, 2016kampüs içi | VPN ileArama ve sıralama algoritmalarını çizimle anlatıyor ve kod örnekleri Python; 9-10. bölümlerin sezgi tarafı için. İkili arama ve Big-O bölümleri 9. bölüme (A simplistic Introduction to Algorithmic Complexity), seçmeli sıralama, birleştirmeli/hızlı sıralama ve hash tabloları bölümleri 10. bölüme (Search and Sort Algorithms) denk geliyor.

Dersin kendi kitabı John Guttag, Introduction to Computation and Programming Using Python (2. baskı, MIT Press) yalnız basılı: sorgu 1 kayıt döndürdü, MARC 856 alanı yok. Think Python ve Automate the Boring Stuff da katalogda yok. 13. bölüm (Understanding Experimental Data: eğri uydurma, R-kare) en zayıf kapsanan hafta; 'curve fitting least squares python' 0 sonuç verdi, bu haftaya doğrudan oturan bir e-kitap bulunamadı (Langtangen'in sayısal bölümleri kısmen tutuyor).

Dersin kendi kaynakları 2 bağlantı

Bunları biz yazmadık: bölümün ya da programın kendi yayımladığı sayfalar. Bir çelişki olursa bağlayıcı olan onlar.

Bu ders için kamuya açık güncel bir şube sayfası, eski sınav ya da indirilebilir lab dosyası bulamadık. Bulunan tek şube sayfası 2018 tarihli ve üzerindeki slayt, kod ve ödev dosyalarının hepsi 403 veriyor. Dersin asıl yeri Moodle ve orası giriş istiyor.

Bu ders şubeye göre ne kadar değişiyor

Bu dönem 6 şube, 2 ayrı hoca. Kaynağı dersin kendi programı, elle yazılmadı.

Neye dayanıyorSTARS izlencesi hafta hafta, artı bir şubenin 2024-25 arşivinden okunan 161 Python dosyası (lab, ödev ve ders kodu).

Şubede ne değişirBu dönem 6 şube, 2 hoca. Arşivden okuduğumuz şey TEK şubenin tek yılı: ortamın Spyder olduğu ve lab dosyalarının biçimi oradan geliyor. Başka şubede aynı olup olmadığını ÖLÇMEDİK; 'her yıl aynı' gibi bir şey de söylemiyoruz.

7. haftanın kitap bölümü
Bizim haftalık planımızda 7. hafta 'Arrays and Multi-Dimensional Arrays' ve tek bölüm numarası taşımayan hafta bu
Guttag 2. baskıda 'arrays' diye ayrı bir bölüm yok
Doğrulanamadı. Güncel ve kamuya açık bir şube sayfası bulunamadığı için 'yanlış' demiyoruz.

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

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

Ders notları

CS 115 için ders notu hazır

14 bölüm · 201 çözümlü örnek · 238 alıştırma. Dersin izlencesi, ders kitabı ve öğrencilerin paylaştığı materyallerden derlendi. Çözümler adım adım açılıyor, ipuçları kademeli geliyor, takıldığın soruyu tek tıkla kendi yapay zekâna taşıyabiliyorsun.

Notları aç →
  1. 01Introduction to programming, Introduction to Python (Chapter 1, 2)
  2. 02The Basic elements of Python, Branching, Strings, Input, Iteration (Chapter 2)
  3. 03Simple numerical programs (Chapter 3)
  4. 04Functions, Scoping, and Abstraction (Chapter 4)
  5. 05Global variables, modules, and files
  6. 06Structured Types, Mutability, and Higher-Order Functions (Chapter 5)
  7. 07Arrays and Multi-Dimensional Arrays
  8. 08Classes and Object-Oriented Programming (Chapter 8)
  9. 09A simplistic Introduction to Algorithmic Complexity (Chapter 9)
  10. 10Searching and sorting: linear search, bisection search, bubble, selection and merge sort, and the recursion they are written with
  11. 11Plotting with pyplot: the current figure, the format string, the five decorating calls, panels with subplot, and bar, pie and histogram charts
  12. 12Random walks: three small classes, one walk function, and the numbers and pictures that come out of running it many times
  13. 13Understanding experimental data: the least squares line, polyfit and polyval, the number that says how good a fit is, and why a better fit can be a worse model
  14. 14Review: the whole course as seven things the final can ask you to do
↑ daha iyi olması için: notların / çözümlerin / sınavların varsa "+ materyal paylaş", bir sonraki güncellemede yerini alır.

Paylaşılan materyaller

ödev31ders notu17midterm7final2diğer3

Bu materyalleri indiremezsin: ham dosyaları yayınlamıyoruz, burada indirilecek bir arşiv yok. Dosya adlarını da yazmıyoruz — yükleyenler anonim ama dosya adında isim geçebiliyor. Elimizde ne olduğunu göstermek için yalnız türlerini ve sayılarını basıyoruz: 259 parça. Yukarıdaki tür dağılımı bunların ilk 60 tanesinden sayıldı; kalan 199 parçanın türü bu sayfada dökülmüyor. Bunlardan çıkan ders notu bu sayfada: ders notu →

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

DönemDers ort.
2025-2026 Summer 2.23 1 şube · 49 öğr
2025-2026 Spring 2.32 8 şube · 338 öğr
2025-2026 Fall 2.40 8 şube · 441 öğr
2024-2025 Summer 2.53 1 şube · 63 öğr
2024-2025 Spring 2.47 6 şube · 322 öğr
2024-2025 Fall 2.49 8 şube · 465 öğr
2023-2024 Summer 2.70 1 şube · 58 öğr
2023-2024 Spring 2.02 6 şube · 337 öğr
2023-2024 Fall 2.34 8 şube · 451 öğr
2022-2023 Summer 2.73 1 şube · 53 öğr

Dersin dönem ortalaması, o dönemin bütün şubeleri birlikte. Kaynak STARS'ın ders değerlendirme raporu. Rapor yalnız kampüs ağından ya da Bilkent VPN ile açılıyor: CS 115 raporu · Bilkent VPN bilgisi. Öğrenci anket cevaplarını defter'de tutmuyoruz. Tüm derslerin ortalamaları →

Bu dönem · 2026-2027 Güz · 6 şube · 428 kontenjan · 0 boş

haftada 3 saat ders + 4 saat lab/uygulama

Haftalık ızgarada 8 saat görünüyor, kayıt sistemi dersi 7 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
Pzt08:30–12:20B-201Sal08:30–10:20EE-03Per13:30–15:20EE-03
0
kontenjan doldu
▾ 58 doldu · 21 gün
2
Pzt08:30–10:20EE-214Sal13:30–17:20B-201Çar13:30–15:20EE-214
0
kontenjan doldu
▾ 63 doldu · 21 gün
3
Pzt10:30–12:20EE-214Çar15:30–17:20EE-214Per13:30–17:20B-201
0
kontenjan doldu
▾ 62 doldu · 21 gün
4
Pzt13:30–17:20B-201Sal15:30–17:20EE-412Cum10:30–12:20EE-412
0
kontenjan doldu
▾ 20 doldu · 21 gün
5
Sal13:30–15:20EE-214Çar08:30–12:20B-303Cum08:30–10:20EE-214
0
kontenjan doldu
▾ 7 doldu · 21 gün
6
Pzt15:30–17:20EE-04Per10:30–12:20EE-04Cum08:30–12:20B-201
0
kontenjan doldu
▾ 9 doldu · 21 gün
Her dönem açılıyorSon yıllarda 8 güz ve 7 bahar döneminde açılmış. Yaz okulunda da 7 kez açılmış. Kaçırırsan bir sonraki dönem tekrar bulabilirsin.

⚠️ FZ engelleyen şartlar

No

Hocalar 2 bu dönem · 3 geçmiş

Bu dönem (2026-2027 Fall) · 6 section
Aynur Dayanık ×4, Mustafa Değerli ×2
Geçmişte ders veren (3 kişi)
İpek Sözen, Lori Rae Russell Dağ, Can Kültür

Bu ders 7 bölümün müfredatında zorunlu.

Elektrik-Elektronik Mühendisliği 1. sınıf Güz Endüstri Mühendisliği 2. sınıf Güz Fizik 2. sınıf Güz Kimya 2. sınıf Güz Makine Mühendisliği 1. sınıf Bahar Matematik 2. sınıf Güz Moleküler Biyoloji ve Genetik 2. sınıf Güz

Kutulardaki sınıf ve dönem, o bölümün müfredatının dersi hangi sırada önerdiği. Dersin fiilen hangi dönem açıldığı ayrı bir şey.

Bu ders 7 programın seçmeli havuzunda.

Computer Skills Core Elective Turizm ve Otel İşletmeciliği · havuzda 2 ders Computational Skills Core Elective Mimarlık · havuzda 7 ders Computing Methods Elective Psikoloji · havuzda 8 ders

ve 4 program daha.

Havuz listesi bölümün QME müfredatından; en küçük havuzlar önce yazılıyor, çünkü büyük "serbest seçmeli" havuzunda olmak dersi anlatmıyor. Seçmeli havuzunda olmak o dersi alabileceğin anlamına gelmez: ön koşul ve kontenjan ayrıca geçerli.

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

Aynı koddan diğer dersler · katalogda 78 CS dersi · CS nedir?