ALGORİTMA VE PROGRAMLAMA
- Ders
- COMP223 - ALGORİTMA VE PROGRAMLAMA
- Bölüm
- Bilgisayar Programcılığı - İngilizce - Ön Lisans
- Ders Tipi
- Ders
- Durum
- Zorunlu
- Dil
- İngilizce
- Kredi
- 4
- AKTS
- 7
- 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ı
- 01 Learn and enhance basics of algorithms - pseudocodes and flowcharts.
- 02 Improve computer programming abilities with arrays, structures, pointers, strings.
- 03 Implement popular searching and sorting algorithms.
- 04 Learn how to program using structured data.
- 05 Develop computer programs including file processing.
- 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
- 01 John V. Guttag, Introduction to Computation and Programming Using Python, Third Edition, The MIT Press, 2021.
- 02 Thomas H. Cormen, Algorithms Unlocked, First Edition, The MIT Press, 2013.
Ders Çıktıları
- L01 Farklı algoritma türlerini tanımlamak. SOLO 3
- L02 Python'da sıralama algoritmalarını uygulamak. SOLO 4
- L03 Python'da sözlükler oluşturmak. SOLO 4
- L04 Python'da dize işlemleri gerçekleştirmek. SOLO 4
- L05 Python'da arama algoritmalarını uygulamak. SOLO 4
- L06 Python'da dosyalar oluşturmak. SOLO 4
- L07 Algoritma karmaşıklığını analiz etmek. SOLO 4
Program Çıktıları
- P01 Programlama bilgisini uygulayabilme
- P02 Değişen komplekslikte software sistem tasarımı
- P03 Bilgisayar sebepli problemleri belirleme, kategorize etme ve çözüm geliştirme
- P04 Bilgisayar programcılık projelerinde yöneterek sorumluluk alma
- P05 Bilgisayar teknolojileri alanında güncel konseptleri takip etmek
- P06 Gerçekci kısıtlamalara uygun olarak gerekli bilgisayar sistemlerini dizayn etme, uygulama ve değerlendirmek.
- P07 Bilgisayar kullanımı için gerekli olan teknik, beceri ve araçları kullanabilme
- P08 Kanıta dayalı karar vermeyi kolaylaştırmak için kurumsal ve çevresel verilerin toplanmasına ve analizine uygun teknolojiler ve teknikler uygulamak
- P09 Profesyonel ortamla geçerli olan etkili iletişim becerileri uygulamak
- P10 Profesyonel ortamla geçerli olan etkin işbirliği becerileri uygulamak
Pç-Dç Matrisi
| ÖÇ | P01 | P02 | P03 | P04 | P05 | P06 | P07 | P08 | P09 | P10 | Ortalama |
|---|---|---|---|---|---|---|---|---|---|---|---|
| L01 | 5 | 4 | 4 | 0 | 4 | 4 | 4 | 0 | 0 | 0 | 2.5 |
| L02 | 5 | 5 | 5 | 0 | 4 | 5 | 5 | 0 | 0 | 0 | 2.9 |
| L03 | 5 | 5 | 5 | 0 | 4 | 5 | 5 | 0 | 0 | 0 | 2.9 |
| L04 | 5 | 4 | 4 | 0 | 4 | 4 | 4 | 0 | 0 | 0 | 2.5 |
| L05 | 5 | 5 | 5 | 0 | 4 | 5 | 5 | 0 | 0 | 0 | 2.9 |
| L06 | 5 | 5 | 5 | 0 | 4 | 5 | 5 | 0 | 0 | 0 | 2.9 |
| L07 | 5 | 5 | 5 | 0 | 4 | 5 | 5 | 0 | 0 | 0 | 2.9 |