CS A109: C# Programming

Course Syllabus, Summer 2009 Textbook

Software: This course uses the C# programming language with Microsoft Visual Studio.  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, Vista, 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 C# 2008 Express Edition for free from Microsoft's website.  Visual Studio .NET requires Windows XP or Vista 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 C#.  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:

Computer Science Lab Facility:   When working on your homework, you can use the 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:  Hopefully we will have a tutor although he may only be available part time.

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 Blackboard, with all code compressed into a zip file.

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:  The grade breakdown is:

Homeworks:  40%   (each homework assignment is worth an equal amount)
Exam 1:         30%
Exam 2:         30%

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 -).

    Percentage Grade Percentage Grade
    98-100 A+ 80-78 C+
    93-98 A 78-73 C
    90-93 A- 73-70 C-
    87-89 B+ 70-68 D+
    83-87 B 68-60 D
    83-80 B- 60-0 F

An incomplete grade will only be given for a valid excuse (e.g. medical, death in the family). 

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.