Algoritma ve İleri Bilgisayar Programlama(INF114)
Ders Kodu | Dersin Adı | Yarıyıl | Teori | Uygulama | Lab | Kredisi | AKTS |
---|---|---|---|---|---|---|---|
INF114 | Algoritma ve İleri Bilgisayar Programlama | 2 | 3 | 0 | 2 | 4 | 5 |
Ön Koşul | |
Derse Kabul Koşulları |
Dersin Dili | Fransızca |
Türü | Zorunlu |
Dersin Düzeyi | Lisans |
Dersi Veren(ler) | Pınar ULUER puluer@gsu.edu.tr (Email) |
Dersin Yardımcıları | Şükrü Demir İnan ÖZER (Email) İsmail Ozan ÇELİKEL (Email) |
Dersin Amacı | Bu derste birinci dönemdeki Programlamaya Giriş dersinde işlenen temel kavramlar hakkındaki bilgiler pekiştirilir. Derste özellikle, göstericiler, dinamik bellek tahsisi ve yönetimi, algoritma analizine ve temel veri yapıları konuları üzerinde durulur. Ders uygulamalarında C programlama dili ve Linux işletim sistemi kullanılır. |
İçerik |
- Giriş ve C programlama dili hatırlatmalar - Dinamik bellek yönetimi - Bağlı listeler - Yığın ve kuyruk yapıları - Algoritma analizi - Temel prensipler: Özyineleme ve tekrarlama, arama, böl ve yönet yaklaşımı - Sıralama algoritmaları - Algoritma tasarımı ve uygulamaları |
Dersin Öğrenme Çıktıları |
Bu dersi başarıyla tamamlayan öğrenci aşağıdaki konularda yeterliliğe sahip olacaktır: 1. Algoritma tasarlayabilme becerisi, 2. İleri C programlama yeteneği, 3. Bellek yönetimi yetisi, 4. Algoritma Analizi Yöntemlerini kullanabilme ve aralarındaki farkları açıklama yetisi, 5. Arama ve Sıralama Algoritmaları hatırlayabilme ve problemlere uygulama becerisi, 6. Temel Veri Yapılarını hatırlayabilme ve problemlere uygulama becerisi |
Öğretim Yöntemleri | Konu anlatımı, tartışma, soru-cevap, problem çözümü, uygulama ve proje |
Kaynaklar |
Algorithms, Robert Sedgewick and Kevin Wayne, Pearson, 2011 The Algorithm Design Manual, Steven S. Skiena, Springer, 2008 Introduction to Algorithms, Cormen, Leiserson, Rivest & Stein, MIT Press, 2009 Understanding and Using C Pointers, Richard Reese, O’Reilly Media, 2013 |
Teori Konu Başlıkları
Hafta | Konu Başlıkları |
---|---|
1 | Giriş ve C Programlama Dili Üzerine Hatırlatmalar |
2 | Dinamik Bellek Yönetimi |
3 | Bağlı Listeler |
4 | Bağlı Liste İşlemleri |
5 | Yığın ve Kuyruk Yapıları |
6 | Algoritma Analizine Giriş |
7 | Büyük O Gösterimi |
8 | Vize haftası |
9 | Temel Prensipler : Özyinelemeli ve Tekrarlamalı Fonksiyonlar |
10 | Temel Prensipler : Arama, Böl ve Yönet |
11 | Basit Sıralama Algoritmaları |
12 | Sıralama Algoritmaları ve Analizi |
13 | Algoritma Tasarımı |
14 | Algoritma Tasarımı |
Uygulama Konu Başlıkları
Hafta | Konu Başlıkları |
---|---|
1 | Giriş ve C Programlama Dili Üzerine Hatırlatmalar |
2 | Dinamik Bellek Yönetimi |
3 | Bağlı Listeler |
4 | Bağlı Liste İşlemleri |
5 | Yığın ve Kuyruk Yapıları |
6 | Algoritma Analizine Giriş |
7 | Büyük O Gösterimi |
8 | Vize haftası |
9 | Temel Prensipler : Özyinelemeli ve Tekrarlamalı Fonksiyonlar |
10 | Temel Prensipler : Arama, Böl ve Yönet |
11 | Basit Sıralama Algoritmaları ile Uygulamalar |
12 | Sıralama Algoritmaları ve Analizi ve Uygulamaları |
13 | Algoritma Tasarımı |
14 | Proje Sunumları |
Başarı Notuna Etki Oranları
Sayı | Katkı Payı | |
---|---|---|
Yarıyıl içi çalışmaların başarı notuna katkısı | 0 | 60 |
Yarıyıl sonu çalışmaların başarı notuna katkısı | 0 | 40 |
Toplam | 0 | 100 |
Yarıyıl İçi Çalışmaları
Sayı | Katkı Payı | |
---|---|---|
Ödevler | 0 | 0 |
Sunum | 0 | 0 |
Arasınavlar (Hazırlık Süresi Dahil) | 1 | 30 |
Proje | 1 | 10 |
Laboratuar | 10 | 10 |
Diğer Uygulamalar | 0 | 0 |
Kısa Sınavlar | 5 | 10 |
Dönem Ödevi / Projesi | 0 | 0 |
Portfolyo Çalışmaları | 0 | 0 |
Raporlar | 0 | 0 |
Öğrenme Günlükleri | 0 | 0 |
Bitirme Tezi/Projesi | 0 | 0 |
Seminer | 0 | 0 |
Diğer | 0 | 0 |
Bütünleme | 0 | 0 |
Toplam | 17 | 60 |
Numara | Program Yeterlilikleri | Puan | ||||
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
1 | Matematik, fizik ve mühendislik bilimlerine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, mühendislik problemlerinin modellenmesi ve çözümünde kullanabilme becerisi. | X | ||||
2 | Karmaşık bilgisayar mühendisliği problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi. | X | ||||
3 | Yazılımsal veya donanımsal karmaşık bir sistemi, süreci veya donanımı gerçekçi kısıtlar ve koşullar altında, belirli gereksinimleri karşılayacak şekilde tasarlama becerisi; bu amaçla modern tasarım yöntemlerini uygulama becerisi. | X | ||||
4 | Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi. | X | ||||
5 | Analitik düşünce ile bir sistemi, sistem bileşenini ya da süreci analiz etme, modelleme, deney tasarlama ve yapma, veri toplama, çözüm algoritmaları üretebilme, uygulamaya alma ve geliştirme becerileri. | X | ||||
6 | Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi. | X | ||||
7 | Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az iki yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, yazılım ve donanım tasarımını, gerekirse teknik resim metotları kullanarak raporlayabilme, etkin sunum yapabilme becerisi. | X | ||||
8 | Bilgiye erişebilme ve bu amaçla kaynak araştırması yapabilme, veri tabanları ve diğer bilgi kaynaklarını kullanabilme becerisi | X | ||||
9 | Yaşam boyu öğrenmenin gerekliliği bilinci; kendini sürekli yenileme becerisi. | X | ||||
10 | Mesleki etik ilkelerine uygun davranma, mesleki sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi. | |||||
11 | Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi. | |||||
12 | Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi. | X | ||||
13 | Bilgisayar mühendisliği uygulamalarının hukuki ve etik boyutları konusunda farkındalık. |
Etkinlikler | Sayı | Süre | Toplam İş Yükü |
---|---|---|---|
Ders Süresi | 14 | 3 | 42 |
Sınıf Dışı Çalışma Süresi | 0 | 0 | 0 |
Ödevler | 5 | 2 | 10 |
Sunum | 0 | 0 | 0 |
Arasınavlar (Hazırlık Süresi Dahil) | 1 | 10 | 10 |
Proje | 1 | 10 | 10 |
Laboratuar | 14 | 2 | 28 |
Diğer Uygulamalar | 0 | 0 | 0 |
Yarıyıl Sonu Sınavı (Hazırlık Süresi Dahil) | 1 | 10 | 10 |
Kısa Sınavlar | 5 | 1 | 5 |
Dönem Ödevi / Projesi | 0 | 0 | 0 |
Portfolyo Çalışmaları | 0 | 0 | 0 |
Raporlar | 0 | 0 | 0 |
Öğrenme Günlükleri | 0 | 0 | 0 |
Bitirme Tezi/Projesi | 0 | 0 | 0 |
Seminer | 0 | 0 | 0 |
Diğer | 0 | 0 | 0 |
Bütünleme | 0 | 0 | 0 |
Toplam İş Yükü | 115 | ||
Toplam İş Yükü / 25 | 4.60 | ||
Dersin AKTS Kredisi | 5 |