The modules may be used in lieu of a textbook, as a supplement to a textbook, or for self study. You might use all of them in a course or you might only use one or two. I use them in roughly the same order as they are presented here, but that can vary.
This material assumes no programming experience, and takes about one semester for students with no technical background. Upon completion of the modules, students should be familiar with programming terminology, able to write small programs and scripts and work with professional programmers. The topics covered are:
Programming languages | Expressions |
Object terminology | Variables and scope |
The VS.NET development system | Type conversion and checking |
User interface creation | Algorithms |
Event handlers | Functions |
Sequential execution | Conditional execution |
Assignment statements | Loops |
Interactive programs | Arrays |
Numeric, string and Boolean data | Sequential files |
A second course would cover the creation of application-specific classes, database and Web programming, and writing larger programs.
Each Topic Note focuses on a narrow topic or set of related concepts. Key terms appear in bold face within each Topic Note, and the Index contains links to the Topic Notes in which the terms appear.
Most of the Topic Notes are illustrated by one or more sample programs. (Depending on your security settings, you may have to download them to a temporary directory in order to execute them). These are very simple programs, focusing on the topic at hand, no more.
There are also programming exercises to test a student's understanding of many of the Topic Notes. Again, these are short, focused assignments.
There are questions for each Topic Note. Many are in short answer format, but the answers are often depend upon the context and assumptions one makes. They are intended to stimulate thought and discussion, not memorizing definitions. (I do not give students answers, but encourage them to discuss the questions in a threaded discussion, via e-mail or face-to-face in or out of class).
I have used the modules both as a supplement to a standard textbook and in lieu of a standard textbook. Students who used the modules with no textbook scored slightly higher on the final exam and there was slightly less variance in their scores:
Material | Mean | StDev |
Textbook | 77.6 | 12.7 |
Modules | 78.9 | 11.0 |
Combined | 78.2 | 11.7 |
Student background and effort, not the course material, explains variance in outcomes.
It is my hypothesis that, for some subjects, small, focused modules like these can cut some of the costs and constraints of a textbook without affecting student outcome. I will continue using and upgrading these introductory programming modules, and am developing similar material for other courses.
Send feedback and suggestions to lpress@csudh.edu.