CS A109: C# Programming

Course Syllabus, Summer 2011 Textbook

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 programming using objects, 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:

Course Organization: This class is organized around requirements for each grade (details below under grading).   A typical class will consist of a 45-60 minute lecture followed by a hands-on programming activity for the remainder of the class.  I'll be available to provide any help and on some days hope to have a student tutor available as well.

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 7 or Visual Studio .NET Professional 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# 2010 Express Edition for free.  Visual Studio .NET requires Windows XP or higher as your base operating system.  

Microsoft Visual Studio does not run directly on a Mac.  If you want to run it on your Mac then your best solution is to use a virtual machine that emulates a machine with Windows, like VirtualBox or Parallels.  You can aso dual-boot into a Windows environment.  If you wish to go this route then see me if you'd like a copy of Windows.     

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).  You can use both, although SCICOM (Science/Chemistry) students have priority for the lower lab.  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:  We will have a tutor although he will only be available part time.  His hours will be posted outside the lab.

Homework Assignments:   There will be 4 assignments consisting of multiple programs per assignment.  Turn the assignments in via Blackboard, with all code compressed into a zip file.  There is no fixed due date for the assignments, but I recommend you complete them within a few days after the material is covered in class.  Under grading below, you'll need to complete the required homework before attempting an exam.  Each assignment is graded pass/no-pass.  If you do not pass then you have the opportunity to resubmit any incorrect programs.  Passing means a program is nearly 100% working. Some small errors will be allowed if it is apparent the main concepts were learned.  You can discuss homework solution approaches with your classmates but shouldn't copy any code directly.  In other words, your typed-in programs should be your own work, not a group effort.

In-Class Exercises:   Almost every class has a hands-on exercise for you to complete.  We will leave about the last hour for you to work on the exercise.  Show me your working program in class and I will mark you down as completing the exercise.  There is no need to turn in anything.  Although the goal is to complete these by the end of class, if you are unable then you can complete them offline and email me your program or show me a working program in a future class session.  You can also complete them early if you wish.  You are welcome to work with other students in the class on the exercises, but make sure you understand what the program does as opposed to simply copying down what your partner does.

Grading: I am using an unconventional grading policy.  Rather than assign a grade to every piece of work and average the results together, it's more like a video game where you have to complete various tasks to complete a level.  Once the level is complete then you can move on to the next level.   Each level corresponds to the grade you will get in the class and the tasks are assignments, exercises, and exams.

Level 0: Ozzy,  Grade F.
No work completed.
Level 1: Oprah/Edge/Bono, Grade D.

Pass all of the following:
Homework for Level 1, Exercises 1-7, Exam for Level 1
Level 2: Jurassic Park Girl, Grade C.

Pass all of the following:
All work required for Level 1.
Homework for Level 2, Exercises 8-10, Exam for Level 2
Level 3: Nerd Herd Chuck, Grade B.

Pass all of the following:
All work required for Level 2.
Homework for Level 3, Exercises 11-13, Exam for Level 3
Level 4: Tron Guy, Grade A.

Pass all of the following:
All work required for Level 3.
Homework for Level 4, Exercises 14-16, Exam for Level 4

Exams:   There is an exam for each grade level.  They are designed to take about 25 minutes to complete.  They will be on paper only - you are allowed to use any books or paper materials you like.  You can use a computer to access only electronic books or course material - not to search the web and not to type in programs and compile them.   This is intentional to encourage you to study for each exam!  You must complete all In-Class Exercises and the Homework Assignment for the grade level before taking the corresponding exam.  The exam must be passed before you can take the next level's exam.  If you do not pass an exam then you must take it again (with different questions next time) during the next test period, or possibly during the same test period if I can grade it on the spot.  Passing is not "D" work but more like everything correct and only small errors made.  It is possible to take multiple exams in one test period if you've completed all the corresponding work.

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! 

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.

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