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
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
The PDF files may be viewed with Acroread.
- Course syllabus
- Homework Set 1
- In-class project for class 2
- Homework Set 2
- In-class project for class 3
- Homework Set 3
- In-class project for class 4
- Homework Set 4
- In-class project for class 5
- Homework Set 5
- Project (hints)
- In-class project for class 6
- Homework Set 6 (sample solution)
- Sample final exam
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.
- Lecture 1: Introduction to C Programming [ notes presentation handout ]
- Lecture 2: Conditionals, Logic, and Repetition [ notes presentation handout ]
- Lecture 3: Iteration [ notes presentation handout ]
- Lecture 4: Functions [ notes presentation handout ]
- Lecture 5: Arrays [ notes presentation handout ]
- Lecture 6: Bit Operations [ notes presentation handout ]
- Review [ presentation ]
These are found here.