ICS 103 - Fall 2017 (Term 171)
Computer Programming in C


Muhamed F. Mudawar


Office: Building 22, Room 328, Phone: 4642

Schedule and Office Hours

Syllabus | Lectures | Assignments | Example Programs


Final Exam: Sunday, January 7, 2018, at 8 AM, Exhibition Building 54

Quiz 7: 2D Arrays and Strings, Monday, December 25

Quiz 6: Arrays, Searching, Sorting, Wednesday, December 13

Quiz 5: File Input and Output, Wednesday, December 6

Quiz 4: Functions, Parameters, and Pointers, Wednesday, November 22

Quiz 3: Loops and Expressions, Wednesday, November 1

Quiz 2: Selection Structures and Expressions, Wednesday, October 18

Quiz 1: Overview of Computers and Programming in C, Monday, October 9

Midterm Exam: Saturday, November 11, at 10 AM


Ali Abdullatif

Email: s201560490@kfupm.edu.sa

Questions related to assignments and grading should be directed to the teaching assistant.

Catalog Description

Overview of computer hardware and software; Programming in C with emphasis on modular and structured programming technique; Problem solving and algorithm development; Simple engineering and scientific problems. Note: ICS 103 cannot be taken by ICS/SWE students. Credits: 2-3-3.


Problem Solving and Program Design in C, 8th edition, Jeri Hanly and Elliot Koffman, Prentice Hall, 2016.

Course Objective

Provide engineering students with basic knowledge of programming in C and problem solving.

Course Learning Outcomes

Upon completion of this course, you should be able to:

  1. Understand and find the output of simple C programs that incorporate different types of variables, arithmetic and logical expressions, selection, and iteration.

  2. Understand and find the output of more complex C programs containing arrays, and invoking functions having input and output pointer arguments.

  3. Design and implement simple programs using basic syntax of C language such as assignment, expressions, selection, and iteration.

  4. Practice modular programming by developing more complex C programs that include functions, and passing different types of arguments.

Lab Learning Outcomes

  1. Use effectively a software development tool for C programming.

  2. Comprehend theoretical concepts through practical examples.

  3. Strengthen programming capabilities to construct software systems of varying complexity.

  4. Enhance teamwork and communication skills.

  5. Engage in continuing professional development.

Integrated Development Environment (IDE)

Dev-C++: Runs only on Windows Platforms

Code::Blocks: Runs on Windows, Linux, and Mac OS

Previous Exams

Midterm Exam - Term 142, Solution

Midterm Exam - Term 141, Solution

Midterm Exam - Term 132, Solution

Midterm Exam - Term 111, Solution

Final Exam - Term 142, Solution

Final Exam - Term 141, Solution

Final Exam - Term 132, Solution

Final Exam - Term 131, Solution

Final Exam - Term 122, Solution

Final Exam - Term 112, Solution

Academic Honesty

View important information on academic honesty

Grading Components

Lab : 20%

Homework and Quizzes : 25%

Midterm Exam : 25%

Final Exam : 30%


  Last Updated: Monday January 01, 2018, by Dr. Muhamed Mudawar