CS A109: Selected Programming Languages: Visual Basic

Course Syllabus, Summer 2006 Textbook

Software: This course uses the Microsoft Visual Basic .NET programming language.  All of the necessary software will be available on the computers in the CS Lab.  As part of our Academic Alliance agreement with Microsoft, students may obtain a copy of Microsoft Windows XP or Visual Studio .NET software to install on your computer at home as long as the software is used for non-commercial academic use.  Contact your instructor if you would like to participate or for further information. You can also download Microsoft VB.Net 2005 Express Edition for free from Microsoft's MSDN site.  If you plan to work at home, I ask that you use version 2005 of Visual Studio .NET Professional or Express Edition.  Visual Studio .NET requires Windows XP or 2000 as your base operating system.

Course Description: The objective of this course is to introduce students to the fundamentals of computer programming and problem solving using Visual Basic .NET.  The emphasis is on the fundamentals of structured and object-oriented programming, syntax, semantics, control structures, arrays, file I/O, testing/debugging, implementation, documentation, and the construction of graphical user interfaces.  

Upon completing the course students will understand:

Lab Assignments:   There will be a "lab session" held in class every week.  Lab assignments are due at the end of the day.  Late lab assignments will not be accepted without a valid excuse.   You can also complete the lab on your own and submit the program to me if you wish via Blackboard's digital drop box.  The lab assignments will be available on the course web page before each lab. Work alone or in pairs (depending on computer availability).

Computer Science Lab Facility:   When working on your homework, you can use t he lab is located in CAS 170A.  There is both an "upper" lab (located at the top of the ramp) and a "lower" lab (located at the bottom of the ramp).  The upper lab tends to get quite hot in the summer.  You must have a UAA wolfcard to gain access to the room.  Log in with your UAA username and password (if that doesn't work, try a blank password).

Lab technicians: Be careful not to abuse the goodwill of the lab technicians. Their jobs are to help you by making sure that you have the resources that enable you to do your work. They are NOT obligated to train you in using the hardware or software. They are there if a computer is broken, you can't print, can't log in, etc.  If you need help in understanding a homework problem please confer with me or your fellow students.

Lab tutor: There will hopefully be an upper-division CS student serving as a lab tutor for approximately 2 hours each day (hours are variable, but will likely be after class). The tutor is there to help you with any programming issues that you may have on a first-come first-served basis. 

Homework Assignments:   There will be approximately 5 problem assignments throughout the course, although this is subject to change.  I prefer the assignments be turned in via email with an attachment for your program.

Late Homework Assignments:   Assignments will be accepted late only up to the date that solutions are posted online.  Homework will not be accepted after the date solutions are posted.  Generally, solutions will be posted one week after the due date, but this may vary.  For example, solutions may be posted the same day homework is due if there is a test coming up.  The homework grade is penalized 5% for each day late.

Questions: If you have any questions, feel free to come in to my office.  In general, I have an open door policy -- if I am available in my office, you are welcome to come by.  An even better way to reach me is through email.  I check my email frequently and you should receive a response quickly.  Email is preferred over telephone and you will probably receive a faster response since I don't check voicemail very frequently.  You can also contact me online via ICQ, AIM, or MSN Messenger (see contact info on the home page).  I'm often up late and will be glad to answer questions if I'm available! 

Exams:  There will be one midterm and one final exam.  If you must miss an exam, notification must be made in advance.  Exams will consist of problems to work through. Typically you will either have to describe the output of some code, write some code yourself, or provide short answers.  Each exam will be cumulative since the course material builds upon previously covered material!  This means you must keep up in the class, or you will quickly find yourself lost.  You will be allowed open-book access for the exams.

Grading:  Exams will be graded and returned to you. Grades will be posted on the web site throughout the semester. This summer we will be testing a new graphical password system. If you experience difficulties with the technology then let me know and an alternate means of grade notification will be made available.

Grading breakdown:

Homeworks:  30%   (each homework assignment is worth an equal amount)
Lab:              20%   (each lab assignment is worth an equal amount)
Exam 1:         25%
Exam 2:         25%

The grade scale is shown in the table below.  The grading curve may be lowered if necessary but it will not be raised.  This means that if you received an 89% then you will at least get a B+, but may receive a higher grade based on the curve.  (Final grades don't include a + or -).

An incomplete grade will only be given for a valid excuse (e.g. medical, death in the family). An incomplete grade does not let you take the class over again, your final grade will be assigned based on work submitted in class and work that remains to be submitted.

Cheating: Students are expected to uphold the UAA standard of conduct relating to academic dishonesty outlined in the UAA catalog and student handbook.  Cheating is not tolerated and constitutes grounds for dismissal.  For this class, it is permissible and encouraged to assist classmates in general discussions of how to attack the homework problems. It is not permissible to copy another's work (or portions of it) and represent it as your own.