Course Information


Course Information
Course Title Code Semester L+U Hour Credits ECTS
COMPUTER PROGRAMMING I COM1001 1. Semester 4 + 2 5.0 6.0

Prerequisites None

Language of Instruction English
Course Level Bachelor's Degree
Course Type Compulsory
Mode of delivery
Course Coordinator
Instructors İrem ÜLKÜ
Assistants Abidin Ayberk CERAN
Mürüvvet KALKAN
Talha Burak ÖZKÖK
Goals The aim of this course is to introduce the basic programming language concepts using C Programming Language. At the end of this couse, students will not only learn the syntax and semantics of C programming language, but also complete many difficult programming assignments and lab applications.
Course Content Introduction to Programming Languages and C Programming Language, Sequential Structures, Expressions and Statements ( Evaluation of an expression, precedence and associativity rules, parantheses rule, assignment statements, increment and decrement operators, compound assignment operators, nested assignments, basic input/output library functions, type conversions, simple macros),Selective Structure (Logical operators, relational operators, conditional expression operator, conditional statements, nested conditional statements, dangling else problem, multiway conditional statements, constant MCS-switch statements), Repetitive structure (Pre-test loop structure, post-test loop structure, while statements, do-while loops, for loops, infinite loops, nested loops, loop interruption, null statement, comma operator), Function definition, local variable declarations, return statement, function call, call by value/reference conceptes, Function prototypes, external variables, storage classes, automatic/static variables, recursion, Basics, array declaration, accessing array elements, initialization, passing arrays as function arguments, Basics of pointers, address and dereferencing ops, pointer type declaration, pointer assignment and initialization, Functions and pointers, call by reference, arrays vs pointers, strings and pointers, string library functions, multi-dimensional arrays and pointers, pointer arrays, command-line aguments, dynamic memory management, Stucture definition, structure variable declarations, intialization, accessing members, structure assignments, nested structures, pointers to structures, structures and functions, Arrays of structures, self-referencial structures, linked lists, trees, unions, Bitwise operators, precedence and associativity rules, left/right shift operators, bit fields, Pre-processors and File Operations.
Learning Outcomes 1) Acquisition of the basics of a general purpose, imperative programming language constructs; can implement programs using using sequential, selective and repetitive structures.
2) Ability to write C programs that correspond to mathematical expressions
3) Ability to design and implement functions.
4) Ability to design and implement user defined types.
5) Ability to develop applications that work with pointers using dynamic memory allocation.
6) Ability to design and implement an algorithm in order to solve a specific problem on computers.
7) Ability to gain primary file processing ability using C programming language.

Weekly Topics (Content)
Week Topics Teaching and Learning Methods and Techniques Study Materials
1. Week Introduction to Programming Languages and C PL. (Principle components of a computer system, computer memory, machine language, assembly language, higher level languages, history of C, compilation of a C program) Lecture; Discussion
Opinion Pool
Scenario Based Learning
Activity (Web Search, Library Work, Trip, Observation, Interview etc.)
2. Week Sequential Structures ( A simple sequential program, character set, built-in C data types, variable declarations, constants, arithmetic operators) Lecture; Question Answer
Brainstorming; Opinion Pool
Problem Based Learning; Scenario Based Learning
Practice (Teaching Practice, Music/Musical Instrument Practice, Statistics, Laboratory, Field Work, Clinic and Polyclinic Practice)
3. Week Expressions and Statements ( Evaluation of an expression, precedence and associativity rules, parantheses rule, assignment statements, increment and decrement operators, compound assignment operators, nested assignments, basic input/output library functions, type conversions, simple macros) Lecture; Question Answer
Brainstorming; Opinion Pool
Problem Based Learning; Scenario Based Learning
Homework Practice (Teaching Practice, Music/Musical Instrument Practice, Statistics, Laboratory, Field Work, Clinic and Polyclinic Practice)
4. Week Selective Structure (Logical operators, relational operators, conditional expression operator, conditional statements, nested conditional statements, dangling else problem, multiway conditional statements, constant MCS-switch statements) Lecture; Question Answer
Brainstorming; Opinion Pool
Problem Based Learning; Scenario Based Learning
Practice (Teaching Practice, Music/Musical Instrument Practice, Statistics, Laboratory, Field Work, Clinic and Polyclinic Practice)
5. Week Repetitive structure (Pre-test loop structure, post-test loop structure, while statements, do-while loops, for loops, infinite loops, nested loops, loop interruption, null statement, comma operator) Lecture; Question Answer
Brainstorming; Opinion Pool
Problem Based Learning; Scenario Based Learning
Homework Practice (Teaching Practice, Music/Musical Instrument Practice, Statistics, Laboratory, Field Work, Clinic and Polyclinic Practice)
6. Week Functions-1 (Function definition, local variable declarations, return statement, function call, call by value/reference conceptes) Lecture; Question Answer
Brainstorming; Opinion Pool
Problem Based Learning; Scenario Based Learning
Practice (Teaching Practice, Music/Musical Instrument Practice, Statistics, Laboratory, Field Work, Clinic and Polyclinic Practice)
7. Week Functions-2 ( Function prototypes, external variables, storage classes, automatic/static variables, recursion) Lecture; Question Answer
Brainstorming; Opinion Pool
Problem Based Learning; Scenario Based Learning
Homework Practice (Teaching Practice, Music/Musical Instrument Practice, Statistics, Laboratory, Field Work, Clinic and Polyclinic Practice)
8. Week Arrays and Pointers-1 (Basics, array declaration, accessing array elements, initialization, passing arrays as function arguments) Lecture; Question Answer
Opinion Pool
Problem Based Learning; Scenario Based Learning
Practice (Teaching Practice, Music/Musical Instrument Practice, Statistics, Laboratory, Field Work, Clinic and Polyclinic Practice)
9. Week Arrays and Pointers-2 (Basics of pointers, address and dereferencing ops, pointer type declaration, pointer assignment and initialization) Lecture; Question Answer
Brainstorming; Opinion Pool
Problem Based Learning; Scenario Based Learning
Homework Practice (Teaching Practice, Music/Musical Instrument Practice, Statistics, Laboratory, Field Work, Clinic and Polyclinic Practice)
10. Week Arrays and Pointers-3 ( Functions and pointers, call by reference, arrays vs pointers, strings and pointers, string library functions, multi-dimensional arrays and pointers, pointer arrays, command-line aguments, dynamic memory management) Lecture; Question Answer
Brainstorming; Opinion Pool
Problem Based Learning; Scenario Based Learning
Practice (Teaching Practice, Music/Musical Instrument Practice, Statistics, Laboratory, Field Work, Clinic and Polyclinic Practice)
11. Week Structures and unions (Stucture definition, structure variable declarations, intialization, accessing members, structure assignments, nested structures, pointers to structures, structures and functions) Lecture; Question Answer
Brainstorming; Opinion Pool
Problem Based Learning; Scenario Based Learning
Homework Practice (Teaching Practice, Music/Musical Instrument Practice, Statistics, Laboratory, Field Work, Clinic and Polyclinic Practice)
12. Week Structures and unions-2 ( Arrays of structures, self-referencial structures, linked lists, trees, unions) Lecture; Question Answer
Brainstorming; Opinion Pool
Problem Based Learning; Scenario Based Learning
Practice (Teaching Practice, Music/Musical Instrument Practice, Statistics, Laboratory, Field Work, Clinic and Polyclinic Practice)
13. Week Bitwise Operations (Bitwise operators, precedence and associativity rules, left/right shift operators, bit fields) Lecture; Question Answer
Brainstorming; Opinion Pool
Problem Based Learning; Scenario Based Learning
Practice (Teaching Practice, Music/Musical Instrument Practice, Statistics, Laboratory, Field Work, Clinic and Polyclinic Practice)
14. Week Pre-processors and File Operations (Opening/closing files, writing to a file, appending to a file, reading from a file) Lecture; Question Answer
Brainstorming; Opinion Pool
Problem Based Learning; Scenario Based Learning
Homework

Sources Used in This Course
Recommended Sources
“Programming in ANSI C”, Kumar & Agrawal, West Publishing Co., 1992

Relations with Education Attainment Program Course Competencies
Program RequirementsContribution LevelDK1DK2DK3DK4DK5DK6DK7
PY150000000
PY250000000
PY350000000
PY450000000

*DK = Course's Contrubution.
0 1 2 3 4 5
Level of contribution None Very Low Low Fair High Very High
.

ECTS credits and course workload
Event Quantity Duration (Hour) Total Workload (Hour)
Course Duration (Total weeks*Hours per week) 14 4
Work Hour outside Classroom (Preparation, strengthening) 14 1
Homework 4 5
Practice (Teaching Practice, Music/Musical Instrument Practice , Statistics, Laboratory, Field Work, Clinic and Polyclinic Practice) 8 2
Time to prepare for Quiz 8 6
Midterm Exam 1 2
Time to prepare for Midterm Exam 1 8
Final Exam 1 2
Time to prepare for Final Exam 1 8
1 2
1 2
8 2
Total Workload
Total Workload / 30 (s)
ECTS Credit of the Course
Quick Access Hızlı Erişim Genişlet
Course Information