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.


The course info page lists 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.

Grading Rubrics

Every effort is made to provide a grading rubric for each assignment. This is done to give you an idea of what will be graded, and also serves to provide you with a checklist so that you can assess your assignments before the professor does.

Since new assignments are added each semester, or old ones are modified, there may be some lag time between the posting of the assignment and the posting of the rubric.

In the event that you find discrepancies between the rubric and the assignment specification, follow the assignment specification and notify the professor so the rubric can be corrected.


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. The professor may allow you to 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