CS 112 Computer Science I
George Mason University
Course Description -- Spring 2007

Section 001 Monday/Wednesday/Friday 10:30-11:20 AM, FAB B106

Instructor: David Nordstrom, Office: ST 2, 361; Phone: 993-1565

email: dnordstrATgmu.edu. Office hours:Monday and Friday 11:30-12:30, and Wednesday 6:00-7:00

***Students in section 001 must enroll in a lab section201-204

Section 002 Monday/Wednesday/Friday 2:30-3:20 PM ENT 178

Instructor: David Nordstrom, Office: ST 2, 361; Phone: 993-4198

email: dnordstrATgmu.edu. Office hours: Monday and Friday 11:30-12:30, and Wednesday 6:00-7:00

***Students in section 002 must enroll in a lab section 205-208

Section 003 Tuesday 4:30-7:10 PM , LH1

Instructor: Alissa Redding, Office: ST 2, 435

email: TBA, Office hours: Tuesday 7:15-8:15 PM

***Students in section 003 must enroll in a lab section 209-212

All Class information is on WebCT. ( http://webct41.gmu.edu)

PROGRAMMING PROJECTS and LAB ASSIGNMENTS: Will be posted on WebCT and submitted through WebCT.


Lab time will be your opportunity to:

Lab attendance is required. Failure to attend lab will result in significant loss of both instruction and hands-on experience. In addition, quizzes or in-lab assignments may not be made up. During lab time, your lab instructor will provide examples and assistance with concepts covered in the book and during lecture, and occasionally will introduce new material as well.  Accordingly, you should fully prepare yourself for lab by attending lectures and completing any assigned reading, as well as carefully reviewing and, in appropriate cases, getting started on the lab assignments provided in advance. Lab will also provide the opportunity to work on the GMU computer systems in a controlled environment  and to ask more detailed questions than may be possible during your lecture.

Lab assignments are due via electronic submission on the Saturday following your scheduled lab in which they were presented before midnight (11:59 PM).

Please note that you must attend the lab session you are registered for.  You may be able to attend another lab session if it is tied to your lecture session if your instructor agrees;  however, individual instructors may vary both lab materials and lab assignments.  Accordingly, attendance at any lab session not specifically connected with your lecture section cannot be counted on to cover the same material as those associated with your lecture section.  In addition, quizzes taken in another lab section will not count towards your grade unless special arrangements were made in advance and accepted by both your instructor and TA.  Accordingly, you should plan to attend the lab session you are registered for.


A first course in computer science for majors and others with a serious interest in computer science. Topics include an overview of computer system hardware and organization, problem solving methods and algorithm development, program structures, abstract data types, simple data and file structures, introduction to analysis of algorithmic complexity and program correctness, and applications development in a high level language that supports modular design.

Prerequisite: Thorough understanding of high school algebra and trigonometry and successful completion of Math Placement Test offered through the Testing Center (i.e. student is eligible to take Math 113), or a grade of C or better in MATH 105.

CS 112 is an intensive, time-consuming, 4 unit class intended for CSmajors, CS minors, and students in engineering and/or mathematics.While students in the IT minor program may take CS 112, they are strongly advised to take IT 108 instead. Beginners with little exposure to computers should consider taking IT 103 or IT 108. CS 112 is taught using Java in a Unix environment. Lab attendance isrequired.


Reading: Students are responsible for reading and understanding the material in the textbook. However, we will not necessarily cover all of it in class. If you do not understand something in the book, there will be opportunity to ask questions in class, during your instructor's office hours, or those of thecourse TAs. You may see any TA assigned to this course, regardless of whether she/he is your lab instructor.

Due Dates: Labs are due before midnight on the Saturday after the lab period in which they are presented. Programming projects will be due the assigned date and time. Work will be submitted electronically using WebCT. A project may only be sumitted once. Do not attempt to resubmit a project if you have already made one submission for this project.

Late work: Late labs will not be accepted. Late projects will be penalized 10 points per day, but will not be accepted more than 3 days late. (if you received a 90 on the project but it was 3 days late, your score would be 90 - 30 = 60). After that projects will not be graded. No extra credit points, when available, will be given to late projects. Individual requests for extensions will not be granted. However, you will receive partial credit for any portions of your program that you can demonstrate work correctly.

Missing an Exam or Contesting a grade: Once labs or projects grades are sent to you, you have one week to contest the grade. After that the grade will not be changed. You must have a written excuse (doctor's note, for example) to miss an exam. Once a test or quiz is returned, you have one week to contest the grade-- beyond that the grade will not be changed. Note that the week starts when a test is returned to the class, which may or may not be when you choose to pick yours up. The Dean's permission is required for taking a missed Final Exam.

Incomplete: A request for an incomplete (IN) will only be considered in the final quarter of the course (all assignments up to and including the 3rd project must have been turned in and no additional work on these will be accepted). Request must be made in writing, accompanied by a note from a doctor or employer and applicable contact information.


We will use WebCt and Unix e-mail for official communication. You are responsible for checking the system regularly for notices from your instructor or TA.

1. You MUST obtain a Mason mail account if you do not have one. Click here and then on the "New Student" link to activate your Mason mail account (The TA's will help you obtain an account and set up your WebCt account during a beginning lab session.) Please use your GMU mail account for any individual correspondence with your instructorand/or TA.  (GMU faculty members have been instructed not to respondto student email originating from a non-GMU account.) 

2.Your WebCT account will be set up automatically if you are properlyregistered for this class.  Your WebCT ID will be identical toyour Mason e-mail (same as Mason cluster account) username.  Ifyou registered at GMU on or after August 16, 2004, your initialpassword will be based on your birth month, day and year. For example, a birthday of February 16, 1987 would yield a password of 021687 If you registered prior to this time, you initial password is the last four digits of your SSN. Type webct38.gmu.edu into any browser to access WebCt.

3. You will upload your assignments using the WebCT upload system. Directions are in WebCT.


Your course grade will be a weighted average of the following items:

Extra credit programming points do not carry over to test grade points or vice-versa. Any student earning a "D" or "F" on the final exam will receive a "D"or "F" in the class, at the discretion of the instructor.


Programming projects may be weighted differently. These are to be individual efforts, meaning no code sharing or discussion of problem solutions with anyone except your instructor or a course UPA or TA. You may not incorporate code written by others, such as can be found on the Internet or any of the numerous CS books. Documentation is required.

You may, however, ask questions or respond to queries on WebCT regarding projects or other assignments, so long as you do not post any code or pseudocode, and so long as you do not provide specific solutions to the overall problem or algorithm design (even in English). "Summarizing" WebCT statements or responses to another student verbally regarding an assignment are not acceptable, and are subject to the above ban on discussing assignment solutions.  Such discussion or code sharing constitutes an honor code violation. Suspected honor code violations will be reported to the Honor Committee.  (For further information regarding honor code violations in programming, see the Computer Science department's Honor Code statement.)

During a lab session, with the TAs permission, you are allowed to help a fellow student debug a program or answer very specific questions. Allowing another student to copy your work or to copy that of another student, is however, an Honor Code violation.

You will be given credit only for code that works. This means that you should code and test functions as you write them, not code the whole thing and then try to get it to work. Students may develop programs using any computer system they have available. Please note, however, that submitted projects must run on jGrasp, unless otherwise specified by your instructor.

You are expected to backup your program as you get different pieces working. Note that accidently deleting your program, having problems connecting, etc., will not be accepted as excuses. It is important that you not touch your programs once you have done your submission: If there are submission problems, consideration for credit will only be given if it can be verified that the programs were not changed after being submitted.




   Lecture Section 001: Lab Sections 201-204
   Name        : Sneha Rao
   Email       : srao2ATgmu.edu

   Lecture Section 002:  Lab Sections 205-208
   Name        : Sepideh Mirza
   Email       : smirzaATgmu.edu

   Lecture Section 003: Lab Sections 209-212
   Name        : Rohitash Laul
   Email       : rlaulATgmu.edu