Türkçe | English
OF FACULTY of TECHNOLOGY / DEPARTMENT of SOFTWARE ENGINEERING

Course Catalog
http://www.ktu.edu.tr/ofyazilim
Phone: +90 0462 3778353
OFTF
OF FACULTY of TECHNOLOGY / DEPARTMENT of SOFTWARE ENGINEERING /
Katalog Ana Sayfa
  Katalog Ana Sayfa  KTÜ Ana Sayfa   Katalog Ana Sayfa
 
 

YZM1003Introduction to Programming and Algorithm3+1+0ECTS:5
Year / SemesterFall Semester
Level of CourseFirst Cycle
Status Compulsory
DepartmentDEPARTMENT of SOFTWARE ENGINEERING
Prerequisites and co-requisitesNone
Mode of Delivery
Contact Hours14 weeks - 3 hours of lectures and 1 hour of practicals per week
LecturerÖğr. Gör. Selda ATALAR
Co-Lecturer
Language of instructionTurkish
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 OutcomesCTPOTOA
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,41
LO - 2 : have knowledge on loops and decision mechanism to control operation of program.2,3,41
LO - 3 : use single and multi-dimensional arrays. see what the arrays and strings are about2,3,41
LO - 4 : interpret the advantages of pointer2,3,41
LO - 5 : interpret the advantages of functions2,3,41
LO - 6 : use structers2,3,41
LO - 7 : perform basic file operations2,3,41
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

 
Contents of the Course
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
 WeekSubjectRelated Notes / Files
 Week 1Hardware and Software. Machine language. Assembly language. High level languages. C program development environment.
 Week 2Introduction to algorithm formulation.
 Week 3Flow charts. Pseudo codes.
 Week 4Structure of a simple C program. Variables, data types, operators. Assigning values ??to variables
 Week 5Decision structures: if, if-else, switch, conditional operator.
 Week 6Loops: for, do-while, while. break and continue statements.
 Week 7Function definitions. Function prototypes
 Week 8Calling functions by value and by reference.
 Week 9Mid-term exam
 Week 10Introduction to arrays. Array definitions
 Week 11Passing arrays to functions. Multidimensional arrays.
 Week 12Structers
 Week 13Pointer variables definitions and initialization. Pointer operators. Passing arguments to functions by address. Arrays of pointers.
 Week 14File Input/Output
 Week 15const qualifier. Preprocessor directives. Header files.
 Week 16Final Exam
 
Textbook / Material
1Deitel P. , Deitel H. 2015; "C How to Program", No:8, Deitel
 
Recommended Reading
1Çobanoğlu B. 2022, C/C++ Programlama , Kodlab Yayın Dağıtım
 
Method of Assessment
Type of assessmentWeek NoDate

Duration (hours)Weight (%)
Mid-term exam 9 1 50
End-of-term exam 16 2 50
 
Student Work Load and its Distribution
Type of workDuration (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 2 14 28
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 4 12
Dönem sonu sınavı 2 1 2
Total work load115