Ana içeriğe atla
EN

ALGORİTMA VE PROGRAMLAMA

Ders
ITEC223 - ALGORİTMA VE PROGRAMLAMA
Bölüm
Bilişim Teknolojileri - İngilizce - Lisans
Ders Tipi
Ders
Durum
Zorunlu
Dil
İngilizce
Kredi
4
AKTS
6
T+P+L
3 + 0 + 2
Ders Koordinatörleri
-
Ön Koşul
Anahtar Sözcükler

Ders Açıklaması

Ders içeriği genel olarak C ve C++ programlama dillerini kullanılarak algoritmaların uygulanmasını içermektedir. Temel algoritma konuları ve yapısal programlama teknikleri ilk olarak ele alınmaktadır. Diziler ve diziler üzerinde arama ve sıralama algoritmaları incelenmekte ve uygulanmaktadır. Veri yapılarının temelini oluşturan diziler ve yapılar, bit düzeyindeki işlemler ile birlikte öğretilmektedir. Ara sınavdan sonra ise dersin ikinci kısmı olarak işaretçiler, fonksiyonlar, dosya işleme ve karakter işlemleri incelenmekte ve bu işlemlere gereksinim duyan algoritmalar uygulanmktadır. Dersin konularına yönelik, özellikle diziler üzerinde arama ve sıralama algoritmalarına ihtiyaç duyan kısa çalışmalar pratik kısımda uygulanmaktadır. Son olarak geliştirilen algoritmaların veya programların karmaşıklık analizi için gerekli olan metodlar öğretilmektedir.

ALGORİTMA VE PROGRAMLAMA

Değerlendirme Araçları (Aktif Dönem)

Öğe Tür Ağırlık (%)
Final Exam Final 40
Midterm Exam Ara Sınav 30
Quiz Kısa Sınav 10
Homework Ödev 10
Lab Ödev 10
Toplam 100

Ders çıktıları

  1. 01 Learn and enhance basics of algorithms - pseudocodes and flowcharts.
  2. 02 Improve computer programming abilities with arrays, structures, pointers, strings.
  3. 03 Implement popular searching and sorting algorithms.
  4. 04 Learn how to program using structured data.
  5. 05 Develop computer programs including file processing.
  6. 06 Analyse the complexity of an algorithm and software implementation.

Ders Müfredatı

Hafta Konu
Hafta 1 Introduction to Algorithms
Hafta 2 Pseudocodes and Flowcharts
Hafta 3 Structured Program Development and Program Control
Hafta 4 Arrays, Sorting Algorithms on Arrays
Hafta 5 Searching Algorithms on Arrays
Hafta 6 Structures, Unions, Bit Manipulations and Enumerations
Hafta 7 Midterm Examination
Hafta 8 Midterm Examination
Hafta 9 File Processing
Hafta 10 Case Studies - Basic searching and sorting algorithms
Hafta 11 Dictionaries
Hafta 12 Characters and Strings
Hafta 13 Complexity Analysis of Algorithms
Hafta 14 Complexity Analysis of Algorithms
Hafta 15 Final Exam

Referans Kitaplar & Ders Materyalleri

  1. 01 John V. Guttag, Introduction to Computation and Programming Using Python, Third Edition, The MIT Press, 2021.
  2. 02 Thomas H. Cormen, Algorithms Unlocked, First Edition, The MIT Press, 2013.

Ders Çıktıları

  1. L01 Farklı algoritma türlerini açıklamak. SOLO 3
  2. L01 Python'da dosyalar oluşturmak. SOLO 4
  3. L01 Farklı algoritma türlerini açıklamak. SOLO 4
  4. L01 Farklı algoritma türlerini açıklamak. SOLO 3
  5. L02 Python'da sıralama algoritmalarını uygulamak. SOLO 4
  6. L02 Python'da sıralama algoritmalarını uygulamak. SOLO 4
  7. L02 Python'da sıralama algoritmalarını uygulamak. SOLO 4
  8. L03 Python'da sözlükler oluşturmak. SOLO 4
  9. L03 Python'da sözlükler oluşturmak. SOLO 4
  10. L03 Python'da sözlükler oluşturmak. SOLO 4
  11. L04 Python'da dize işlemleri gerçekleştirmek. SOLO 4
  12. L04 Python'da dize işlemleri gerçekleştirmek. SOLO 4
  13. L04 Python'da dize işlemleri gerçekleştirmek. SOLO 4
  14. L05 Python'da arama algoritmalarını uygulamak. SOLO 4
  15. L05 Python'da arama algoritmalarını uygulamak. SOLO 4
  16. L05 Python'da arama algoritmalarını uygulamak. SOLO 4
  17. L06 Python'da dosyalar oluşturmak. SOLO 4
  18. L06 Python'da dosyalar oluşturmak. SOLO 4
  19. L07 Algoritma karmaşıklığını analiz etmek. SOLO 4
  20. L07 Algoritma karmaşıklığını analiz etmek. SOLO 4
  21. L07 Algoritma karmaşıklığını analiz etmek. SOLO 4

Program Çıktıları

  1. P01 Kullanıcıların iş verilerine erişmesine izin vermek için çağdaş bir nesne yönelimli dilde bir kullanıcı arabirimi oluşturabilir
  2. P02 Kullanıcı ihtiyaçlarını tanımlayın ve analiz edin ve bilgi işlem tabanlı sistemlerin seçiminde, oluşturulmasında, entegrasyonunda, değerlendirilmesinde ve yönetiminde bunları dikkate alabilir
  3. P03 Ortak iş fonksiyonlarını analiz edebilir ve uygun bilgi teknolojisi çözümlerini belirleyebilir, tasarlayabilir ve geliştirebilir
  4. P04 Uygun problem çözme stratejilerini kullanarak çağdaş iş ortamları için yazılım çözümleri tasarlayabilir ve geliştirebilir
  5. P05 Çağdaş iş ortamlarını desteklemek için veritabanı sunucusunu yapılandırabilir ve yönetebilir
  6. P06 Küçük ila orta ölçekli bir şirket için ilişkisel bir veritabanını yönetebilir
  7. P07 BT tabanlı çözümleri kullanıcı ortamına etkin bir şekilde entegre edebilir
  8. P08 Profesyonel, etik, yasal, güvenlik ve sosyal konuları ve sorumlulukları anlayabilir
  9. P09 Profesyonel ortamla uyumlu etkili iletişim becerilerini uygulayabilir
  10. P10 Profesyonel ortamla uyumlu ekip çalışmasında etkili işbirliği becerilerini uygulayabilirler

Pç-Dç Matrisi

ÖÇ P01 P02 P03 P04 P05 P06 P07 P08 P09 P10 Ortalama
L01 - - - - - - - - - - -
L01 - - - - - - - - - - -
L01 - - - - - - - - - - -
L01 3 3 3 4 0 0 3 0 0 0 1.6
L02 - - - - - - - - - - -
L02 - - - - - - - - - - -
L02 4 4 0 5 0 0 4 0 0 0 1.7
L03 - - - - - - - - - - -
L03 - - - - - - - - - - -
L03 4 4 0 5 0 0 4 0 0 0 1.7
L04 - - - - - - - - - - -
L04 - - - - - - - - - - -
L04 3 3 0 4 0 0 3 0 0 0 1.3
L05 - - - - - - - - - - -
L05 - - - - - - - - - - -
L05 4 4 0 5 0 0 4 0 0 0 1.7
L06 - - - - - - - - - - -
L06 4 4 0 5 0 0 4 0 0 0 1.7
L07 3 4 3 5 0 0 4 0 0 0 1.9
L07 - - - - - - - - - - -
L07 - - - - - - - - - - -