King Fahd University of Petroleum & Minerals
College of Computer Sciences and Engineering
ICS 103: Computer Programming in C (2-3-3)
Summer Semester 2008-2009 (083)
<< Syllabus >>
N.B. All course material and related resources are made available
through WebCT and will be added here soon.
Class Time, Venue and Instructor Information:
Sec. |
Time |
Venue |
Instructor |
Office Hours |
01 |
SUMT 8:10-9:00am |
22-130 |
Dr. AIMAN EL-MALEH Office: 22-318 Phone: 03-860-2811 E-mail: aimane@kfupm.edu.sa |
SUMT 10:00-11:00am* |
02 |
SUMT 9:20-10:10am |
22-119 |
Dr. EL-SAYED EL-ALFY Office: 22-108 Phone: 03-860-1930, E-mail: alfy@kfupm.edu.sa, |
SUMT 10:10-11:00am * |
03 |
SUMT 9:20-10:10am |
24-146 |
Mr. ADIL AL-SUHAIM Office: Phone: 03-860-2279 E-mail: adilas@kfupm.edu.sa |
TBA |
51 |
UT 14:00-17:10 |
23-017 |
Mr. MUHAMMAD W. ASLAM Office: 23-054 Phone: 03-860-3980 E-mail: mwaslam@kfupm.edu.sa |
UT 10:00 11:00am* |
52 |
SM 14:00-17:10 |
23-017 |
SM 10:00 11:00am* |
|
53 |
SM 14:00-17:10 |
22-335 |
Mr. ADIL AL-SUHAIM Office: Phone: 03-860-2279 E-mail: adilas@kfupm.edu.sa |
TBA |
* or by appointment
Course 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.
Co-requisite: MATH 101 or MATH 132
Objectives
To provide engineering students with basic knowledge of programming in C and
problem solving.
Learning Outcomes
Upon completion of the course, you should be able to:
- Understand and find the output of simple C programs that incorporate different types of variables, expressions (arithmetic and logical), selection, and iteration.
- Understand and find the output of more complex C programs containing arrays and invoking (calling) functions having input and output arguments using pointers.
- Design and implement simple programs using basic syntax of C language such as assignment, expressions, selection, and iterations.
- Practice modular programming by developing more complex C programs made of functions passing data between them using arrays, input, and output arguments.
Required Material
C Program Design for Engineers, 2/e, by Jeri R.
Hanley & Elliot B. Koffman. Addison Wesley, 2001.
Lecture and Lab Handouts
Other Recommended
References
Problem Solving and Program Design in C, 6/e, by Jeri R. Hanly & Elliot B.
Koffman. Addison Wesley, 2009. (Latest edition of the textbook)
C for Engineers and Scientists: An Imperative Approach, by Harry H. Cheng.
McGraw Hill, 2009.
Engineering Problem Solving with C, 3/e, by Delores M. Etter, 2005.
C Programming: A Modern Approach, 2/e, by K. N. King, 2008.
C How to Program, 5/e, By Deitel & Deitel, 2007.
C Programming Language, 2/e, by Brian W. Kernighan & Dennis M. Ritchie.
Prentice Hall, 1988.
Grading Policy
Assessment Tool |
Weight |
Lab: Lab assignments 6%, Lab Project 5%, 3 Lab quizzes 9% |
20% |
Lecture quizzes |
10 % |
Homework assignments |
10 % |
Class Participation and Discussions in WebCT |
5 % |
Major Exam 1 (Date: Wed. July 29 @7:30pm-9:30pm, Room: TBA) |
15 % |
Major Exam 2 (Date: Wed. August 19@7:30pm-9:30pm, Room: TBA) |
15 % |
Final Exam (comprehensive) [Date: as announced by the registrar] |
25 % |
Detailed Schedule of Lectures, Labs, Homework, Quizzes & Exams (Tentative)
Note: Material will be updated as necessary.
Wk# |
Lecture |
|
Lab |
|||
Covered Topics |
Readings |
Other Activities |
|
Topics |
Other Activities |
|
1 |
1.1-1.5, H1 |
|
|
Lab0: Introduction of lab course & check login & passwords & Distribution of Syllabus |
|
|
2.1-2.2, H2 |
|
|
|
|
||
2.3-2.5, H3 |
|
|
|
|||
3.1-3.3, H4 |
|
|
|
|
||
2 |
3.4,3.5, H5 |
|
|
|||
4.1-4.5, H6 |
|
|
|
|
||
Selection (cont.) |
4.6-4.7 |
Quiz1 |
|
|
||
5.1-5.5, H7 |
|
|
|
|
||
3 |
Repetition (cont.) |
5.6-5.8 |
|
|
||
Repetition (cont.) |
|
|
|
|
|
|
2.6, H8 |
|
|
||||
6.1, H9 |
|
|
|
|
||
Major Exam 1 (Wed. July 29, at 7:30pm-9:30pm) |
|
|||||
4 |
Function with input Arguments (cont.) |
6.1 |
|
|
Lab quiz 1 |
|
6.3 , 6.5, H10 |
|
|
|
|||
6.6, H11 |
|
|
|
|
||
5 |
7.1-7.3, H12 |
Quiz2 |
|
Lab8: Functions (functions with output parameters using pointers & recursive functions) |
Lab project announced |
|
7.4, H13 |
|
|
|
|||
1-D Array elements as Function arguments (cont.) |
7.4, H13 |
|
|
Lab quiz 2 |
||
1-D Arrays as Function Arguments (cont.) |
7.5 |
|
|
|
||
6 |
7.5, H14 |
|
|
|
||
7.6, H15 |
|
|
Lab11: 1-D Array (Linear & Binary (Iterative & Recursive both) Searching) & Selection & Bubble Sort) |
|
||
Strings (cont.) |
7.6 |
|
|
|
|
|
Major Exam 2 (Wed. August 19, at 7:30pm-9:30pm) |
||||||
7 |
8.1, H16 |
|
|
|||
8.2,8.3, H17 |
|
|
|
|
||
2-D Array (cont.) |
|
Quiz3 |
|
Lab quiz 3 |
||
8 |
Review |
|||||
Final Exam |
Note: H1, H2, .., H17 refer to handouts provided in addition to the textbook
Homework Assignments (WebCT)
Sec 01 | Sec 02 | Sec 03 | |
hw1 | hw1 | hw1 | hw1 |
hw2 | hw2 | hw2 | hw2 |
hw3 | hw3 | hw3 | hw3 |
Quizzes and Keys (WebCT)
Sec 01 | Sec 02 | Sec 03 | |
Quiz1 | Quiz1 | Quiz1 | Quiz1 |
Quiz2 | Quiz2 | Quiz2 | Quiz2 |
Quiz3 | Quiz3 | Quiz3 | Quiz3 |
Exams and Keys (WebCT)
Major 1
Major 2
Final
Previous Exams, Quizzes, Hws (WebCT)
Exams and Keys
Quizzes and Keys
Homework
Software (WebCT)
Turbo C++
Dev-C++ (Dev-C++ Tutorial)
Turbo C
Additional Notes
· Labs: Lectures and labs are integrated and they complement each other. To pass this course, the student must pass the lab-component of the course. The requirements for the lab project will be discussed in the lab.
· Course Website & Participation: Students are required to periodically check the course website and download course material as needed. Several resources will be posted through the website as well. Keys to quizzes and exams are generally discussed during class as time permits but solutions will not be posted. WebCT will be used for communication and interaction, posting and submitting assignments, posting grades, posting sample exams, etc. It is expected that you get benefit of the discussion board by raising questions or answering questions put by others. Up to 5% will be granted based on your active participation and the usefulness of the material you share with other students in WebCT.
· Attendance: Regular attendance is a university requirement; hence attendance will be checked at the beginning of each lecture and lab. Late arrivals will disrupt the class session. Hence, two late attendances (more than 10 minutes) will be considered as one absence. Missing more than 9 lectures or three or more unexcused labs will result in a DN grade without prior warning. To avoid being considered as absent, an official excuse must be shown no later than one week of returning to classes. Every unexcused absence leads to a loss of 0.5% of total grade.
· No makeup of homework, quizzes or exams will be given.
· Re-grading policy: If you have a complaint about any of your grades, discuss it with the instructor no later than a week of distributing the grades (except for the final). Only legitimate concerns on grading should be discussed.
· Office Hours: Students are encouraged to use the office hours to clarify any part of the material that is not clear; however the instructor will only provide hints if it is an assigned task but not solve it.
· Academic honesty: Students are expected to abide by all the university regulations on academic honesty. Cheating will be reported to the Department Chairman and will be severely penalized. Although collaboration and sharing knowledge is highly encouraged, copying others work without proper citation, either in part or full, is considered plagiarism. Whenever in doubt, review the university guidelines or consult the instructor. Cheating in whatever form will result in F grade.
· Courtesy: Students are expected to be courteous toward the instructor and their classmates throughout the duration of this course. Talking while someone else is speaking will not be tolerated. Furthermore, all cell phones must be turned off during class and exams. In addition, students are expected to be in class on time. More importantly, you are not allowed to leave the class unless it is an urgent matter. To contact your instructor, please use email through WebCT whenever possible and avoid using phone calls or written notes. When necessary to send an email through the university email system, please indicate ICS103-083 in the "Subject" field of your email, e.g. ICS103-03: Question about homework 1.
888 Best of luck!! 888
Previous Exams
Check the WebCT
Software LinksWeb resources