Introduction to Algorithms and Programming

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.

Lecture topics and notes

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

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)