BIL101 Algoritma ve Programlamaya Girişİstinye ÜniversitesiAkademik Programlar Bilgisayar ProgramcılığıÖğrenciler için Genel BilgiDiploma EkiErasmus BeyanıUlusal Yeterlilikler
Bilgisayar Programcılığı

Önizleme

Önlisans TYYÇ: 5. Düzey QF-EHEA: Kısa Düzey EQF-LLL: 5. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: BIL101
Ders İsmi: Algoritma ve Programlamaya Giriş
Ders Yarıyılı: Güz
Ders Kredileri:
AKTS
5
Öğretim Dili:
Ders Koşulu:
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Zorunlu
Dersin Seviyesi:
Önlisans TYYÇ:5. Düzey QF-EHEA:Kısa Düzey EQF-LLL:5. Düzey
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Öğr. Gör. AHMET SELİM ÖVER
Dersi Veren(ler): Öğr. Gör. Mustafa Koçal
Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Dersin Amacı Bu ders, Python programlama dili kullanılarak, bilgisayar programcılığında çok az ya da hiç deneyime sahip olmayan öğrencileri bilişimsel düşünmeye ve bunun yanı sıra yazılım geliştirmeye hazırlamayı hedefleyen bir derstir. Derste Python dillerin oluşturan öğelerin yanı sıra programlama mantığını ve yazılım geliştirmenin temelleri de öğretilecektir.
Dersin İçeriği: Temel bilgisayar kavramları, Programlamanın temelleri, Değişkenler, İfadeler, Fonksiyonlar, Şartlı ifadeler, Özyineleme, Bereketli fonksiyonlar, Tekrarlamalar, Döngüler, Sicimler, Listeler, Sözlükler, Tanımlama grupları.

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
1) Temel bilgisayar ve programlama kavramlarını öğrenir.
2) Bilimsel düşünme yeteneği kazanır.
3) Bilgisayar programlamanın temellerini öğrenir.
4) Bilişimsel problemleri anlar.
5) Problemleri bilgisayar yardımıyla çözme becerileri edinir.
6) Python programlama diliyle programlama tekniklerini öğrenir.
7) Algoritmik yaklaşım geliştirme becerisi edinir.

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) Dersin tanıtımı, öğretim elemanıyla tanışma, temel bilgisayar kavramları (Merkezi işlem birimi, hafıza, yedekleme, işletim sistemi, algoritma, yazılım, programlama ve Piazza ile tanışma, vs.). 1
2) Programlamanın temelleri, değişkenler, ifadeler, deyimler. 1,3
3) Programlamanın temelleri, değişkenler, ifadeler, deyimler (devam). 1,3,4
4) Fonksiyonlar 2,3,4
5) Fonksiyonlar (devam). 2,3,4
6) Şartlı ifadeler, recursion (özyineleme). 2,5,6
7) Bereketli fonksiyonlar. 2,5,6
8) Ara Sınavı 1-7. Haftalar
9) Tekrarlamalar, döngüler. 4,5,6,7
10) Tekrarlamalar, döngüler (devam). 4,5,6,7
11) Listeler, Sözlükler, Tanımlama Grupları (Tuples). 6,7
12) Listeler, Sözlükler, Tanımlama Grupları (Tuples) (devam) 6,7
13) Vaka çalışması: doğru veri yapısı seçimi. 5,6,7
14) Veri yapıları 2,4,5,7
15) Final sınavı 1-14. Haftalar

Kaynaklar

Ders Notları / Kitaplar: Think Python, 2nd Edition, How to Think Like a Computer Scientist, Allen Downey, Green Tea Press (2015).
Diğer Kaynaklar: (Yardımcı Kitap) Her Yönüyle Python, 5. Baskı, Fırat Özgül, Kodlab, 2017.

(Auxiliary Book) Her Yönüyle Python, 5. Baskı, Fırat Özgül, Kodlab, 2017.

Ders - Program Öğrenme Kazanım İlişkisi

Course Learning Outcomes

1

2

3

4

5

6

7

Program Kazanımları
1) Problem çözme ve analitik düşünme yeteneklerini kazanır. 3 2 2 3 2 2 2
2) Bilgisayar programlama, donanım ve yazılım temellerini, temel bilgisayar kavramlarını öğrenir. 2 2 2 3 2 1 2
3) Problemlere göre algoritmalar geliştirir, temel algoritmalardan problemine uygun olanları ayırt etme becerisi kazanır. 2 2 2 2 2 2 1
4) Nesneye yönelik programlama konseptini ve web programlamayı kavrar. 2 2 2 2 2 2 2
5) Sayı tabanı sistemleri, temel elektronik ve bilgisayar donanımı bilgisini öğrenir. 3 2 3 3 3 3 3
6) Mobil programlama becerisi edinir, mobil platformlar için uygulamalar geliştirir. 3 2 1 2 3 3 3
7) Veritabanı tasarım ve kodlamasını yapar. 3 2 2 1 1 3 2
8) Bilgisayar ağları, açık kaynak kodlu işletim sistemleri programlamayı ve kullanmayı öğrenir. 2 2 1 2 3 2 3
9) İngilizce dilini etkin bir biçimde kullanır. 2 2 2 3 3 3 3
10) Programlamanın ihtiyaçlarına göre uygun veri yapıları kullanmayı öğrenir. 3 3 3 1 3 2 3
11) Bireysel ya da takım olarak yazılım geliştirir. 3 3 3 3 3 3 2
12) Alanındaki gelişmeleri, son teknoloji araçlarını/uygulamalarını takip eder. 2 3 3 2 3 3 2
13) Mesleki ve etik sorumluluk bilinci kazanır, meslek etiği farkındalığına sahiptir. 2 2 2 3 3 2 3

Ders - Öğrenme Kazanımı İlişkisi

Etkisi Yok 1 En Düşük 2 Orta 3 En Yüksek
       
Dersin Program Kazanımlarına Etkisi Katkı Payı
1) Problem çözme ve analitik düşünme yeteneklerini kazanır. 3
2) Bilgisayar programlama, donanım ve yazılım temellerini, temel bilgisayar kavramlarını öğrenir. 3
3) Problemlere göre algoritmalar geliştirir, temel algoritmalardan problemine uygun olanları ayırt etme becerisi kazanır. 3
4) Nesneye yönelik programlama konseptini ve web programlamayı kavrar. 3
5) Sayı tabanı sistemleri, temel elektronik ve bilgisayar donanımı bilgisini öğrenir. 3
6) Mobil programlama becerisi edinir, mobil platformlar için uygulamalar geliştirir. 3
7) Veritabanı tasarım ve kodlamasını yapar. 3
8) Bilgisayar ağları, açık kaynak kodlu işletim sistemleri programlamayı ve kullanmayı öğrenir. 3
9) İngilizce dilini etkin bir biçimde kullanır. 3
10) Programlamanın ihtiyaçlarına göre uygun veri yapıları kullanmayı öğrenir. 3
11) Bireysel ya da takım olarak yazılım geliştirir. 3
12) Alanındaki gelişmeleri, son teknoloji araçlarını/uygulamalarını takip eder. 3
13) Mesleki ve etik sorumluluk bilinci kazanır, meslek etiği farkındalığına sahiptir. 3

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Küçük Sınavlar 1 % 15
Ara Sınavlar 1 % 35
Final 1 % 50
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 50
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 50
Toplam % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı Aktiviteye Hazırlık Aktivitede Harçanan Süre Aktivite Gereksinimi İçin Süre İş Yükü
Ders Saati 3 12 1 39
Küçük Sınavlar 1 15 1 16
Ara Sınavlar 1 25 2 27
Final 1 40 2 42
Toplam İş Yükü 124