CENG203 Data Structuresİstanbul Okan ÜniversitesiAkademik Programlar Bilgisayar Mühendisliği (İngilizce)Öğrenciler için Genel BilgiDiploma EkiErasmus BeyanıUlusal Yeterlilikler
Bilgisayar Mühendisliği (İngilizce)
Lisans TYYÇ: 6. Düzey QF-EHEA: 1. Düzey EQF-LLL: 6. Düzey

Ders Genel Tanıtım Bilgileri

Ders Kodu: CENG203
Ders İsmi: Data Structures
Ders Yarıyılı: Güz
Ders Kredileri:
Teorik Pratik Kredi AKTS
3 0 3 5
Öğretim Dili: EN
Ders Koşulu: CENG106 - Object Oriented Programming I
Ders İş Deneyimini Gerektiriyor mu?: Hayır
Dersin Türü: Zorunlu Ders
Dersin Seviyesi:
Lisans TYYÇ:6. Düzey QF-EHEA:1. Düzey EQF-LLL:6. Düzey
Dersin Veriliş Şekli: Yüz yüze
Dersin Koordinatörü: Doç. Dr. SHADI HILLES
Dersi Veren(ler):



Dersin Yardımcıları:

Dersin Amaç ve İçeriği

Dersin Amacı: Veri yapıları ve algoritmalar Bilgisayar Bilimlerinin temelini oluşturur ve programlama problemlerinin verimli bir şekilde çözülmesi için temel sağlar. Bilgisayar öğrencileri, verilerin bir bilgisayar tarafından temsil edildiği ve manipüle edildiği çeşitli yolları anlamalıdır. Önceki programlama çalışmaları, tamsayılar, kayan noktalı sayılar ve karakterler gibi ilkel türlerin yanı sıra diziler, dizeler ve kayıtlar gibi temel statik yapılar da dahil olmak üzere veri türlerini tanıtır. Bu modül, bağlantılı listeler, yığınlar, kuyruklar ve ağaçlar dahil olmak üzere daha dinamik veri yapılarının oluşturulmasını ve kullanılmasını keşfederek bu bilgiyi geliştirir.
Dersin İçeriği: 1 Veri Yapıları ve Algoritmalar
2 Algoritmaların Temelleri, Asimptotik Analiz, Açgözlü Algoritmalar
3 Böl ve Yönet, Dinamik Programlama
4 Veri Yapıları Temel, Diziler Veri Yapıları
5 Bağlantılı Liste Temel, Basit Bağlantılı Liste, Çift Bağlantılı Liste, Dairesel Bağlantılı Liste
6 Yığın Gösterimi, Temel İşlemler, Uygulama
7 Infix Notasyonu, Prefix Notasyonu, Postfix Notasyonu, İfadelerin Ayrıştırılması, Postfix Değerlendirme Algoritması
8 Kuyruk Gösterimi, Temel İşlemler
9 Doğrusal Arama, İkili Arama
10 Enterpolasyon Araması, Karma Tablo
11 Kabarcık Sıralaması, Ekleme Sıralaması, Seçim Sıralaması
12 Sıralamayı Birleştir, Hızlı Sıralama
13 Ağaç, Ağaç Çaprazlama, İkili Arama Ağacı
14 AVL Ağaçları, Yayılan Ağaç, Yığın Veri Yapıları

Öğrenme Kazanımları

Bu dersi başarıyla tamamlayabilen öğrenciler;
Öğrenme Kazanımları
1 - Bilgi
Kuramsal - Olgusal
1) Temel veri yapılarını ve ilgili standart algoritmaları tanımlayabilecektir.
2) Algoritmaları ve veri yapılarını işlem süresi ve bellek karmaşıklığı açısından tanımlayabilecektir.
3) Belirli algoritmaların ve veri yapılarının avantajlarını ve dezavantajlarını gösterebilir.
4) Programdaki hataları gösterebilir; veri yapıları ile gerekli temel işlemleri tanıyabilir.
2 - Beceriler
Bilişsel - Uygulamalı
1) Programdaki hataları gösterebilir; veri yapıları ile gerekli temel işlemleri tanıyabilir.
3 - Yetkinlikler
İletişim ve Sosyal Yetkinlik
Öğrenme Yetkinliği
Alana Özgü Yetkinlik
Bağımsız Çalışabilme ve Sorumluluk Alabilme Yetkinliği

Ders Akış Planı

Hafta Konu Ön Hazırlık
1) Veri Yapıları ve Algoritmalar: -Genel Bakış -Ortam Kurulumu
2) Algoritmaların Temelleri, Asimptotik Analiz, Açgözlü Algoritmalar
3) Böl ve yönet, dinamik programlama
4) Temel veri yapıları, diziler veri yapıları
5) Bağlı liste temelleri, basit bağlı liste, çift yönlü bağlı liste, dairesel bağlı liste
6) Yığın gösterimi, temel işlemler, uygulama
7) İnfix gösterim, prefix gösterim, postfix gösterim, ifadeleri ayrıştırma, postfix değerlendirme algoritması
8) Kuyruk gösterimi, temel işlemler, uygulama
9) Doğrusal arama, ikili arama
10) Enterpolasyon arama, hash tablosu
11) Kabarcık sıralama, eklemeli sıralama, seçmeli sıralama
12) Birleştirmeli sıralama, hızlı sıralama
13) Ağaç, ağaç dolaşımı, ikili arama ağacı
14) AVL ağaçları, yayılım ağacı, yığın veri yapıları
15) Final Sınavı

Kaynaklar

Ders Notları / Kitaplar: O'Learn sistemindedir.
It's in the O'Learn system.
Diğer Kaynaklar: Data Structures and Algorithms in Java: A Project-Based Approach
Author: Dan S. Myers
Published: 2024
ISBN 9781009260336

Ders - Program Öğrenme Kazanım İlişkisi

Ders Öğrenme Kazanımları

1

2

3

5

4

Program Kazanımları
1) Matematik, fen bilimleri ve kendi dalları ile ilgili mühendislik konularında yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri mühendislik problemlerini modelleme ve çözme için uygulayabilme becerisi.
2) 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.
3) 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. (Gerçekçi kısıtlar ve koşullar tasarımın niteliğine göre, ekonomi, çevre sorunları, sürdürülebilirlik, üretilebilirlik, etik, sağlık, güvenlik, sosyal ve politik sorunlar gibi ögeleri içerirler.)
4) Mühendislik uygulamaları için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi.
5) Mühendislik problemlerinin incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi.
6) Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi.
7) Sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi.
8) Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi.
9) Mesleki ve etik sorumluluk bilinci.
10) Proje yönetimi ile risk yönetimi ve değişiklik yönetimi gibi iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik ve sürdürebilir kalkınma hakkında farkındalık.
11) Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ile çağın sorunları hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık.

Ders - Öğrenme Kazanımı İlişkisi

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) Matematik, fen bilimleri ve kendi dalları ile ilgili mühendislik konularında yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri mühendislik problemlerini modelleme ve çözme için uygulayabilme becerisi. 2
2) 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. 4
3) 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. (Gerçekçi kısıtlar ve koşullar tasarımın niteliğine göre, ekonomi, çevre sorunları, sürdürülebilirlik, üretilebilirlik, etik, sağlık, güvenlik, sosyal ve politik sorunlar gibi ögeleri içerirler.) 3
4) Mühendislik uygulamaları için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi. 3
5) Mühendislik problemlerinin incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi. 5
6) Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi.
7) Sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi.
8) Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi.
9) Mesleki ve etik sorumluluk bilinci.
10) Proje yönetimi ile risk yönetimi ve değişiklik yönetimi gibi iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik ve sürdürebilir kalkınma hakkında farkındalık.
11) Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ile çağın sorunları hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık.

Öğrenme Etkinliği ve Öğretme Yöntemleri

Bireysel çalışma ve ödevi
Ders
Okuma
Ödev
Problem Çözme
Proje Hazırlama

Ölçme ve Değerlendirme Yöntemleri ve Kriterleri

Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama)
Ödev
Bireysel Proje

Ölçme ve Değerlendirme

Yarıyıl İçi Çalışmaları Aktivite Sayısı Katkı Payı
Küçük Sınavlar 3 % 0
Ödev 3 % 0
Projeler 1 % 0
Ara Sınavlar 1 % 50
Final 1 % 50
Toplam % 100
YARIYIL İÇİ ÇALIŞMALARININ BAŞARI NOTU KATKISI % 50
YARIYIL SONU ÇALIŞMALARININ BAŞARI NOTUNA KATKISI % 50
Toplam % 100

İş Yükü ve AKTS Kredisi Hesaplaması

Aktiviteler Aktivite Sayısı Süre (Saat) İş Yükü
Ders Saati 14 3 42
Sınıf Dışı Ders Çalışması 14 3 42
Proje 1 15 15
Ödevler 3 10 30
Küçük Sınavlar 3 1 3
Ara Sınavlar 1 2 2
Final 1 2 2
Toplam İş Yükü 136