Course Content

The text book for this course is Al Kelley and Ira Pohl: `C by Dissection', Fourth Edition, Addison Wesley, 2001. We cover Chapters 1 to 9.

Chapter 1 : Writing an ANSI C Program

  • L-1 Introduction to C programs
  • L-2 #define,#include; printf(),scanf(); while
  • L-3 problem solving; style, common errors, and system considerations

    Chapter 2 : Lexical Elements, Operators, and the C System

  • L-4 lexical elements; binary and hexadecimal notation
  • L-5 operators
  • L-6 problem solving; the C system

    Chapter 3 : Flow of Control

  • L-7 relational, equality, logical operators and expressions
  • L-8 compound, empty, if-else statement
  • L-9 while, for, and do statements
  • L-10 nested for; break, continue; switch

    Chapter 4 : Functions and Structured Programming

  • L-11 function invocation, definition; return; prototypes
  • L-12 top-down design; static variables
  • L-13 assert(); problem solving
  • L-14 the comma operator; large programs
  • L-15 Review of Chapters 1 to 4 for Exam I Click here for answers.
  • L-16 Exam I on Chapters 1 to 4 Click here for answers.

    Chapter 5 : Character Processing

  • L-17 the data type char; getchar() and putchar()
  • L-18 ctype.h and examples
  • L-19 problem solving

    Chapter 6 : The Fundamental Data Types

  • L-20 char, int, (un)signed, short and long
  • L-21 int and float; sizeof()
  • L-22 conversions and casts; mathematical functions
  • L-23 problem solving

    Chapter 7 : Enumeration Types and typedef

  • L-24 enumeration types and the use of typedef
  • L-25 an application of the use of enumeration types
  • L-26 the game of paper, rock, scissors

    Chapter 8 : Functions, Pointers, and Storage Classes

  • L-27 addressing and dereferencing; call by value/call by reference
  • L-28 use of pointers; pointers to void
  • L-29 call by reference; scope rules
  • L-30 storage classes
  • L-31 static external and local variables, static functions
  • L-32 const and pointers to constants

    Chapter 9 : Arrays and Pointers

  • L-33 Review of chapters 5 to 8 for Exam II Click here for answers.
  • L-34 Exam II on Chapters 5 to 8 Click here for answers.
  • L-35 arrays and frequency tables
  • L-36 two dimensional arrays
  • L-37 arrays and functions; sorting
  • L-38 arrays and pointers; bubble sort
  • L-39 multi-dimensional arrays; dynamic memory
  • L-40 dynamic memory; functions returning arrays

    Review

  • L-41 Review questions I for the final exam Click here for answers.
  • L-42 Review questions II for the final exam Click here for answers.
  • L-43 Review questions III for the final exam Click here for answers.