Algorithms and Advanced Programming (INF114)
Course Code | Course Name | Semester | Theory | Practice | Lab | Credit | ECTS |
---|---|---|---|---|---|---|---|
INF114 | Algorithms and Advanced Programming | 2 | 3 | 0 | 2 | 4 | 5 |
Prerequisites | |
Admission Requirements |
Language of Instruction | French |
Course Type | Compulsory |
Course Level | Bachelor Degree |
Course Instructor(s) | Pınar ULUER puluer@gsu.edu.tr (Email) |
Assistant | Şükrü Demir İnan ÖZER (Email) İsmail Ozan ÇELİKEL (Email) |
Objective | In this course, the fundamental concepts covered in the first semester course "Introduction to Programming" are consolidated. Particularly the topics of pointers, dynamic memory allocation and management, introduction to algorithm analysis, fondamental principals of algorithms, sorting algorithmes and algorithmic modeling are elaborated. In the course practice (lab sessions) C programming language and the Linux operating system are used. |
Content |
- Introduction and Reminders - Dynamic Memory Allocation - Linked List - Stack and Queue - Algorithmic analyze - Fundamentals: Recursion, search, divide and conquer - Sorting algorithmes - Algorithmic modeling |
Course Learning Outcomes |
- In-depth knowledge of C programming - Knowledge of memory management, basic data structures, sorting algorithms - Ability to model and design algorithms - Ability to analyze algorithms |
Teaching and Learning Methods | Class lectures, discussion, question-answer, problem solving, lab and project |
References |
Algorithms, Robert Sedgewick and Kevin Wayne, Pearson, 2011 The Algorithm Design Manual, Steven S. Skiena, Springer, 2008 Introduction to Algorithms, Cormen, Leiserson, Rivest & Stein, MIT Press, 2009 Understanding and Using C Pointers, Richard Reese, O’Reilly Media, 2013 |
Theory Topics
Week | Weekly Contents |
---|---|
1 | Introduction and Reminders |
2 | Dynamic Memory Allocation |
3 | Linked List |
4 | Linked List Operations |
5 | Stack and Queue |
6 | Introduction to Algorithmic Analysis |
7 | Big-Oh Notation |
8 | Midterm Exam |
9 | Fundamentals : Recursion versus Iteration |
10 | Fundamentals : Search, divide and conquer |
11 | Sorting Algorithms |
12 | Algorithmic Analysis of Sorting Algorithms |
13 | Algorithmic Design |
14 | Algorithmic Design |
Practice Topics
Week | Weekly Contents |
---|---|
1 | Reminders |
2 | Dynamic Memory Allocation |
3 | Linked List |
4 | Linked List Operations |
5 | Stack and Queue |
6 | Introduction to Algorithmic Analysis |
7 | Big-Oh Notation |
8 | Midterm Exam |
9 | Fundamentals : Recursion versus Iteration |
10 | Fundamentals : Search, divide and conquer |
11 | Sorting Algorithms |
12 | Algorithmic Analysis of Sorting Algorithms |
13 | Algorithmic Design |
14 | Students' Project Presention |
Contribution to Overall Grade
Number | Contribution | |
---|---|---|
Contribution of in-term studies to overall grade | 0 | 60 |
Contribution of final exam to overall grade | 0 | 40 |
Toplam | 0 | 100 |
In-Term Studies
Number | Contribution | |
---|---|---|
Assignments | 0 | 0 |
Presentation | 0 | 0 |
Midterm Examinations (including preparation) | 1 | 30 |
Project | 1 | 10 |
Laboratory | 10 | 10 |
Other Applications | 0 | 0 |
Quiz | 5 | 10 |
Term Paper/ Project | 0 | 0 |
Portfolio Study | 0 | 0 |
Reports | 0 | 0 |
Learning Diary | 0 | 0 |
Thesis/ Project | 0 | 0 |
Seminar | 0 | 0 |
Other | 0 | 0 |
Make-up | 0 | 0 |
Toplam | 17 | 60 |
No | Program Learning Outcomes | Contribution | ||||
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
1 | Matematik, fizik ve mühendislik bilimlerine özgü konularda yeterli bilgi birikimi; bu alanlardaki kuramsal ve uygulamalı bilgileri, mühendislik problemlerinin modellenmesi ve çözümünde kullanabilme becerisi. | X | ||||
2 | Karmaşık bilgisayar mühendisliği problemlerini saptama, tanımlama, formüle etme ve çözme becerisi; bu amaçla uygun analiz ve modelleme yöntemlerini seçme ve uygulama becerisi. | X | ||||
3 | Yazılımsal veya donanımsal karmaşık bir sistemi, süreci veya donanımı 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. | X | ||||
4 | 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. | X | ||||
5 | Analitik düşünce ile bir sistemi, sistem bileşenini ya da süreci analiz etme, modelleme, deney tasarlama ve yapma, veri toplama, çözüm algoritmaları üretebilme, uygulamaya alma ve geliştirme becerileri. | X | ||||
6 | Disiplin içi ve çok disiplinli takımlarda etkin biçimde çalışabilme becerisi; bireysel çalışma becerisi. | X | ||||
7 | Türkçe sözlü ve yazılı etkin iletişim kurma becerisi; en az iki yabancı dil bilgisi; etkin rapor yazma ve yazılı raporları anlama, yazılım ve donanım tasarımını, gerekirse teknik resim metotları kullanarak raporlayabilme, etkin sunum yapabilme becerisi. | X | ||||
8 | Bilgiye erişebilme ve bu amaçla kaynak araştırması yapabilme, veri tabanları ve diğer bilgi kaynaklarını kullanabilme becerisi | X | ||||
9 | Yaşam boyu öğrenmenin gerekliliği bilinci; kendini sürekli yenileme becerisi. | X | ||||
10 | Mesleki etik ilkelerine uygun davranma, mesleki sorumluluk bilinci; mühendislik uygulamalarında kullanılan standartlar hakkında bilgi. | |||||
11 | 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. | |||||
12 | 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. | X | ||||
13 | Bilgisayar mühendisliği uygulamalarının hukuki ve etik boyutları konusunda farkındalık. |
Activities | Number | Period | Total Workload |
---|---|---|---|
Class Hours | 14 | 3 | 42 |
Working Hours out of Class | 0 | 0 | 0 |
Assignments | 5 | 2 | 10 |
Presentation | 0 | 0 | 0 |
Midterm Examinations (including preparation) | 1 | 10 | 10 |
Project | 1 | 10 | 10 |
Laboratory | 14 | 2 | 28 |
Other Applications | 0 | 0 | 0 |
Final Examinations (including preparation) | 1 | 10 | 10 |
Quiz | 5 | 1 | 5 |
Term Paper/ Project | 0 | 0 | 0 |
Portfolio Study | 0 | 0 | 0 |
Reports | 0 | 0 | 0 |
Learning Diary | 0 | 0 | 0 |
Thesis/ Project | 0 | 0 | 0 |
Seminar | 0 | 0 | 0 |
Other | 0 | 0 | 0 |
Make-up | 0 | 0 | 0 |
Total Workload | 115 | ||
Total Workload / 25 | 4.60 | ||
Credits ECTS | 5 |