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ı
- 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 açıklamak. SOLO 3
- L01 Python'da dosyalar oluşturmak. SOLO 4
- L01 Farklı algoritma türlerini açıklamak. SOLO 4
- L01 Farklı algoritma türlerini açıklamak. SOLO 3
- L02 Python'da sıralama algoritmalarını uygulamak. SOLO 4
- L02 Python'da sıralama algoritmalarını uygulamak. SOLO 4
- L02 Python'da sıralama algoritmalarını uygulamak. SOLO 4
- L03 Python'da sözlükler oluşturmak. SOLO 4
- L03 Python'da sözlükler oluşturmak. SOLO 4
- L03 Python'da sözlükler oluşturmak. SOLO 4
- L04 Python'da dize işlemleri gerçekleştirmek. SOLO 4
- L04 Python'da dize işlemleri gerçekleştirmek. SOLO 4
- L04 Python'da dize işlemleri gerçekleştirmek. SOLO 4
- L05 Python'da arama algoritmalarını uygulamak. SOLO 4
- L05 Python'da arama algoritmalarını uygulamak. SOLO 4
- L05 Python'da arama algoritmalarını uygulamak. SOLO 4
- L06 Python'da dosyalar oluşturmak. SOLO 4
- L06 Python'da dosyalar oluşturmak. SOLO 4
- L07 Algoritma karmaşıklığını analiz etmek. SOLO 4
- L07 Algoritma karmaşıklığını analiz etmek. SOLO 4
- L07 Algoritma karmaşıklığını analiz etmek. SOLO 4
Program Çıktıları
- P01 Gerçek yaşam durumlarındaki zorluklara veri bilimi ilke ve tekniklerini uygulayabilir ve çözümlerini etkin bir şekilde iletebilirler.
- P02 Teorik fikirlere, etik koda ve temel verilere ilişkin derinlemesine bilgiye dayalı veri analizi metodolojilerini belirleyebilir ve uygulayabilirler.
- P03 Gerçek hayattaki uygulamalarda bilgi analizi için yol gösterici kavramları ve değerlendirme prosedürlerini analiz edebilirler.
- P04 İşle ilgili sorunlara belirsiz çözümler bulmak için ilgili veri analizi modellerini tasarlayabilir ve uygulayabilirler.
- P05 Paralel ve dağıtılmış bilgi işlem ve makine öğrenimi gibi büyük miktarda veriyle karakterize edilen gerçek dünya sorunlarını ele almak için modern bilgi işlem tekniklerinden yararlanabilirler.
- P06 Her boyuttaki yapılandırılmış ve yapılandırılmamış veri kümesinden kullanılabilir bilgileri verimli bir şekilde üretmek için gereken yazılım araçlarını yapılandırabilir ve yönetebilirler.
- P07 Karmaşık verilerden yararlı bilgiler elde etmeyi amaçlayan projeleri organize etmek ve tamamlamak için veri bilimi araçlarını ve tekniklerini yönetebilirler.
- P08 Gerçek dünyadaki sorunları çeşitli açılardan kavrayarak eleştirel ve yaratıcı düşünebilirler ve sorunları işbirliği içinde çözmek için çeşitli ekiplerde çalışabilirler.
- P09 Veri tabanlı çözümleri kullanıcı ortamına etkin bir şekilde entegre edebilme ve teknik olmayan profesyonellere bu çözümleri keşfetme, görselleştirme ve kullanma konusunda yardımcı olabilirler.
- P10 Veri sahipliği ve atıf, veri güvenliği ve hassasiyeti ve veri analizinin mahremiyet üzerindeki etkileri gibi konularda mesleki ve etik standartlar kapsamındaki yükümlülüklerini anlayabilirler.
Pç-Dç Matrisi
| ÖÇ | P01 | P02 | P03 | P04 | P05 | P06 | P07 | P08 | P09 | P10 | Ortalama |
|---|---|---|---|---|---|---|---|---|---|---|---|
| L01 | 3 | 4 | 4 | 3 | 2 | 0 | 0 | 0 | 0 | 0 | 1.6 |
| L01 | 0 | 0 | 0 | 0 | 0 | 5 | 4 | 0 | 3 | 3 | 1.5 |
| L01 | - | - | - | - | - | - | - | - | - | - | - |
| L01 | - | - | - | - | - | - | - | - | - | - | - |
| L02 | 4 | 4 | 0 | 0 | 3 | 3 | 2 | 0 | 0 | 0 | 1.6 |
| L02 | - | - | - | - | - | - | - | - | - | - | - |
| L02 | - | - | - | - | - | - | - | - | - | - | - |
| L03 | 3 | 0 | 0 | 0 | 0 | 4 | 3 | 0 | 2 | 1 | 1.3 |
| L03 | - | - | - | - | - | - | - | - | - | - | - |
| L03 | - | - | - | - | - | - | - | - | - | - | - |
| L04 | 3 | 4 | 0 | 0 | 0 | 3 | 0 | 0 | 2 | 0 | 1.2 |
| L04 | - | - | - | - | - | - | - | - | - | - | - |
| L04 | - | - | - | - | - | - | - | - | - | - | - |
| L05 | 4 | 4 | 0 | 0 | 3 | 3 | 0 | 0 | 0 | 0 | 1.4 |
| L05 | - | - | - | - | - | - | - | - | - | - | - |
| L05 | - | - | - | - | - | - | - | - | - | - | - |
| L06 | - | - | - | - | - | - | - | - | - | - | - |
| L06 | - | - | - | - | - | - | - | - | - | - | - |
| L07 | - | - | - | - | - | - | - | - | - | - | - |
| L07 | 0 | 5 | 5 | 4 | 3 | 0 | 0 | 2 | 0 | 0 | 1.9 |
| L07 | - | - | - | - | - | - | - | - | - | - | - |