About these modules

These modules are intended to introduce programming terms and concepts using VB.NET. The terms and concepts are valid for all languages, and the modules could easily be rewritten for other languages.

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.