COMPUTER ENGINEERING | |||||
Bachelor | TR-NQF-HE: Level 6 | QF-EHEA: First Cycle | EQF-LLL: Level 6 |
Course Code: | 1410111001 | ||||||||
Ders İsmi: | Programming I | ||||||||
Ders Yarıyılı: | Fall | ||||||||
Ders Kredileri: |
|
||||||||
Language of instruction: | TR | ||||||||
Ders Koşulu: | |||||||||
Ders İş Deneyimini Gerektiriyor mu?: | No | ||||||||
Type of course: | Necessary | ||||||||
Course Level: |
|
||||||||
Mode of Delivery: | Face to face | ||||||||
Course Coordinator : | Dr.Öğr.Üyesi Adem ÖZYAVAŞ | ||||||||
Course Lecturer(s): |
Dr.Öğr.Üyesi Mehmet Serdar BİÇER Dr.Öğr.Üyesi Adem ÖZYAVAŞ Dr.Öğr.Üyesi Osman DURMAZ |
||||||||
Course Assistants: |
Course Objectives: | This course is designed for students with no programming experience. The course teaches the fundamental concepts of procedural programming. Topics include algorithms and problem solving, data types, control structures, functions, arrays, testing and finding errors. |
Course Content: | The course assumes no knowledge in computer programming. It introduces the students to the basic concepts and techniques of developing programs for problem solving. Imperative/procedural/structured programming methodology is used throughout the course to teach the fundamentals of programming. In this course, students learn how to design, implement, debug, and document programs. It establishes the foundation on which students are able to develop application programs using the C programming language. |
The students who have succeeded in this course;
|
Week | Subject | Related Preparation |
1) | Number systems, notions and representations, memory organization, algorithms, compilation (compiler) vs interpretation (interpreter). | Instructor's Notes |
2) | Flow Charts diagrams, algorithms and algorithm design | Instructor's Notes |
3) | data types, declarations, expressions, keywords, naming conventions, (destructive) assignment statement, sequential programming arrays and its properties and processing, arrays of different types including strings, arrays of different dimensions | The C Programming Language |
4) | Conditional statements, logical/relational operators and Boolean expressions, while/for loops (iterations). | The C Programming Language |
5) | Functions and functional decomposition, top-down programming, pass-by-value semantics, scope. | The C Programming Language |
6) | recursion, recursive vs iterative solutions. | The C Programming Language |
7) | pointer/pointer arithmetic and memory management, program debugging, syntax and logic errors, arrays as constant pointers, function pointers. | The C Programming Language |
8) | MIDTERM | |
9) | More on pointers (pointers to pointers, pointers to pointers to pointers). | The C Programming Language |
10) | Writing your own string processing functions and using library functions | The C Programming Language |
11) | Binary vs text-based file I/O | The C Programming Language |
12) | Binary vs text-based file I/O. | The C Programming Language |
13) | C structs and unions, typedef, macros | The C Programming Language |
14) | Writing flexible (easy-to-maintain) code (modular design), header files and implementation files (.h and .c files). Data structures implementations such as Stack, Queue, Map in C. | The C Programming Language |
15) | Review of the semester material. | The C Programming Language |
16) | Final |
Course Notes / Textbooks: | The C Programming Language: Brian Kernighan and Dennis Ritchie |
References: | The C Programming Language: Brian Kernighan, Dennis Ritchie |
Ders Öğrenme Kazanımları | 1 |
2 |
4 |
3 |
||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Program Outcomes | ||||||||||||||||
1) PO 1.1) Sufficient knowledge in mathematics, science and computer engineering | ||||||||||||||||
2) PO 1.2) Ability to apply theoretical and applied knowledge in mathematics, science and computer engineering for modeling and solving engineering problems. | ||||||||||||||||
3) PO 2.1) Identifying complex engineering problems | ||||||||||||||||
4) PO 2.2) Defining complex engineering problems | ||||||||||||||||
5) PO 2.3) Formulating complex engineering problems | ||||||||||||||||
6) PO 2.4) Ability to solve complex engineering problems | ||||||||||||||||
7) PO 2.5) Ability to choose and apply appropriate analysis and modeling methods | ||||||||||||||||
8) PO 3.1) Ability to design a complex system, process, device or product to meet specific requirements under realistic constraints and conditions. | ||||||||||||||||
9) PO 3.2) Ability to apply modern design methods under realistic constraints and conditions for a complex system, process, device or product | ||||||||||||||||
10) PO 4.1) Developing modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering applications | ||||||||||||||||
11) PO 4.2) Ability to select and use modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering applications | ||||||||||||||||
12) PO 4.3) Ability to use information technologies effectively. | ||||||||||||||||
13) PO 5.1) Examination of complex engineering problems or discipline-specific research topics, designing experiments | ||||||||||||||||
14) PO 5.2) Examination of complex engineering problems or discipline-specific research topics, experimentation | ||||||||||||||||
15) PO 5.3 ) Analysis of complex engineering problems or discipline-specific research topics, data collection | ||||||||||||||||
16) PO 5.4) Analyzing the results of complex engineering problems or discipline-specific research topics | ||||||||||||||||
17) PO 5.5) Examining and interpreting complex engineering problems or discipline-specific research topics |
No Effect | 1 Lowest | 2 Low | 3 Average | 4 High | 5 Highest |
Program Outcomes | Level of Contribution | |
1) | PO 1.1) Sufficient knowledge in mathematics, science and computer engineering | |
2) | PO 1.2) Ability to apply theoretical and applied knowledge in mathematics, science and computer engineering for modeling and solving engineering problems. | |
3) | PO 2.1) Identifying complex engineering problems | |
4) | PO 2.2) Defining complex engineering problems | |
5) | PO 2.3) Formulating complex engineering problems | |
6) | PO 2.4) Ability to solve complex engineering problems | |
7) | PO 2.5) Ability to choose and apply appropriate analysis and modeling methods | |
8) | PO 3.1) Ability to design a complex system, process, device or product to meet specific requirements under realistic constraints and conditions. | |
9) | PO 3.2) Ability to apply modern design methods under realistic constraints and conditions for a complex system, process, device or product | |
10) | PO 4.1) Developing modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering applications | |
11) | PO 4.2) Ability to select and use modern techniques and tools necessary for the analysis and solution of complex problems encountered in engineering applications | |
12) | PO 4.3) Ability to use information technologies effectively. | |
13) | PO 5.1) Examination of complex engineering problems or discipline-specific research topics, designing experiments | |
14) | PO 5.2) Examination of complex engineering problems or discipline-specific research topics, experimentation | 5 |
15) | PO 5.3 ) Analysis of complex engineering problems or discipline-specific research topics, data collection | |
16) | PO 5.4) Analyzing the results of complex engineering problems or discipline-specific research topics | |
17) | PO 5.5) Examining and interpreting complex engineering problems or discipline-specific research topics |
Bireysel çalışma ve ödevi | |
Course | |
Grup çalışması ve ödevi | |
Labs | |
Homework | |
Web Tabanlı Öğrenme |
Yazılı Sınav (Açık uçlu sorular, çoktan seçmeli, doğru yanlış, eşleştirme, boşluk doldurma, sıralama) | |
Homework | |
Uygulama |
Semester Requirements | Number of Activities | Level of Contribution |
Laboratory | 10 | % 5 |
Homework Assignments | 3 | % 15 |
Midterms | 1 | % 20 |
Semester Final Exam | 1 | % 60 |
total | % 100 | |
PERCENTAGE OF SEMESTER WORK | % 40 | |
PERCENTAGE OF FINAL WORK | % 60 | |
total | % 100 |
Activities | Number of Activities | Duration (Hours) | Workload |
Course Hours | 14 | 2 | 28 |
Laboratory | 14 | 2 | 28 |
Study Hours Out of Class | 14 | 4 | 56 |
Homework Assignments | 14 | 2 | 28 |
Midterms | 1 | 2 | 2 |
Final | 1 | 3 | 3 |
Total Workload | 145 |