King Saud University
College of Engineering
Electrical Engineering Department
GE208: Programming in C
First Semester 1427/1428 (2006/2007)
Academic Course Description
Instructors: (1) Dr. Wahied GHARIEB (Course Coordinator)
Office: 2C-108/1
Phone: 467-6745
(2) Dr. Salah FODA
Office: 2C-13
Phone: 467-3108
Text Books:
1. H. H. Tan and T.B. D’Orazio,”C Programming for Engineering & Computer Scince”, McGraw-Hill, 1999.
2. Jeri R. Hanly, Elliot B. Koffman, and Joan C. Horvath, “C program Design for Engineers”, Addison Wesley 1995.
Support References : Web sites educational material is also provided.
Pre-requisites: -- -- --
Co-requisites : -- -- --
Course Objectives: This course aims to learn the programming fundamentals in C and how to solve engineering problems using ANSI C programming language. Several aspects are emphasized: learning software engineering concepts, using C to teach program development, solving engineering problems in C-programming and acquiring the programming skills via tutorial sessions in a computer laboratory using Microsoft visual C++ IDE.
Topics Covered: Introduction to computers and programming. Compilers and numbers systems. Program structures, comments, and printing. Formatting output, Escape sequence, and program debugging. Variables, arithmetic operators, and expressions. Access of input/output files. Program control using: if-else statement, switch commands, for loops, and while loops. User-defined functions. One and two dimensional Arrays. Multidimensional arrays. Strings and Pointers. Engineering Applications.
Class / Tutorial Schedule: Two lectures are assigned per week with 50 minute for each lecture session. There is also a 2 hours weekly tutorial session associated with this course.
Professional Component Contribution: Students can learn the analysis and design of different programs with special emphasis on program design and debugging tools. They acquire basic skills to approach and to deal with different requirements in order to solve practical problems via programming. Students must also utilize knowledge of basic computing, logic design and algorithms in order to effectively analyze a diverse set of fundamental problems in software design and applications.
Relationship to Program Objectives(a - k): This course contributes to the general objectives listed for an Electrical Engineering Department.
Objective A: By teaching the student how to understand the physical problem, this course support the objective of producing graduate with science to electrical engineering.
Objective B: By teaching students how to deal with and to analyze the problem. The student is able to the necessary partial phases of design, this course support the objective of producing graduate with science to electrical engineering.
Objective C: By motivating and encouraging students in discussions during lectures and tutorials to get basic information and skills. Students also encouraged expressing their individual opinions or alternative solutions to the design and operating problem related to software design; this course supports the objective of producing graduate with good communication skills.
Objective D: By encouraging the students to learn pertinent ethical and professional standards in dealing with alternative methods of software analysis and design, this course supports the objective of providing graduates with a broad based education so that they can appreciate diversity of opinion, better understand ethical issues and develop a more global perspective of the profession.
Objective E: By teaching how to design simple applications and how to integrate different software modules, this course supports the objective of producing graduates with relevant engineering design experience.
Objective F: By teaching how to communicate with others and how to express their ideas, this course supports the objective of producing graduates with relevant engineering design experience.
Objective G: By teaching how to access related references (books, web sites) for life-long learning term.
Objective H: By teaching how to standard techniques, how to handle different modules, how to include header files and libraries; this course supports the objective of producing graduate with good communication skills.
Objective I: Mathematical skills are required at this level to support real life applications; this course supports the objective of producing graduates with relevant engineering design experience.
Objective J: Mathematical skills are required at this level to developed professional software; this course supports the objective of producing graduates with relevant engineering design experience.
Objective K: By teaching how to interface with basic requirements in system integration and how to be able to accommodate simple designs for the society.
Evaluation: There are graded home works, two 2-hours mid-term exams and a three hour final exam. The grade distribution is as follows:
First Mid-Term Exam 15%
Second Mid-Term Exam 15%
Tutorials 20%
Homework and Quizzes 10%
Final Exam 40%
Total 100%
Challenges and Actions taken to improve the Course:
· Real life problems are addressed
· Weekly Assignments and Quizzes are addressed.
· Practical applications are selected
· Small scale projects will be addressed in the future (team work)
Weekly Teaching Plan
|
Week # |
Deliverables |
|
1 |
Introduction to computers and programming |
|
2 |
The C language, Compilers, Numbers Systems |
|
3 |
Program structure, Comments and printing |
|
4 |
Formatting output, Escape sequences, Program debugging |
|
5 |
Variables, constants, arithmetic operators and expressions |
|
6 |
Reading data, writing to files, single character data |
|
7 |
If statements, logical operators and expressions |
|
8 |
Switch statement and IF-Else control structure |
|
9 |
While and for loops, applications |
|
10 |
Function prototypes, definitions, and call |
|
11 |
Address and pointer variables, applications |
|
12 |
One dimensional arrays, Array I/O |
|
13 |
Multidimensional arrays, arrays and functions, Applications and Review |
|
14 |
Strings and Pointers |
|
15 |
Applications and General Review |
November 28, 2006