Dersin Amacı: |
Bu dersin amacı, verilerin nasıl düzenlendiğini ve bu düzenlemenin algoritmaların verimliliğini nasıl etkilediğini öğretmektir. Temel veri yapıları (listeler, yığınlar, kuyruklar, ağaçlar, graf yapıları) ve sıralama algoritmalarını öğrenerek, öğrencilerin problem çözme ve yazılım geliştirme süreçlerinde bu yapıları etkin şekilde kullanmaları hedeflenir. Ayrıca, algoritmaların verimliliğini değerlendirip uygun veri yapısını seçme becerisi kazandırmak da dersin ana odak noktasıdır. |
Dersin İçeriği: |
Veri Yapıları dersinde, temel olarak algoritmaların analizinde kullanılan notasyonlar, listeler, yığınlar, kuyruklar ve özyinelemeli yapılar işlenir. Ayrıca, hash tabloları, ikili arama ağaçları, dengeli arama ağaçları (AVL ve Kırmızı-Siyah ağaçlar), B-ağaçlar ve B-234 ağaçları gibi ağaç yapıları ele alınır. Sıralama algoritmaları (QuickSort, MergeSort, Radix Sort) ve grafik yapıları ile graf arama algoritmaları (DFS, BFS) da dersin önemli konuları arasındadır. Bu yapılar ve algoritmalar, veri organizasyonu ve problem çözme yeteneklerinin geliştirilmesini amaçlar. |
|
Dersin Program Kazanımlarına Etkisi |
Katkı Payı |
1) |
Bilgisayar temel bileşenleri olan donanım, yazılım, ağ ve işletim sistemleri konusunda temel düzeyde bilgi sahibi olur. |
|
2) |
Bilgisayar Programcılığı alanında bir problemin tanımını yapıp, çözümü için gerekli verileri tanımlayıp, algoritmasını tasarlayıp farklı programlama dilleri ile çözüm oluşturur. |
|
3) |
Yazılım geliştirme sürecinde planlama, tasarlama ve farklı programlama dillerini kullanarak gerçekleme becerisine sahip olur. |
|
4) |
Bilişim teknolojileri alanında kullanılan görsel tasarım mantığının anlaşılması ve uygulanması için gerekli olan bilgi, beceri ve teknik alt yapıya sahip olur. |
|
5) |
Bilgisayar ortamında verileri saklayabilme, organize edebilme ve sorgulayabilme becerisine sahip olur. |
|
6) |
Alanındaki çalışmaları yürütebilecek ve dünyadaki teknolojik gelişmeleri takip edebilecek düzeyde yabancı dil bilgisine sahip olur. |
|
7) |
Yazılım kurulum, test ve kabul işlemlerini yapabilme becerisine sahip olur. |
|
8) |
Web tabanlı proje geliştirip, internet tabanlı programlama yapar. |
|
9) |
Bilgisayar ağlarına ilişkin temel kavramları öğrenmek, bilgisayarlar arası iletişim, organizasyon ve veri aktarım yöntemleri hakkında bilgi sahibi olur. |
|
10) |
Alanı ile ilgili çalışmalarda öngörülemeyen problemleri belirleyebilmek ve yenilikçi çözümler üretebilmek için bilgilerini yeni ve güncel yapıları öğrenebilmek amacıyla aktarır. |
|
11) |
İşletme faaliyetlerinde bireysel sorumluluk alır ve takım çalışmasına uyum sağlar. |
|
12) |
Düşünce ve önerilerini nitel ve nicel verilerle destekleyerek uzman olan ve olmayan kişilerle paylaşır. |
|
13) |
Alanı ile ilgili temel, teknolojik ve bilimsel kavramları farklı dillerden takip eder. |
|
14) |
Sektörün beklentilerini karşılayacak şekilde Bilgisayar Programcılığı ile ilgili süreci/süreçleri planlama becerisine sahip olur. |
|
15) |
Bilgisayar Programcılığı ile ilgili konularda kişi ve kurumları bilgilendirebilmek için düşüncelerini yazılı ve sözlü olarak aktarır. |
|
16) |
Bilişim hukuku, kişisel verileri kullanabilme , meslek etiği gibi önemli ve güncel kavramlara sahip olur. |
|