BİLGİSAYAR MÜHENDİSLİĞİ | |||||
---|---|---|---|---|---|
Kazanılan Yeterlilik | Program Süresi | Toplam Kredi (AKTS) | Öğretim Şekli | Yeterliliğin Düzeyi ve Öğrenme Alanı | |
4 | 240 | FULL TIME |
TYÇ, TYYÇ, EQF-LLL, ISCED (2011):6. Düzey QF-EHEA:1. Düzey TYYÇ, ISCED (1997-2013): 48,52 |
Ders Kodu: | 1410211011 | ||||||||||
Ders İsmi: | Veri Yapıları | ||||||||||
Ders Yarıyılı: | Güz | ||||||||||
Ders Kredileri: |
|
||||||||||
Öğretim Dili: | TR | ||||||||||
Ders Koşulu: | |||||||||||
Ders İş Deneyimini Gerektiriyor mu?: | Hayır | ||||||||||
Ders İçin Önerilen Diğer Hususlar: | yoktur | ||||||||||
Dersin Türü: | Zorunlu | ||||||||||
Dersin Seviyesi: |
|
||||||||||
Dersin Veriliş Şekli: | Yüz yüze | ||||||||||
Dersin Koordinatörü: | Dr.Öğr.Üyesi Recep DURANAY | ||||||||||
Dersi Veren(ler): |
|
||||||||||
Dersin Yardımcıları: |
Dersin Amacı: | Algoritmalar ve Veri Yapıları Kavramlarını Öğretmek: Öğrencilere temel algoritma ve veri yapıları kavramlarını öğretmek, bu yapıların nasıl kullanıldığını anlamalarını sağlamak. Problem Çözme Becerilerini Geliştirmek: Algoritmalar ve veri yapıları yardımıyla daha verimli problem çözme yollarını geliştirmek. Verimli Kod Yazmayı Teşvik Etmek: Bellek ve zaman verimliliğini optimize eden veri yapıları kullanarak etkili kod yazmayı öğretmek. Teorik Bilgiyi Uygulama Yeteneği Kazandırmak: Teorik bilgi ve kavramları yazılım geliştirme süreçlerinde uygulama yeteneğini kazandırmak. |
Dersin İçeriği: | Giriş ve Temel Kavramlar: Algoritmaların temelleri Zaman ve uzay karmaşıklığı Big-O notasyonu Basit Veri Yapıları: Diziler (arrays) ve bağıl listeler (linked lists) Yığınlar (stacks) ve kuyruklar (queues) Bağlantılı veri yapıları (singly/doubly linked lists) Ağaçlar (Trees): İkili ağaçlar (binary trees) İkili arama ağaçları (binary search trees) AVL ağaçları Kırmızı-Siyah Ağaçları (Red-Black Trees) B ağaçları Graf Yapıları (Graphs): Temel grafik kavramları (vertices, edges) Derinlik öncelikli arama (DFS) ve genişlik öncelikli arama (BFS) Ağırlıklı graf ve en kısa yol algoritmaları (Dijkstra, Bellman-Ford) Hash Tabloları: Hash fonksiyonları ve çarpışma çözümleme yöntemleri Zincirleme ve open addressing yöntemleri Sıralama ve Arama Algoritmaları: Sıralama algoritmaları (selection sort, bubble sort, merge sort, quicksort) Arama algoritmaları (linear search, binary search) Kuyruk Yapıları ve Öncelikli Kuyruklar: Öncelikli kuyruk (priority queue) İkili yığınlar (binary heaps) Dinamik Bellek Yönetimi: Bellek ayırma ve boşaltma Çöp toplayıcılar (garbage collection) |
Bu dersi başarıyla tamamlayabilen öğrenciler;
|
Hafta | Konu | Ön Hazırlık |
1) | Introduction to Algorithms and Data Structures | yok |
1) | Introduction to Algorithms and Data Structures | yok |
2) | Diziler ve Bağlı Listeler | yok |
3) | Yığınlar ve Kuyruklar | yok |
4) | Recursion and Applications | yok |
5) | Ağaçlar: Temel Kavramlar ve İkili Ağaçlar | yok |
6) | İkili Arama Ağaçları (BST) | yok |
7) | Dengeli Ağaçlar: AVL ve Kırmızı-Siyah Ağaçlar | yok |
8) | vize | |
9) | Hash Tabloları | |
10) | Yığınlar (Heap) ve Öncelikli Kuyruklar | |
11) | Grafikler: Temsil ve Gezinme | |
12) | En Kısa Yol Algoritmaları | |
13) | Sıralama Algoritmaları | |
14) | Dinamik Bellek Yönetimi | |
15) | Final Projesi ve Gözden Geçirme | |
16) | Final |
Ders Notları / Kitaplar: | "Veri Yapıları ve Algoritmalar" – Aydın Afşar Bu kitap, özellikle Türkçe kaynak arayan öğrenciler için algoritmalar ve veri yapıları konusunda kapsamlı bir rehber sunar. Her konu detaylı bir şekilde açıklanmıştır. "Algoritmalar ve Programlama" – Adil Alpkoçak Algoritma geliştirme ve veri yapıları ile ilgili temel konuları işleyen bu kitap, C ve Java gibi programlama dilleri üzerinden örnekler sunar. "Veri Yapıları ve Çözümlü Algoritmalar" – Aydın Öztürk |
Diğer Kaynaklar: | "Introduction to Algorithms" – Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein Bu kitap (kısaca "CLRS" olarak bilinir), üniversitelerde veri yapıları ve algoritmalar konusunda en çok kullanılan kaynaklardan biridir. Temel ve ileri düzey veri yapılarını geniş bir kapsamda ele alır. "Data Structures and Algorithms in Java" – Michael T. Goodrich, Roberto Tamassia Java programlama dili üzerinden veri yapıları ve algoritmalar konusuna odaklanan bir kitaptır. Java bilen öğrenciler için uygundur. "Algorithms, 4th Edition" – Robert Sedgewick, Kevin Wayne Algoritmalar ve veri yapıları konusunda kapsamlı ve iyi yapılandırılmış bir kaynak. Çeşitli sıralama, arama, grafik algoritmalarını ve veri yapılarını ele alır. "Data Structures and Algorithm Analysis in C" – Mark Allen Weiss |
Ders Öğrenme Kazanımları | 1 |
2 |
6 |
3 |
4 |
8 |
5 |
7 |
9 |
|||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Program Kazanımları | ||||||||||||||||||||||||||||||
1) 1.1 Matematik ve fen bilimleri gibi konularda yeterli bilgi birikimi | ||||||||||||||||||||||||||||||
2) 1.2 Matematik, fen bilimleri ve bilgisayar mühendisliği konularında kuramsal ve uygulamalı bilgileri mühendislik problemlerini modelleme ve çözme için uygulayabilme becerisi. | ||||||||||||||||||||||||||||||
3) 1.3 Matematik ve fen bilimleri gibi alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi | ||||||||||||||||||||||||||||||
4) 2.1 Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi | ||||||||||||||||||||||||||||||
5) 2.2 Bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi | ||||||||||||||||||||||||||||||
6) 3.1 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 | ||||||||||||||||||||||||||||||
7) 3.2 Bu amaçla modern tasarım yöntemlerini uygulama becerisi | ||||||||||||||||||||||||||||||
8) 4.1 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 | ||||||||||||||||||||||||||||||
9) 4.2 Bilişim teknolojilerini etkin bir şekilde kullanma becerisi | ||||||||||||||||||||||||||||||
10) 5.1 Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama becerisi | ||||||||||||||||||||||||||||||
11) 5.2 Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney yapma becerisi | ||||||||||||||||||||||||||||||
12) 5.3 Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için veri toplama becerisi | ||||||||||||||||||||||||||||||
13) 5.4 Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney sonuçlarını analiz etme ve yorumlama becerisi | ||||||||||||||||||||||||||||||
14) 6.1 Disiplin içi bireysel çalışma becerisi | ||||||||||||||||||||||||||||||
15) 6.2 Disiplin içi takımlarda etkin biçimde çalışabilme becerisi | ||||||||||||||||||||||||||||||
16) 6.3 Çok disiplinli takımlarda etkin biçimde çalışabilme becerisi | ||||||||||||||||||||||||||||||
17) 7.1 Türkçe sözlü ve yazılı etkin iletişim kurma ve sunum yapabilme becerisi | ||||||||||||||||||||||||||||||
18) 7.2 En az bir yabancı dil bilgisi | ||||||||||||||||||||||||||||||
19) 7.3 Etkin rapor yazma ve yazılı raporları anlama becerisi | ||||||||||||||||||||||||||||||
20) 7.4 Tasarım ve üretim raporları hazırlayabilme becerisi | ||||||||||||||||||||||||||||||
21) 7.5 Açık ve anlaşılır talimat verme ve alma becerisi | ||||||||||||||||||||||||||||||
22) 8.1 Yaşam boyu öğrenmenin gerekliği bilinci | ||||||||||||||||||||||||||||||
23) 8.2 Bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi | ||||||||||||||||||||||||||||||
24) 9.1 Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci | ||||||||||||||||||||||||||||||
25) 9.2 Mühendislik uygulamalarında kullanılan standartlar hakkında bilgi | ||||||||||||||||||||||||||||||
26) 10.1 Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi | ||||||||||||||||||||||||||||||
27) 10.2 Girişimcilik, yenilikçilik hakkında farkındalık | ||||||||||||||||||||||||||||||
28) 10.3 Sürdürülebilir kalkınma hakkında bilgi | ||||||||||||||||||||||||||||||
29) 11.1 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 | ||||||||||||||||||||||||||||||
30) 11.2 Mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık | ||||||||||||||||||||||||||||||
31) 12.1 Ayrık matematik konusunda bilgi sahip olmak |
Etkisi Yok | 1 En Düşük | 2 Düşük | 3 Orta | 4 Yüksek | 5 En Yüksek |
Dersin Program Kazanımlarına Etkisi | Katkı Payı | |
1) | 1.1 Matematik ve fen bilimleri gibi konularda yeterli bilgi birikimi | 3 |
2) | 1.2 Matematik, fen bilimleri ve bilgisayar mühendisliği konularında kuramsal ve uygulamalı bilgileri mühendislik problemlerini modelleme ve çözme için uygulayabilme becerisi. | 3 |
3) | 1.3 Matematik ve fen bilimleri gibi alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi | |
4) | 2.1 Karmaşık mühendislik problemlerini saptama, tanımlama, formüle etme ve çözme becerisi | |
5) | 2.2 Bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi | |
6) | 3.1 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 | |
7) | 3.2 Bu amaçla modern tasarım yöntemlerini uygulama becerisi | |
8) | 4.1 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 | |
9) | 4.2 Bilişim teknolojilerini etkin bir şekilde kullanma becerisi | 4 |
10) | 5.1 Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama becerisi | |
11) | 5.2 Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney yapma becerisi | |
12) | 5.3 Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için veri toplama becerisi | |
13) | 5.4 Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney sonuçlarını analiz etme ve yorumlama becerisi | |
14) | 6.1 Disiplin içi bireysel çalışma becerisi | 3 |
15) | 6.2 Disiplin içi takımlarda etkin biçimde çalışabilme becerisi | |
16) | 6.3 Çok disiplinli takımlarda etkin biçimde çalışabilme becerisi | |
17) | 7.1 Türkçe sözlü ve yazılı etkin iletişim kurma ve sunum yapabilme becerisi | |
18) | 7.2 En az bir yabancı dil bilgisi | |
19) | 7.3 Etkin rapor yazma ve yazılı raporları anlama becerisi | |
20) | 7.4 Tasarım ve üretim raporları hazırlayabilme becerisi | 3 |
21) | 7.5 Açık ve anlaşılır talimat verme ve alma becerisi | 3 |
22) | 8.1 Yaşam boyu öğrenmenin gerekliği bilinci | 4 |
23) | 8.2 Bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi | |
24) | 9.1 Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci | |
25) | 9.2 Mühendislik uygulamalarında kullanılan standartlar hakkında bilgi | |
26) | 10.1 Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi, iş hayatındaki uygulamalar hakkında bilgi | |
27) | 10.2 Girişimcilik, yenilikçilik hakkında farkındalık | |
28) | 10.3 Sürdürülebilir kalkınma hakkında bilgi | |
29) | 11.1 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 | |
30) | 11.2 Mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık | |
31) | 12.1 Ayrık matematik konusunda bilgi sahip olmak |
Ders | |
Ödev |
Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama) | |
Ödev |
Yarıyıl İçi Çalışmaları | Aktivite Sayısı | Katkı Payı |
Ara Sınavlar | 1 | % 30 |
Yarıyıl/Yıl Sonu Sınavı | 1 | % 40 |
Quiz | 2 | % 30 |
Toplam | % 100 | |
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI | % 60 | |
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI | % 40 | |
Toplam | % 100 |
Aktiviteler | Aktivite Sayısı | Süre (Saat) | İş Yükü |
Ders Saati | 3 | 48 | 144 |
Ara Sınavlar | 2 | 4 | 8 |
Final | 1 | 2 | 2 |
Toplam İş Yükü | 154 |