Introduction to Algorithms and Programming – ENG421

Academic year 2017/18

Learning outcomes

  1. Ability to apply fundamental knowledge of the software development life cycle and tools to build C software programs and Matlab programs.
  2. Ability to describe, analyze and evaluate system requirements, software designs and quality metrics.
  3. Use creative problem solving to develop software programs which reflect considerations for usability and hardware portability.
  4. Ability to apply boolean algebra, iterative algorithms and recursive algorithms for software programs.
  5. Ability to find and use information provided with software development tools and libraries.


  1. Coursework 1 is due January 10, 2018 and contributes 30% to the unit mark.
  2. Coursework 2 is due March 12, 2018 and contributes 40% to the unit mark.
  3. 60 minutes end of unit examination that contributes 30% to the unit mark.

Suggested study resources

C programming notes by Steve Summit

More notes by Steve Summit about intermediate C programming topics

C programming notes by Mark Burgess

Complete reference of the standard C libraries

Brief reference of C language syntax and standard libraries

Alphabetical index of functions in the standard C libraries

Drawing functions in GD graphics library

Text functions in GD graphics library

List of colors to use with GD graphics library functions

Complete reference of GD graphics library functions

Recommended textbook
Hanly, J., Koffman, E. (2012). Problem solving and program design in c. Boston, MA, USA: Pearson Education, Inc. (ISBN 0273774190)

Unit lecturer

Please contact Chi Nguyen with questions or suggestions.