|
YZM1003 | Introduction to Programming and Algorithm | 3+1+0 | ECTS:5 | Year / Semester | Fall Semester | Level of Course | First Cycle | Status | Compulsory | Department | DEPARTMENT of SOFTWARE ENGINEERING | Prerequisites and co-requisites | None | Mode of Delivery | | Contact Hours | 14 weeks - 3 hours of lectures and 1 hour of practicals per week | Lecturer | Öğr. Gör. Selda ATALAR | Co-Lecturer | | Language of instruction | Turkish | Professional practise ( internship ) | None | | The aim of the course: | The aim of this course is to develop algorithms for solving problems, to teach students algorithm analysis and to introduce students to the basic programming principles. For this purpose, the mechanisms used in program writing will be introduced and programs will be designed and implemented in C programming language. |
Learning Outcomes | CTPO | TOA | Upon successful completion of the course, the students will be able to : | | | LO - 1 : | understand the basic structure of program blocks. analyze a problem and build a program flow diagram
| 2,3,4 | 1 | LO - 2 : | have knowledge on loops and decision mechanism to control operation of program. | 2,3,4 | 1 | LO - 3 : | use single and multi-dimensional arrays. see what the arrays and strings are about | 2,3,4 | 1 | LO - 4 : |
interpret the advantages of pointer | 2,3,4 | 1 | LO - 5 : | interpret the advantages of functions | 2,3,4 | 1 | LO - 6 : | use structers | 2,3,4 | 1 | LO - 7 : | perform basic file operations | 2,3,4 | 1 | CTPO : Contribution to programme outcomes, TOA :Type of assessment (1: written exam, 2: Oral exam, 3: Homework assignment, 4: Laboratory exercise/exam, 5: Seminar / presentation, 6: Term paper), LO : Learning Outcome | |
General classification of programming languages. Introduction to Algorithms. Flow diagrams. Pseudo-codes. C programming environment.C Building Blocks. Variables, data types. Arithmetic, relational and logical operations. Input / output procedures, Loops. Decision structures. Functions. Arrays and Strings. Pointers. Structers. File I/O.
|
|
Course Syllabus | Week | Subject | Related Notes / Files | Week 1 | Hardware and Software. Machine language. Assembly language. High level languages. C program development environment. | | Week 2 | Introduction to algorithm formulation. | | Week 3 | Flow charts. Pseudo codes. | | Week 4 | Structure of a simple C program. Variables, data types, operators. Assigning values ??to variables | | Week 5 | Decision structures: if, if-else, switch, conditional operator. | | Week 6 | Loops: for, do-while, while. break and continue statements. | | Week 7 | Function definitions. Function prototypes | | Week 8 | Calling functions by value and by reference. | | Week 9 | Mid-term exam | | Week 10 | Introduction to arrays. Array definitions | | Week 11 | Passing arrays to functions. Multidimensional arrays. | | Week 12 | Structers | | Week 13 | Pointer variables definitions and initialization. Pointer operators. Passing arguments to functions by address. Arrays of pointers. | | Week 14 | File Input/Output | | Week 15 | const qualifier. Preprocessor directives. Header files. | | Week 16 | Final Exam | | |
1 | Deitel P. , Deitel H. 2015; "C How to Program", No:8, Deitel | | |
1 | Çobanoğlu B. 2022, C/C++ Programlama , Kodlab Yayın Dağıtım | | |
Method of Assessment | Type of assessment | Week No | Date | Duration (hours) | Weight (%) | Mid-term exam | 9 | | 1 | 50 | End-of-term exam | 16 | | 2 | 50 | |
Student Work Load and its Distribution | Type of work | Duration (hours pw) | No of weeks / Number of activity | Hours in total per term | Yüz yüze eğitim | 4 | 14 | 56 | Sınıf dışı çalışma | 3 | 14 | 42 | Arasınav için hazırlık | 2 | 8 | 16 | Arasınav | 1 | 1 | 1 | Dönem sonu sınavı için hazırlık | 3 | 6 | 18 | Dönem sonu sınavı | 2 | 1 | 2 | Total work load | | | 135 |
|