| Kodu |
Dersin Adı |
Yarıyıl |
Süresi(T+U) |
Kredisi |
AKTS Kredisi |
| BIL202 |
VERİ YAPILARI VE ALGORİTMALAR |
4 |
5 |
4 |
7 |
DERS BİLGİLERİ |
| Dersin Öğretim Dili : |
Türkçe |
| Dersin Düzeyi |
LİSANS, TYY: + 6.Düzey, EQF-LLL: 6.Düzey, QF-EHEA: 1.Düzey |
| Dersin Türü |
Zorunlu |
| Dersin Veriliş Şekli |
- |
| Dersin Koordinatörü |
Dr.Öğr.Üyesi OĞUZHAN ÖZTAŞ |
| Dersi Veren Öğretim Üyesi/Öğretim Görevlisi |
|
| Ders Ön Koşulu |
Yok |
AMAÇ VE İÇERİK |
| Amaç: |
Öğrencilere önemli algoritma ve yapıların zaman ve yer gereksinimlerini analiz etmeyi;
yığın, kuyruk, ağaç ve grafikler gibi birbirinden farklı veri yapılarını analiz etmeyi;
Python'da algoritmaların implementasyonunu öğretmektir. |
| İçerik: |
Yığınlar, Yığın Yapıları Uygulamaları, Kuyruklar, Kuyruğa Ekleme, Kuyruktan
Çıkarma, Öncelik Kuyrukları, Ağaç Yapıları, Ağaç Uygulamaları, İkili Arama Ağaçları,
Öbek Yapıları Uygulamaları, Dengeli Arama Ağaçları, Çizge Yapıları, Çizge Yapıları
Uygulamaları Konuları. |
DERSİN ÖĞRENME ÇIKTILARI (Öğrenciler, bu dersi başarı ile tamamladıklarında aşağıda belirtilen bilgi, beceri ve/veya yetkinlikleri gösterirler.) |
| Bu dersi alan öğrenciler; |
| 1. Özyinelemenin temel prensiplerini ve matematiksel tümevarım ile ilişkisini kavrar |
| 2. Özyinelemeyi bir problem çözme ve programlama tekniği olarak kullanabilir. |
| 3. Bağlı listeler, çift bağlı listeler, yığıtlar ve kuyruklar gibi önemli soyut veri tiplerini
tasarım ve gerçekleştirim becerisine sahip olur |
| 4. Ağaçlar gibi ayrık veri yapılarının kombinasyon yöntemiyle analizini yapar. |
| 5. Sıralama ve arama problemlerinin algoritmik çözümlerini anlama ve ikili arama
ağaçları gibi yaygın arama yapılarını tasarlar. |
HAFTALIK DERS KONULARI VE ÖNGÖRÜLEN HAZIRLIK ÇALIŞMALARI |
| Hafta |
Ön Hazırlık |
Konular |
Yöntem |
| 1 |
Yazılı Kaynaklar |
Yığın veri yapısına giriş |
Yüz Yüze Anlatım |
| 2 |
Yazılı Kaynaklar |
Yığın veri yapısının python dilinde kodlanması |
Yüz Yüze Anlatım |
| 3 |
Yazılı Kaynaklar |
Yığın veri yapısının python dilinde kodlanması |
Yüz Yüze Anlatım |
| 4 |
Yazılı Kaynaklar |
Yığın veri yapısının python dilinde kodlanması |
Yüz Yüze Anlatım |
| 5 |
Yazılı Kaynaklar |
Kuyruk, iki uçlu kuyruk ve öncelikli kuyruk veri yapıları |
Yüz Yüze Anlatım |
| 6 |
Yazılı Kaynaklar |
Kuyruk, iki uçlu kuyruk ve öncelikli kuyruk veri yapılarının python dilinde |
Yüz Yüze Anlatım |
| 7 |
Yazılı Kaynaklar |
Ağaç veri yapısına giriş |
Yüz Yüze Anlatım |
| 8 |
Yazılı Kaynaklar |
Ağaç veri yapısının python dilinde kodlanması |
Yüz Yüze Anlatım |
| 9 |
Yazılı Kaynaklar |
İkili arama ağaçları yapısı ve bu yapının python ile kodlanması |
Yüz Yüze Anlatım |
| 10 |
- |
ARA SINAV |
- |
| 11 |
Yazılı Kaynaklar |
Öbek veri yapısı ve bu yapının python ile kodlanması |
Yüz Yüze Anlatım |
| 12 |
Yazılı Kaynaklar |
Öbek Yapıları |
Yüz Yüze Anlatım |
| 13 |
Yazılı Kaynaklar |
Dengeli arama ağaçları |
Yüz Yüze Anlatım |
| 14 |
Yazılı Kaynaklar |
Çizge veri yapısına giriş |
Yüz Yüze Anlatım |
| 15 |
Yazılı Kaynaklar |
Çizge veri yapısının python ile kodlanması |
Yüz Yüze Anlatım |
| 16 |
- |
FİNAL |
- |
| 17 |
- |
FİNAL |
- |
KAYNAKLAR |
| Data Structures and Program Design In C, Robert L. Kruse, Bruce P. Leung,
ve Clovis L. Tondo, Pearson, 1996
Goodrich, M. T., Tamassia, R., & Goldwasser, M. H. (2013). Data structures and algorithms in Python (pp. 978-1). Hoboken: Wiley. |
ÖLÇME VE DEĞERLENDİRME |
| Yarıyıl İçi Yapılan Çalışmaların Ölçme ve Değerlendirmesi |
Etkinlik Sayısı |
Katkı Yüzdesi |
Açıklama |
Sınav Yapılma Şekli |
| (0) Etkisiz |
(1) En Düşük |
(2) Düşük |
(3) Orta |
(4) İyi |
(5) Çok İyi |
| 0 |
1 |
2 |
3 |
4 |
5 |
DERSİN PROGRAM ÖĞRENME ÇIKTILARINA KATKISI
| BİLGİ |
| Kuramsal |
|
Program Yeterlilikleri/Çıktıları |
Katkı Düzeyi |
| 0 |
1 |
2 |
3 |
4 |
5 |
| 1 |
Bilgisayar Bilimi ile ilgili temel mühendislik kavramlarını açıklar ve Bilgisayar Biliminin teorik altyapısı ile ilişkilendirir.
|
|
|
|
3 |
|
|
| BİLGİ |
| Olgusal |
|
Program Yeterlilikleri/Çıktıları |
Katkı Düzeyi |
| 0 |
1 |
2 |
3 |
4 |
5 |
| 1 |
Matematik, fen bilimleri, olasılık ve istatistik gibi kendi dalıyla ilgili mühendislik konularında sahip olduğu kuramsal ve uygulamalı bilgileri mühendislik çözümleri için kullanır.
|
|
|
|
3 |
|
|
| BECERİLER |
| Bilişsel |
|
Program Yeterlilikleri/Çıktıları |
Katkı Düzeyi |
| 0 |
1 |
2 |
3 |
4 |
5 |
| 1 |
Bir sistemin bileşenlerini ya da sistemdeki süreçleri analiz eder ve gereksinimler doğrultusunda gerçekçi kısıtlar altında bir bilgisayar modeli tasarlar.
|
|
|
|
3 |
|
|
| 2 |
Belirli bir kavramsal modeli bilgisayar ortamında modern yöntemlerle tasarlar.
|
|
|
|
3 |
|
|
| BECERİLER |
| Uygulamalı |
|
Program Yeterlilikleri/Çıktıları |
Katkı Düzeyi |
| 0 |
1 |
2 |
3 |
4 |
5 |
| 1 |
Bilgisayar Mühendisliği alanında var olan uygulama alanlarını analiz eder, değerlendirir ve bunların çözümüne yönelik uygulama geliştirir.
|
|
|
|
3 |
|
|
| 2 |
Bilgisayar Mühendisliği alanında yer alan konulara uygun analitik yöntemler ve modelleme tekniklerini seçer ve uygular.
|
|
|
|
3 |
|
|
| 3 |
Mühendislik uygulamaları için gerekli olan modern teknik ve araçları seçer ve bilişim teknolojilerini etkin olarak kullanır.
|
|
|
|
3 |
|
|
| YETKİNLİKLER |
| Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği |
|
Program Yeterlilikleri/Çıktıları |
Katkı Düzeyi |
| 0 |
1 |
2 |
3 |
4 |
5 |
| 1 |
Deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve değerlendirme bilincine ve sorumluluğuna sahiptir.
|
|
|
|
|
4 |
|
| 2 |
Bireysel olarak etkin çalışmalar yürütebilir.
|
|
|
|
3 |
|
|
| 3 |
Bir ekip içerisinde etkin çalışabilme becerisi gösterir ve sorumluluk alır.
|
|
|
|
3 |
|
|
| YETKİNLİKLER |
| Öğrenme Yetkinliği |
|
Program Yeterlilikleri/Çıktıları |
Katkı Düzeyi |
| 0 |
1 |
2 |
3 |
4 |
5 |
| 1 |
Bilişim Teknolojilerinin yönetim, denetim, gelişim ve güvenliği/güvenilirliği hakkında bilgi sahibidir ve bilim ve teknolojideki gelişmeleri internet ve dergi aracılığı ile takip edebilir ve kendini sürekli yenileyebilir.
|
|
|
|
3 |
|
|
| 2 |
Yaşam boyu öğrenmenin gerekliliği bilincine sahiptir.
|
|
|
|
3 |
|
|
| YETKİNLİKLER |
| İletişim ve Sosyal Yetkinlik |
|
Program Yeterlilikleri/Çıktıları |
Katkı Düzeyi |
| 0 |
1 |
2 |
3 |
4 |
5 |
| 1 |
Bir problemi sözlü ya da yazılı ifade edebilir ve etkin iletişim kurabilir ve en az bir yabancı dil bilgisine sahiptir.
|
|
|
|
3 |
|
|
| 2 |
Proje yönetimi, işyeri uygulamaları, çalışanların sağlığı, çevre ve iş güvenliği konularında bilinçlidir.
|
|
|
|
|
4 |
|
| YETKİNLİKLER |
| Alana Özgü Yetkinlik |
|
Program Yeterlilikleri/Çıktıları |
Katkı Düzeyi |
| 0 |
1 |
2 |
3 |
4 |
5 |
| 1 |
Mesleki ve etik sorumluluk bilincine ve toplumda bu sorumluluğu yayma bilincine sahiptir.
|
|
|
|
3 |
|
|
| 2 |
Mühendislik çözümlerinin ve uygulamalarının evrensel ve toplumsal boyutlardaki etkilerinin bilincindedir, girişimcilik ve yenilikçilik konularının öneminin farkındadır.
|
|
|
|
|
4 |
|
DERSİN İŞ YÜKÜ VE AKTS KREDİSİ |
| Öğrenme-Öğretme Etkinlikleri İş Yükü |
| Öğrenme-Öğretme Etkinlikleri |
Etkinlik(hafta sayısı) |
Süresi(saat sayısı) |
Toplam İş Yükü |
| Ders |
14 |
5 |
70 |
| Derse Ön Hazırlık ve Ders Sonrası Pekiştirme |
14 |
3 |
42 |
| Arazi Çalışması |
0 |
0 |
0 |
| Grup Çalışması / Ödevi |
0 |
0 |
0 |
| Laboratuvar |
0 |
0 |
0 |
| Okuma |
0 |
0 |
0 |
| Ödev |
0 |
0 |
0 |
| Proje Hazırlama |
0 |
0 |
0 |
| Seminer |
0 |
0 |
0 |
| Staj |
0 |
0 |
0 |
| Teknik Gezi |
0 |
0 |
0 |
| Web Tab. Öğrenme |
0 |
0 |
0 |
| Uygulama |
0 |
0 |
0 |
| Yerinde Uygulama |
0 |
0 |
0 |
| Mesleki Faaliyet |
0 |
0 |
0 |
| Sosyal Faaliyet |
0 |
0 |
0 |
| Tez Hazırlama |
0 |
0 |
0 |
| Alan Çalışması |
0 |
0 |
0 |
| Rapor Yazma |
0 |
0 |
0 |
| Final Sınavı |
1 |
1 |
1 |
| Final Sınavı Hazırlığı |
5 |
4 |
20 |
| Ara Sınav |
1 |
1 |
1 |
| Ara Sınav Hazırlığı |
4 |
4 |
16 |
| Kısa Sınav |
0 |
0 |
0 |
| Kısa Sınav Hazırlığı |
0 |
0 |
0 |
| TOPLAM |
39 |
0 |
150 |
|
Genel Toplam |
150 |
|
|
Toplam İş Yükü / 25.5 |
5,9 |
|
|
Dersin AKTS(ECTS) Kredisi |
6,0 |
|