ALGORİTMA VE PROGRAMLAMA
- Ders
- CMPE124 - ALGORİTMA VE PROGRAMLAMA
- Bölüm
- Bilgisayar Mühendisliği - İngilizce - Lisans
- Ders Tipi
- Ders
- Durum
- Zorunlu
- Dil
- İngilizce
- Kredi
- 4
- AKTS
- 6
- T+P+L
- 3 + 0 + 2
- Ders Koordinatörleri
- Dr. Öğr. Gör. Basmah ANBER
- Ö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. Arası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)
Değerlendirme öğesi tanımlanmamış.
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 | Review Arrays (1 Dimension & 2 Dimensions) |
| Hafta 2 | C-Strings (Character Arrays); Pointers |
| Hafta 3 | Functions (Value returning & Void ); Recursion |
| Hafta 4 | Arrays as Parameters to Functions (1 Dimension & 2 Dimensions) |
| Hafta 5 | APPLICATIONS OF ARRAYS (SEARCHING AND SORTING): Sequential Search, Binary Search |
| Hafta 6 | APPLICATIONS OF ARRAYS (SEARCHING AND SORTING): Bubble Sort, Selection Sort |
| Hafta 7 | Review |
| Hafta 8 | Midterm Examination |
| Hafta 9 | APPLICATIONS OF ARRAYS (SEARCHING AND SORTING): Divide and Conquer approach, Quick Sort, Merge Sort |
| Hafta 10 | Structure, Union, Bit, Manipulations and Enumerations |
| Hafta 11 | File Input/Output; Complexity Analysis of Algorithms |
| Hafta 12 | Complexity Analysis of Algorithms |
| Hafta 13 | Complexity Analysis of Algorithms |
| Hafta 14 | Complexity Analysis of Algorithms |
| Hafta 15 | Final Exam |
Referans Kitaplar & Ders Materyalleri
- 01 C++ PROGRAMMING: FROM PROBLEM ANALYSIS TO PROGRAM DESIGN, DS Malik
- 02 C How to Program, Fifth Edition, Deitel & Deitel, Prentice Hall, 2005.
- 03 1. J. Glenn Brookshear, Computer Science, Eighth edition, Addison Wesley, 2004.
- 04 A Book on C, Fourth Edition, Al Kelley and Ira Pohl, Addison Wesley, 1999.
Ders Çıktıları
- L01
- L02
- L03
- L04
- L05
- L06
Program Çıktıları
- Matematik, fen bilimleri ve ilgili mühendislik disiplinine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, karmaşık mühendislik problemlerinde kullanabilme becerisi.
- 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.
- 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.
- Mühendislik uygulamalarında karşılaşılan karmaşık problemlerin analizi ve çözümü için gerekli olan modern teknik ve araçları geliştirme, seçme ve kullanma becerisi; bilişim teknolojilerini etkin bir şekilde kullanma becerisi.
- Karmaşık mühendislik problemlerinin veya disipline özgü araştırma konularının incelenmesi için deney tasarlama, deney yapma, veri toplama, sonuçları analiz etme ve yorumlama becerisi.
- Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi.
- Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az bir yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, tasarım ve üretim raporları hazırlayabilme, etkin sunum yapabilme, açık ve anlaşılır talimat verme ve alma becerisi.
- Yaşam boyu öğrenmenin gerekliliği bilinci; bilgiye erişebilme, bilim ve teknolojideki gelişmeleri izleme ve kendini sürekli yenileme becerisi.
- Etik ilkelerine uygun davranma, mesleki ve etik sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi.
- Proje yönetimi, risk yönetimi ve değişiklik yönetimi gibi , iş hayatındaki uygulamalar hakkında bilgi; girişimcilik, yenilikçilik hakkında farkındalık; sürdürülebilir kalkınma hakkında bilgi.
- Mühendislik uygulamalarının evrensel ve toplumsal boyutlarda sağlık, çevre ve güvenlik üzerindeki etkileri ve çağın mühendislik alanına yansıyan sorunları hakkında bilgi; mühendislik çözümlerinin hukuksal sonuçları konusunda farkındalık.
Pç-Dç Matrisi
| ÖÇ | Ortalama | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| L01 | - | - | - | - | - | - | - | - | - | - | - | - |
| L02 | - | - | - | - | - | - | - | - | - | - | - | - |
| L03 | - | - | - | - | - | - | - | - | - | - | - | - |
| L04 | - | - | - | - | - | - | - | - | - | - | - | - |
| L05 | - | - | - | - | - | - | - | - | - | - | - | - |
| L06 | - | - | - | - | - | - | - | - | - | - | - | - |