Navigation


 



C Programming

Syllabus Outline

Basic syntax to support a structured approach to program development using procedural abstractions - program and control structures - basic data types - reuse of basic functions for I/O, string and mathematical manipulation.

Structured types - arrays, vectors and classes as records. Algorithm design. Simple file processing.

The use of functions and parameters. Global and local variables.

Bit-wise and logical operators

Using pointers for accessing data and invoking functions.

Simple input/output to a parallel port, involving timing for multiple simultaneous activities

Using ADCs and DACs as input and output devices, understanding relevant parameters: bandwidth, conversion rate, precision, slew rate, stability.

Elementary introduction to the problems of multi-tasking

Speed control for a small DC motor. Driving a stepper motor from a processor.

Synthesizing simple square, triangle and sine waves

Use of make files and project configuration spec

Teaching and Learning Methods

Very strong emphasis on practical work. Development of understanding by numerous demonstrations and simple, progressive exercises

First half of the course will concentrate on teaching basic syntax and use of a structured, stepwise-refinement approach to design and implementation with exposure to structure charts and finite state diagrams

Second half of the course will develop an understanding of the difficulties involved with I/O programming. Event driven programs will be implemented using finite state methods

An extended case-study, supported by focused tutorials and practicals, will allow the students to follow through an example application from design to implementation, and appreciate the relevance of all the component parts of the module syllabus