CS 211, Computer Science II
George Mason University
Spring, 2007

CS 211 is a continuation of CS 112.

Topics include abstract data types and data structures (arrays, linked list, sets, lists, stacks, queues, hash tables) and examples of their applications. Emphasis on program development continues and is reinforced through several larger programming projects. Additional programming language instruction supplements the major topics of this course.
CS 211 is intended for Computer Science majors and students majoring in other mathematical, scientific, and engineering subjects.

PRE-REQUISITE: C or better in CS 112

Address for Class WebCt Bulletin Board:   
WebCt Programming Projects and Labs will be posted on WebCt.


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 the course TAs.

Labs: You will need to bring a flash drive with you to lab to save your work. Lab configurations vary depending on the actual room--your TA will help you learn to use the machines in your particular lab.

Lab attendance is required. 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. 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.

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 and if your instructor agrees.

Due Dates: Labs and programming projects will be due the assigned date and time. Work will be submitted electronically.

Late work: Late labs will not be accepted. Late projects will be penalized 10 percent 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 .70 * 90 = 63). After that they will not be graded. Note that if you have submitted a project and decide you want to submit a late project, you MUST notify the TA prior to the due date. Once your project has been graded, it may not be resubmitted. 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 or posted, you have one week to contest the grade. After that the grade will not be changed. 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. You must have a written excuse (doctor's note, for example) to miss an exam. 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 last 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.

Back to the top


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

You MUST obtain a mason account if you do not have one. (The TA's will help you obtain an account and set up your WebCt account during a beginning lab session.) Please use this account for any individual correspondence with your instructor and/or TA.  (GMU faculty members have been instructed not to respond to email originating from a non-GMU account.)

Back to the top


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

Each section instructor will decide the basis for his/her lab grades and instructor's evaluation, which might include additional programming, pop quizzes, hour tests, class participation and/or other things as determined by your instructor.

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

Back to the top


Programming projects may be weighted differently. These are to be individual efforts, meaning that 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. Java programs should run under Java 1.5.

You are expected to backup and submit/resubmit your program as you get different pieces working. The submit program keeps the last version you submit. Your projects will not be graded until the due date, so you can resubmit as often as you like until that date. Failure to submit working pieces may result in your getting a zero on a program instead of partial credit if last minute problems occur.

You should download your final submission to be sure that you actually turned in what you intended. 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 final submission: If there are submission problems, consideration for credit will only be given if source files contain your name and it can be verified that the programs were not changed after being submitted.

Back to the top


Back to the top


In the lab, you will initially be required to work from the command line in Linux. Once you have gained some understanding of Linux commands, you will use NetBeans for program development. If you program at home, you will need to download Netbeans and Java 1.5. You can obtain both free at http://java.sun.com/j2se/1.5.0/download-netbeans.html.

Back to the top


If you are a student with a disability and you need academic accommodations, please see your instructor and contact the Disability Resource Center (DRC) at 993-2474. All academic accommodations must be arranged through the DRC.

Back to the top


A tentative list of the topics to be covered each week in class is posted in webCT. Students are expected to read the appropiate material from their textbook in advance of the class in which it will be covered.

Back to the top


The Final Exam Schedule is posted here

Midterm dates are set by the individual instructors. Tentative dates are given below.