COURSE DESCRIPTION AND APPLICATION INFORMATION

Course Name Code Semester T+A+L (hour/week) Type (C / O) Local Credit ECTS
Computer Programming I CMPE 140 Fall-Spring 02+02+00 Elective 3 6
Academic Unit: Computer Engineering Department
Mode of Delivery: Face to face
Prerequisites: None
Language of Instruction: English
Level of Course Unit: Undergraduate
Course Coordinator: Rahim DEHKHARGHANİ
Course Lecturer(s): Rahim DEHKHARGHANİ
Course Objectives: The course will provide an understanding of the role computation can play in solving problems. It will help students with little or no programming experience to feel justifiably confident of their ability to write small programs that allow them to accomplish useful goals. The course also teaches students the working principles of a computer, giving context to the common characteristics of programming languages such as variables, flow-control structures, and functions.
Course Contents: The course generally introduces the programming world to students and also helps them to design algorithm for problems and them convert that algorithm to code in the C programming language.
Learning Outcomes of the Course Unit (LO):
  • 1- Conceptualize what happens inside the computer during execution
  • 2- To work with binary, octal, and hexadecimal representations with ease
  • 3- To understand how data is represented in machines
  • 4- Read and write algorithms, pseudo-codes and flow-charts
  • 5- Write small programs in C language
  • 6- Trace a program's state during execution and use the debug
Planned Learning Activities and Teaching Methods: Classroom discussion and computer laboratory work. In-class learning. Programming homeworks and also live projects done individually. Design and implementation of solutions for a real-world problem as a group-work.


WEEKLY SUBJECTS AND RELATED PREPARATIONS

WeekSubjectsRelated Preperation
1 Introduction to Algorithms and flowcharts Lecture slides and lab material
2 Practice on algorithm and flowcharts Lecture slides and lab material
3 Structure of a Program in C Lecture slides and lab material
4 Conditional statements in C Lecture slides and lab material
5 Flow Control in C Lecture slides and lab material
6 Functions Lecture slides and lab material
7 Arrays Lecture slides and lab material
8 Multidimensional Arrays Lecture slides and lab material
9 Search and Sort Lecture slides and lab material
10 Pointers Lecture slides and lab material
11 Coding practice Lecture slides and lab material
12 Coding practice Lecture slides and lab material
13 Coding practice Lecture slides and lab material
14 Coding practice Lecture slides and lab material


REQUIRED AND RECOMMENDED READING

C, How to Program, By Paul J. Deitel, Harvey M. Deitel · 2010


OTHER COURSE RESOURCES

Computer Fundamentals and Programming in C, Pradip Dey, Manas Ghosh, 2. edition (2013), Oxford University Press

The C Programming Language, Brian Kernighan and Dennis Ritchie, 2. edition (1978), Prentice Hall Software Series


ASSESSMENT METHODS AND CRITERIA

Semester RequirementsNumberPercentage of Grade (%)
Attendance / Participation 14 10
Project 2 60
Homework Assignments 4 20
Quizes 2 10
Total: 22 100


WORKLOAD

EventsCountDuration (Hours)Total Workload (hour)
Course Hours21428
Practice / Exercise21428
Homework Assigments4520
Preparation for Presentation / Jury4520
Quizes22754
Total Workload (hour):150


THE RELATIONSHIP BETWEEN COURSE LEARNING OUTCOMES (LO) AND PROGRAM QUALIFICATIONS (PQ)

# PQ1 PQ2 PQ3 PQ4 PQ5 PQ6 PQ7 PQ8 PQ9 PQ10 PQ11 PQ12
LO1                        
LO2                        
LO3                        
LO4                        
LO5                        
LO6