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 |
- |
ARA SINAV |
- |
9 |
Yazılı Kaynaklar |
Ağaç veri yapısının python dilinde kodlanması |
Yüz Yüze Anlatım |
10 |
Yazılı Kaynaklar |
İkili arama ağaçları yapısı ve bu yapının python ile kodlanması |
Yüz Yüze Anlatım |
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 |
(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 |
|