CS0004: Introduction to Computer Programming with Visual Basic


who:Bryan Mills
office:SENSQ 6150
office hours:MW 4:00pm - 6:00pm and MW 7:30pm - 9:00pm

Course Information

This is a first course in computer science. It is designed to be of special interest to students majoring in one of the social sciences or humanities. Objectives of this course include: a) The use of the computer in an interactive environment. b) Problem analysis and the development of algorithms. c) Learning the Visual Basic programming language. d) Designing, coding, and documenting programs.

Time:MW 6:00pm - 7:15pm
Location:SENSQ 5505

NOTE TO CS MAJORS: Students majoring in Computer Science are not permitted to take this course after completing CS0401.



Introduction to Programming Using Visual Basic 2005, 6th Edition. ISBN-13: 978-0130306548.


Visual Basic 2005 Express Edition. The course book comes with a CD containing this software. Plus its a free download here: http://msdn.microsoft.com/vstudio/express/vb/

NOTE: You can also use the full edition of Microsoft Visual Studio
2005 (http://msdn2.microsoft.com/en-us/vstudio/). This is available for free in software licensing if your interested.


All assignments can be completed using the campus computer labs, these computers will have all the necessary software for you to complete your assignments. If you want to work on your own computer you will need a computer that is running Windows XP.

Please backup your work. Let me repeat this one more time, please back up your work! I would suggest getting a USB drive that allows you backup your work. I would recommend this approach even if you are doing all your work on you own computer. If you don't have a fancy USB drive then use a floppy disk, they are really cheap and get the job done.

Here is a list of campus computer labs.

Requirements and Grading

Type Percentage Quantity
Programming Assignments 55% 4-6
Quizzes / Homeworks 10% 4-10
Mid-term Exam 10% 1
Final Exam 15% 1
Class Participation 10% 1

Programming Assignments

This course is based primarily on programming assignments. There will be at least 4, probably 5, no more than 6 assignments. The percentage of the grade for each assignment will be based on the difficulty of the program. That being said, the value for each should not vary much. (Approximate 11% for each.)


There will be weekly or biweekly "pop" quizzes on the reading material. These will be (for the most part) multiple choice or true/false. There should be at least 6 quizzes and homeworks together. These cannot be made up, so if you miss them, you miss them. However, two quizzes will be dropped from the final grade. (Thus, two may be missed without penalty.)


Homeworks may occasionally be assigned. There should be at least a week allotted for the homework. Once a homework is missed, there will be no opportunity to make it up. Homeworks will carry the same weight as the quizzes. (Approximate 1% to 2.5% each.)

Midterm and Final Exams

The midterm exam will take place approximately half way through the semester and will be worth 10% of the final grade. The final exam date will be announced as soon as I receive it, will be worth 15% of the final grade, and will be a cumulative exam. More recent material will be emphasized on the final. However, it should be noted that the material for this course builds on itself. A wise course of action is to stay updated on ALL MATERIAL; falling behind will seriously hurt one's grade later in the course.

The final exam date will be on ????? in the regular room.

Class Participation

The class participation will be based on a student's eagerness to contribute to class discussions, desire to (actively) seek help outside of class (if necessary), improvement during the course of the semester, and a general interest in assigned material. This part of the class will be worth 10% of the final grade.



I will not be tracking attendance formally. However, a wise student would consider the following before "calling in sick"...

  • Missing a class will severely hinder your exposure to the material, which WILL BUILD UPON ITSELF as you progress through the course.
  • It will limit your chances to participate in class (and this WILL be noticed).
  • It will increase your chances of missing quizzes and homeworks.
  • You will miss an opportunity to hear and participate in important class discussions.

Missed exams will be made up at a time designated via a student/instructor appointment. A valid doctor's note will be required to make up any exam.

Cheating and Plagiarism

Cheating is bad. Plagiarism is bad. If you do it you will be in lots of trouble. All homework, quizzes, tests, and programming assignments should be completed by you and only you. The entire assignment should come from your head, your textbook, and your instructor. The assignment can not come from the Internet, your classmate, your friend, your neighbor, or your pet alien. The first offense will result in a 0 for the assignment; the second offense will result in an F for the course.

That being said, students should discuss the class material with anyone who will listen (classmates, friends, co-workers, aliens, etc). This is because much of the material covered in this class will require a shift in how one thinks and this can be a painful process. I encourge you to discuss problems, ideas, and solutions. If you have any question about what does and does not constitute cheating or plagiarism, you can always ask; I would be more than happy to clarify.

Late Penalty

There is no late penalty because late assignments will not be accepted. All programming assignments, unless otherwise noted, will be due 11:59pm the night of the due date. All homeworks, unless otherwise noted, will be due at the beginning of class.

Students With Disabilities

If you have a disability for which you are or may be requesting an accommodation, you are encouraged to contact both your instructor and Disability Resources and Services, 216 William Pitt Union, (412) 648-7890/(412) 383-7355 (TTY), as early as possible in the term. DRS will verify your disability and determine reasonable accommodations for this course.


Thanks to David Essary a fellow colleague who has taught this course and allowed me to beg, borrow, and right out steal parts of his syllabus for this class.