Office Hours

I sometimes keep my door closed when I am in my office so feel free to knock. The best way to set up an appointment is through email, so walk-ins are welcome. I often answer questions after class, so I may need a few minutes to return to my office.

I do much of my class preparation and research from home, because I have a better computer in my home office and there are fewer interruptions. If you want to know what I'm doing while I'm not in my office, read my blog.


Course software is available through the Microsoft Alliance. Once the class roll stabilizes student names will be submitted and you will then be allowed access to download the software. You will be sent login information, so be sure to check both your ISU email address as well as your spam filter to be sure that you receive the password.


The course info page lists optional textbooks. Below each text is a link to the AddAll Book Search, which searches online book prices to find lower prices than you may be able to find at the local book stores.

Many text books now offer online supplements. The Online Resources page lists the text and provides a link to the text web site.

Student Preparation

Students are responsible for preparing for class by reading pre-assigned readings (online notes and/or text chapter) before the appropriate lecture and completing assignments by the assigned due dates.

Expect a quiz the following class day whenever a lecture over a topic has been completed.


Moodle is not used in this class. It is too limiting for the professor's tastes.

You must use the upload site ( to submit all assignments and exercises. Your index page must be kept up to date with links to all assignments and exercises.

Any assignments turned in with a virus will be returned with a grade of zero.

Assignments are due at 11:59:59 PM on the due date.

Assignment grades will be reduced by 20% for every 24 hours from the due time.

If you fall behind in this class you will not survive, so I must be strict in enforcing the late policy.

It is your responsibility to make sure the needed files in the required configuration are actually turned in and that the assignment actually works. After you upload an assignment verify that you can run it via the ClassWeb interface.

All assignments will be graded based on how well they meet assignment specifications, use of standard interface design, modular code, code readability, and internal documentation. Code readability includes indenting and formatting code so that it may be easily read. A concise block comment should be placed at the top of each function including your name, date, class, and a description of the function's goal or purpose. Including and subsequent to assignment 3, solutions lacking sufficient functions will be downgraded.

While a certain amount of collaboration is expected and often necessary, there is a fine line between collaboration and cheating. Students may collaborate on design and programming issues. This does NOT include duplication of programs or designs. Limited collaboration may be used to find bugs in programs or to solve program syntax or general structure problems. Copying of code, regardless of the number of editor changes, renaming, and/or retyping is considered cheating, and a student’s inability to describe the function of an assignment will be considered clear evidence of cheating. Providing another student with part or all of a solution is also clearly cheating. Cheating will result in failing the course, along with possible expulsion from the University.


Tests will be closed book and notes except that you may use a single 3"x5" "crib card" of notes that you have prepared yourself. You may be required to turn in your crib card with your test.

Any student suspected of cheating on an exam will be asked to turn in the exam immediately.

Cheating will result in failing the course, along with possible expulsion from the University.

Students are not allowed to reference any electronic devices during an exam without prior approval by the professor. This includes cell phones, calculators, and dictionaries/translators. If a dictionary is required, bring a paper copy and have the professor approve its use. If a calculator is needed, request permission before using it.

Form Field Naming Standards

Form Field Type Standard Prefix
Form frm
Input (Command) Button cmd
Drop-Down (List) Box lst
Text Field txt
Radio Buttons opt
Check Boxes chk
Labels lbl