Introduction to Programming(INF112-A)
| Course Code | Course Name | Semester | Theory | Practice | Lab | Credit | ECTS |
|---|---|---|---|---|---|---|---|
| INF112-A | Introduction to Programming | 1 | 2 | 0 | 2 | 3 | 4 |
| Prerequisites | |
| Admission Requirements |
| Language of Instruction | French |
| Course Type | Compulsory |
| Course Level | Bachelor Degree |
| Course Instructor(s) | Ahmet Teoman NASKALİ tnaskali@gsu.edu.tr (Email) |
| Assistant | Şükrü Demir İnan ÖZER (Email) |
| Objective |
This course aims to provide students with general programming and algorithmic thinking skills through the fundamental concepts of the C programming language. In this context, the main topics covered include an introduction to programming with C, structured program development, control structures, functions, input/output operations, arrays, file handling, and pointers. Students have the opportunity to apply the knowledge they acquire in the course through programming exercises conducted in the laboratory as well as through assignments. |
| Content |
Week 1 – Basic concepts and introduction to C programming Week 2 – Variable types, initialization, and type conversions Week 3 – Loops and control structures Week 4 – Functions Week 5 – Scope of variables and function return types Week 6 – One-dimensional and multi-dimensional arrays Week 7 – Pointers Week 8 – Midterm exam Week 9 – Character arrays and string operations Week 10 – Structures Week 11 – Dynamic memory management Week 12 – Formatted file reading and writing Week 13 – Character-based file reading and writing Week 14 – Program execution, debugging, and command-line arguments |
| Course Learning Outcomes |
A student who successfully completes this course will be able to: 1. Model a given problem in order to solve it and develop the necessary algorithms; gain proficiency in programming concepts and techniques that are widely used in other programming languages. 2. Use the predefined libraries and functions of the language and write new functions when necessary. 3. Develop code to solve a given problem using variables and loops. 4. Explain how conditional statements can be used, with examples. 5. Explain the differences between static and dynamic memory management concepts and their usage. 6. Perform operations on text files and develop appropriate algorithms. |
| Teaching and Learning Methods | Lectures |
| References |
1. Notes: http://kikencere.gsu.edu.tr/course/view.php?id=17 2. H. M. Deitel & P . J. Deitel, "C: How to Program" 3. Ben Klemens, “21st Century C”, O’Reilly Media |
Theory Topics
| Week | Weekly Contents |
|---|---|
| 1 | Basic concepts and introduction to C programming |
| 2 | Variable types, initialization, type conversions |
| 3 | Loops and control structures |
| 4 | Functions |
| 5 | Scope of variables, function return types |
| 6 | One-dimensional and multi-dimensional arrays |
| 7 | Pointers |
| 8 | Midterm exam |
| 9 | Character arrays and string operations |
| 10 | Structures |
| 11 | Dynamic memory management |
| 12 | Formatted file reading and writing |
| 13 | Character-based file reading and writing |
| 14 | Program execution, debugging, and command-line arguments |
Practice Topics
| Week | Weekly Contents |
|---|---|
| 1 | Basic concepts and introduction to C programming |
| 2 | Variable types, initialization, type conversions |
| 3 | Loops and control structures |
| 4 | Functions |
| 5 | Scope of variables, function return types |
| 6 | One-dimensional and multi-dimensional arrays |
| 7 | Pointers |
| 8 | Midterm exam |
| 9 | Character arrays and string operations |
| 10 | Structures |
| 11 | Dynamic memory management |
| 12 | Formatted file reading and writing |
| 13 | Character-based file reading and writing |
| 14 | Program execution, debugging, and command-line arguments |
Contribution to Overall Grade
| Number | Contribution | |
|---|---|---|
| Contribution of in-term studies to overall grade | 8 | 60 |
| Contribution of final exam to overall grade | 1 | 40 |
| Toplam | 9 | 100 |
In-Term Studies
| Number | Contribution | |
|---|---|---|
| Assignments | 7 | 40 |
| Presentation | 0 | 0 |
| Midterm Examinations (including preparation) | 1 | 20 |
| Project | 0 | 0 |
| Laboratory | 0 | 0 |
| Other Applications | 0 | 0 |
| Quiz | 0 | 0 |
| 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 | 8 | 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. | |||||
| 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. | X | ||||
| 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. | X | ||||
| 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. | X | ||||
| Activities | Number | Period | Total Workload |
|---|---|---|---|
| Class Hours | 13 | 3 | 39 |
| Working Hours out of Class | 8 | 2 | 16 |
| Assignments | 7 | 1 | 7 |
| Presentation | 0 | 0 | 0 |
| Midterm Examinations (including preparation) | 1 | 5 | 5 |
| Project | 0 | 0 | 0 |
| Laboratory | 13 | 2 | 26 |
| Other Applications | 0 | 0 | 0 |
| Final Examinations (including preparation) | 1 | 7 | 7 |
| Quiz | 0 | 0 | 0 |
| 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 |
| Yıl Sonu | 0 | 0 | 0 |
| Hazırlık Yıl Sonu | 0 | 0 | 0 |
| Hazırlık Bütünleme | 0 | 0 | 0 |
| Total Workload | 100 | ||
| Total Workload / 25 | 4.00 | ||
| Credits ECTS | 4 | ||


