Bilgisayar Mühendisliği
Dersin Ayrıntıları

KTO KARATAY ÜNİVERSİTESİ
Mühendislik ve Doğa Bilimleri Fakültesi
Bilgisayar Mühendisliği Programı
Ders Bolognaları
Mühendislik ve Doğa Bilimleri Fakültesi
Bilgisayar Mühendisliği Programı
Ders Bolognaları

| Ders Kodu | Ders Adı | Yıl | Dönem | Yarıyıl | T+U+L | Kredi | AKTS |
|---|---|---|---|---|---|---|---|
| 05010011 | Introduction to Algorithms | 2025 | Güz | 1 | 3+0+0 | 3 | 6 |
| Dersin Türü | Zorunlu |
| Dersin Düzeyi | Lisans (TYYÇ: 6. Düzey / QF-EHEA: 1. Düzey / EQF-LLL: 6. Düzey) |
| Dersin Dili | Türkçe |
| Yöntem ve Teknikler | 1. Teorik Anlatım: Konular ders kapsamında teorik olarak anlatılır. Öğrenciler ileri seviye programlamanın kavramlarını, bellek yönetimini ve gelişmiş algoritmaların mantığını kavrayabilmeleri için konu anlatımları dinler. 2. Uygulamalı Çalışmalar: Öğrenciler, teorik olarak anlatılan konuların uygulamasını yapmak için ders eğitmeni mentorlüğünde çeşitli örneklerle laboratuvar çalışmaları gerçekleştirir. Kodlama pratikleri ile belirlenen kazanımlar elde edilmeye çalışılır. 3. Adım Adım Çözümleme: Özellikle işaretçi (pointer) odaklı problemler ve karmaşık veri yapıları adım adım çözülerek, bellekteki durumlar ve her adımın nasıl işlediği açıklanır. Bu yöntemle öğrencilerin konulara daha hakim olması sağlanır. 4. Gerçek Hayat Örnekleri: Konuların daha iyi anlaşılması için gerçek hayattan sistem programlama ve mühendislik problem senaryoları sunulur. Böylece öğrenciler öğrendiklerini pratikte nasıl kullanacağını görür. 5. Laboratuvar Föyleri ve Quizler: Haftalık laboratuvar föyleri ve sınav öncesi quizler ile öğrencilerin ilerlemesi değerlendirilir, konuların anlaşılıp anlaşılmadığı sürekli olarak takip edilir. |
| Dersin Veriliş Şekli | Yüz Yüze |
| Ön Koşullar | Dersin herhangi bir ön koşulu bulunmamaktadır. Tüm öğrencilere temel seviyeden başlanarak eğitim verilmektedir. |
| Dersin Koordinatörü | - |
| Dersi Veren(ler) | Dr. Öğr. Üyesi Atakan DAŞDEMİR |
| Yardımcı(lar) | - |
Dersin Öğretim Eleman(lar)ı
| Adı Soyadı | Oda No. | E-Posta Adresi | Dahili | Görüşme Saatleri |
|---|---|---|---|---|
| Dr. Öğr. Üyesi Şekip Engin MENDİ | A-123 | [email protected] | 7244 | Perşembe 14:00-15:00 |
Dersin İçeriği
1 Kontrol Yapıları ,Döngüler
2 Fonksiyonlar, Diziler
3 Pointer ve Diziler/Stringler, Struct pointer, Function pointers
4 Dinamik Bellek Yönetimi
5 Struct, Union, typedef, enum
6 Modüler programlama + derleme + header guard + (preprocessor temeli)
7 Dosya İşlemleri
8 Recursion, Linked Structures Giriş
9 Linked Structures
10 Arama, Sıralama Algoritmaları
11 Preprocessor ve Bit Operations
12 OOP Tanıtım
2 Fonksiyonlar, Diziler
3 Pointer ve Diziler/Stringler, Struct pointer, Function pointers
4 Dinamik Bellek Yönetimi
5 Struct, Union, typedef, enum
6 Modüler programlama + derleme + header guard + (preprocessor temeli)
7 Dosya İşlemleri
8 Recursion, Linked Structures Giriş
9 Linked Structures
10 Arama, Sıralama Algoritmaları
11 Preprocessor ve Bit Operations
12 OOP Tanıtım
Dersin Amacı
Dersin amacı; öğrencilerin C programlama dilindeki temel bilgilerini pekiştirerek, ileri seviye programlama tekniklerini ve düşük seviyeli bellek yönetimini kavramalarını sağlamaktır. Öğrenciler; işaretçiler (pointers), dinamik bellek ayırma ve veri yapılarına giriş konularında yetkinlik kazanarak, karmaşık mühendislik problemlerini çözme ve donanıma daha yakın, verimli kod geliştirme becerilerini edineceklerdir. Ayrıca, modüler programlama mantığıyla yazılım geliştirme sürecinin temel yapı taşlarını ve farklı modüllerin entegrasyonunu öğreneceklerdir.
Dersin Alan Öğretimini Sağlamaya Yönelik Katkısı
| Temel Meslek Dersleri | X |
| Uzmanlık / Alan Dersleri | |
| Destek Dersleri | |
| Aktarılabilir Beceri Dersleri | |
| Beşeri, İletişim ve Yönetim Becerileri Dersleri |
Dersin Öğrenim Kazanımlarının Program Kazanımları ile Olan İlişkileri
| İlişki Düzeyleri | ||||
| En Düşük | Düşük | Orta | Yüksek | En Yüksek |
| 1 | 2 | 3 | 4 | 5 |
| # | Program Yeterlilikleri | Düzey |
|---|---|---|
| P1 | Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi | 5 |
| P2 | Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi | 5 |
| P3 | Karmaşık bir sistemi, süreci, cihazı veya ürünü 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 | 5 |
Dersin Öğrenim Kazanımları
| Bu dersin başarılı bir şekilde tamamlanmasıyla öğrenciler şunları yapabileceklerdir: | |||
|---|---|---|---|
| No | Öğrenme Çıktıları | Prog. Yet. İlişkisi | Ölçme Yöntemi ** |
| Ö1 | Mühendislik problemlerinin matematiksel modellerini oluşturulur ve bunları simüle edilir | P.1.6 | 1,4 |
| Ö2 | Algoritma tasarımı ve analiz teknikleri bilgisi. | P.2.5 | 1 |
| Ö3 | Bilgisayarın ve mikroişlemcinin temel öğeleri ve doğru bileşeni seçebilme bilgisi. | P.3.2 | 1 |
| Ö4 | En az bir nesne yönelimli programlama dilinin öğrenilmesi. | P.3.3 | |
| Ö5 | Yazılım geliştirme platformlarının bilgisi ve kullanımı. | P.3.5 | 4 |
| Ö6 | Mikroişlemcilerde kontrol algoritmalarının yazılması. | P.3.22 | 4 |
| ** Yazılı Sınav: 1, Sözlü Sınav: 2, Ev Ödevi: 3, Lab./Sınav: 4, Seminer/Sunum: 5, Dönem Ödevi: 6, Uygulama: 7 | |||
Dersin Haftalık İçeriği
| Hafta | Konu |
|---|---|
| 1 | Yinelemeli ve özyineli programlama teknikleri |
| 2 | İşlevler ve parametre geçişi |
| 3 | İşaretçiler ve dinamik depolama alanı |
| 4 | Çok boyutlu arryalar |
| 5 | Kayıt yapıları |
| 6 | Dosya sistemleri ve dosya işleme |
| 7 | Belgeler ve test |
| 8 | Nesne yönelimli programlamaya giriş |
| 9 | Operatörün aşırı yüklenmesi |
| 10 | Kalıtım, çok kalıtım, soyut temel sınıf, polimorfizm |
| 11 | Satır İçi İşlevler, İç İçe ve Yerel Sınıf Tanımları |
| 12 | İstisna işleme |
| 13 | Çok yönlü programlar |
| 14 | Şablon, standart şablon kütüphanesi (stl) |
Ders Kitabı veya Malzemesi
| Kaynaklar | Robert Lafore, Object Oriented Programming in C++, Sams, 2001 |
Değerlendirme Yöntemi ve Geçme Kriterleri
| Yarıyıl Çalışmaları | Sayısı | Katkı (%) |
|---|---|---|
| Devam | - | - |
| Laboratuvar | - | - |
| Uygulama | 5 | 20 (%) |
| Derse Özgü Staj (Varsa) | - | - |
| Ödev | - | - |
| Sunum | - | - |
| Projeler | - | - |
| Kısa sınav (Quiz) | - | - |
| Ara Sınavlar | 1 | 30 (%) |
| Yarıyıl Sonu Sınavı | 1 | 50 (%) |
| Toplam | 100 (%) | |
AKTS / Çalışma Yükü Tablosu
| Etkinlik | Sayı | Süre | Toplam İş Yükü (Saat) |
|---|---|---|---|
| Ders Hafta Sayısı ve Saati | 14 | 3 | 42 |
| Sınıf Dışı Ders Çalışma Süresi (Ön çalışma, Kütüphane, Pekiştirme) | 14 | 3 | 42 |
| Ara Sınav | 1 | 30 | 30 |
| Kısa Sınav | 0 | 0 | 0 |
| Ödev | 0 | 0 | 0 |
| Uygulama | 0 | 0 | 0 |
| Laboratuvar | 5 | 14 | 70 |
| Proje | 0 | 0 | 0 |
| Atölye | 0 | 0 | 0 |
| Sunum/Seminer Hazırlama | 0 | 0 | 0 |
| Alan Çalışması | 0 | 0 | 0 |
| Dönem Sonu Sınavı | 1 | 30 | 30 |
| Diğer | 0 | 0 | 0 |
| Toplam İş Yükü: | 214 | ||
| Toplam Yük / 30 | 7,13 | ||
| Dersin AKTS Kredisi: | 7 | ||
Ders - Öğrenme Çıktıları İlişkisi
| İlişki Düzeyleri | ||||
| En Düşük | Düşük | Orta | Yüksek | En Yüksek |
| 1 | 2 | 3 | 4 | 5 |
| # | Öğrenme Çıktıları | P1 | P2 | P3 |
|---|---|---|---|---|
| Ö1 | Mühendislik problemlerinin matematiksel modellerini oluşturulur ve bunları simüle edilir | 2 | - | - |
| Ö2 | Algoritma tasarımı ve analiz teknikleri bilgisi. | - | 1 | - |
| Ö3 | Bilgisayarın ve mikroişlemcinin temel öğeleri ve doğru bileşeni seçebilme bilgisi. | - | - | 3 |
| Ö4 | En az bir nesne yönelimli programlama dilinin öğrenilmesi. | - | - | 4 |
| Ö5 | Yazılım geliştirme platformlarının bilgisi ve kullanımı. | - | - | 2 |
| Ö6 | Mikroişlemcilerde kontrol algoritmalarının yazılması. | - | - | 1 |
