Introduction to Programming

This introduction provides some basic concepts and techniques that every programmer needs in order to move beyond simple computing tasks. These are the ideas we wish we had been familiar with when we started programming; some of them we knew about but did not recognize their importance until reality caught up with us while deeply immersed in thousands of lines of code, or while drowning in megabytes of data. It is unlikely that someone new to programming will absorb all this in one sitting. But if the level of awareness has been raised enough that a new programmer realizes that there are several options for each program, some better than others, then our purpose is met.


  1. Basic Computing Concepts - basic program structure; definitions of key concepts. Brian Vant-Hull
  2. Software Design - an introduction to a structured approach to programming, with examples of the building blocks of any algorithm. Sandra Martinka
  3. Data Management - techniques for dealing with large data sets, managing memory and speed. Brian Vant-Hull