Beginning C Programming for Engineers



This was last taught at Rensselaer Polytechnic Institute in the Spring semester of 2009. I taught it since the Fall of 1999. The successor to this course is Beginning Programming for Engineers, taught in Matlab.


Please note that this course is a laptop course. Students will be expected to bring their laptops to class. Programming will be done in the Cygwin environment, standard on recent RPI ThinkPad, and easily installed on other systems. Optionally, students may run Linux instead of Cygwin.

This half-semester course (CSCI-1190) will teach some of the rudiments of computer programming and some of the essentials of the C programming language. Note that students who have or will take CSCI-1100 (Computer Science 1) or other computer science courses cannot also take this course for credit.


Textbook: The textbook is C: How to Program, by Deitel and Deitel. The publisher recently changed to the 5th edition, with increased cost. However, the 3rd and 4th edition can be used as well, if you can find them, probably at a discounted price. (I saw the 3rd edition going used at Amazon for $2.42.) I encourage you to get the textbook, and to get it as cheaply as possible. But please make sure you get it by the first week you have class. This is a fast-moving half-semester course, and particularly if you have never programmed before, you will need the book sooner than later.

Turning in homework: Some students wonder how to turn in homework. We deal with paper, believe it or not. For problems that ask for an algorithm or flowchart, or other non-programmed answer, simply write out your solution. (It can be handwritten, if you prefer.) For programs, please print the source code. If you have trouble with the Print command in xemacs, then start up notepad, copy-and-paste your source code into notepad, and print from notepad. This works much better than if you copy-and-paste into word.

Course Notes

The handout versions of these notes are printed 4-up. In some cases, the presentation version has lots of very similar pages, for animation effects. The handout version compresses these similar pages to a single final version, so they are much more suitable for printing. The handout version also has the sample programs in a larger type at the end.

The presentation version is exactly what is shown in class.

Sample Programs

These are found here.

Other Resources

Here are a few other resources I’ve found on the web that may help you learn C. Note that I do not control or endorse the contents of any of these sites.