| Course Name | Code | Semester | T+U Hours | Credit | ECTS |
|---|---|---|---|---|---|
| Data Structures and Programming | BTP 106 | 2 | 3 + 0 | 3 | 5 |
| Precondition Courses | |
| Recommended Optional Courses | |
| Course Language | Turkish |
| Course Level | Associate's Degree |
| Course Type | Compulsory |
| Course Coordinator | Öğr.Gör. SİNAN İLYAS |
| Course Lecturers | Öğr.Gör. SİNAN İLYAS, |
| Course Assistants | |
| Course Category | Other |
| Course Objective | The goal is to make students able to develop software using data structures, by teaching general structures of programming languages. |
| Course Content | General structures of C/C++ programming language, general structures of programming languages, recursive functions, functions, stack structure, queue structure, linked lists, basic sorting and searching algorithms, algorithm analysis, tree structure. |
| # | Course Learning Outcomes | Teaching Methods | Assessment Methods |
|---|---|---|---|
| 1 | To describe general structures of programming languages and use C/C++ programming language | Lecture, Question-Answer, Brain Storming, Lab / Workshop, | |
| 2 | To describe data types used in programming languages and use C/C++ programming language | Lecture, Question-Answer, Brain Storming, Lab / Workshop, | |
| 3 | To describe basic decisional structures and loops used in programming languages and use C/C++ programming language | Lab / Workshop, | |
| 4 | To describe functions and structure of recursive functions, create recursive functions in programming languages | Lecture, Question-Answer, Brain Storming, Lab / Workshop, | |
| 5 | To analyze developed algorithms and compute time complexity | Lecture, Question-Answer, Brain Storming, Lab / Workshop, | |
| 6 | To describe structures of queue, stack and linked list, and use these in software design level | ||
| 7 | To use basic sorting algorithms in software design | ||
| 8 | To use basic searching algorithms in software design | ||
| 9 | To describe structures and types of trees |
| Week | Course Topics | Preliminary Preparation |
|---|---|---|
| 1 | Introduction to data structures, general structure and properties of C/C++ programming language, use of C/C++ compiler | |
| 2 | General structure of programming language, basic data types, composite data types, declaration of data type, input-output operations in C/C++ | |
| 3 | Decisional structures (True-False, Multi-select structures) and Loops (while, for loops) in C | |
| 4 | Subroutines, functions, recursive functions in C/C++ | |
| 5 | Arrays (one-dimensional arrays, multi- dimensional arrays, matrices) in C/C++ | |
| 6 | Standard C Library functions (mathematical functions, termination functions, character operations and data conversion functions) | |
| 7 | Algorithm analysis, complexity of algorithms, operation time complexity and time complexity, analyze of time complexities | |
| 8 | Stack structures, add or remove nodes from a stack, example of a stack structure | |
| 9 | Queue structures, add or remove nodes from a queue, example of a queue structure | |
| 10 | Linked lists, types of linked lists (Circularly-linked lists, Doubly-linked lists, vs.), algorithmic approach for linked list structure | |
| 11 | Introduction to sorting algorithms, select and sort algorithms, bubble sort algorithms | |
| 12 | Insertion sort algorithm, merge sort algorithm | |
| 13 | Introduction to searching algorithm, linear search algorithm, binary search algorithm | |
| 14 | Tree structures, tree types |
| Resources | |
|---|---|
| Course Notes | |
| Course Resources | |
| Order | Program Outcomes | Level of Contribution | |||||
|---|---|---|---|---|---|---|---|
| 1 | 2 | 3 | 4 | 5 | |||
| # | Contribution of Course Learning Outcomes to Program Outcomes |
|---|---|
| 1 | To describe general structures of programming languages and use C/C++ programming language |
| 2 | To describe data types used in programming languages and use C/C++ programming language |
| 3 | To describe basic decisional structures and loops used in programming languages and use C/C++ programming language |
| 4 | To describe functions and structure of recursive functions, create recursive functions in programming languages |
| 5 | To analyze developed algorithms and compute time complexity |
| 6 | To describe structures of queue, stack and linked list, and use these in software design level |
| 7 | To use basic sorting algorithms in software design |
| 8 | To use basic searching algorithms in software design |
| 9 | To describe structures and types of trees |
| Evaluation System | |
|---|---|
| Semester Studies | Contribution Rate |
| 1. Kısa Sınav | 50 |
| 2. Kısa Sınav | 50 |
| Total | 100 |
| 1. Yıl İçinin Başarıya | 20 |
| 1. Final | 80 |
| Total | 100 |
| ECTS - Workload Activity | Quantity | Time (Hours) | Total Workload (Hours) |
|---|---|---|---|
| Course Duration (Including the exam week: 16x Total course hours) | 16 | 3 | 48 |
| Hours for off-the-classroom study (Pre-study, practice) | 16 | 3 | 48 |
| Mid-terms | 1 | 10 | 10 |
| Quiz | 2 | 5 | 10 |
| Assignment | 1 | 5 | 5 |
| Final examination | 1 | 15 | 15 |
| Total Workload | 136 | ||
| Total Workload / 25 (Hours) | 5.44 | ||
| dersAKTSKredisi | 5 | ||