Computer Programming I
   
Code:   TCP1231
Objective:   To give an introduction to basic programming concepts through the use of a high-level programming language such as C. It covers the basic notions and techniques for algorithm development and the implementation of algorithms in a high-level programming language.
Pre-requisite:   None
Credit Hours:   3
Lecture Hours:   30
Tutorial/Lab Hours:       15/30
   

Software Development and Programming Environment (3 hours)
Software development life cycle - Top-down design with function system structure - program design steps and programming methodology - structure chart - flowchart - pseudo code - Debugging and documentation techniques.

Syntactic Structure of a Program (5 hours)
Identifiers - data types - operators - various statements - operator precedence - type conversion - conditional and control structures - function - recursive functions.

Arrays (6 hours)
One- and two-dimensional arrays - passing individual elements or whole array to a function - Simple sorting and searching on arrays - pointers - strings - dynamic memory allocation.

Structures and Unions (6 hours)
Structure declaration and definition - accessing structures - array of structures - pointers and structures - Union declaration - enumerated variables.

File Handling (5 hours)
Concept of a file - files and streams - standard file handling functions - binary files - random access files.

Advanced Topics (6 hours)
Command line parameters - pointers to functions - creation of header files - stacks - linked lists - bitwise manipulation

Laboratories:
Students will be working programming exercises based on topics covered in the week.

References:

  • Behrouz A. Forouzan, Richard F. Gilgerg, Computer Science: A Structured Programming Approach Using C, PWS Publishing Company, 1997.
  • Jeri R. Hanly, Elliot B. Koffman, Problem Solving and Program Design in C 2nd Edition, Addison Wesley, 1996.
  • Jean Paul Corriveau, A Step-by-Step Guide to C Programming, International Edition, Prentice Hall, 1998.
  • A1 Kelley, Ira Pohl, A Book On C 4th Edition, Addison Wesley, 1998.
  • * Note : The hours in bracket indicates the lecture hours.