Computer Science II: CS 211
Spring 2002
Department of Computer Science
George Mason University



Description

Pre-requisite: C or better in CS 112.
Who should take this course: CS 211 is intended for Computer Science majors and students in mathematical, scientific and engineering majors.
Goals: Study data abstraction using a class, dynamic memory allocation, generic functions and classes, recursion, data structures for stack, queue and binary tree, and algorithms for searching and sorting. Apply these principles in programming projects.
Writing-intensive course: You will be asked to write a total of 3500 words for the whole course. The reports will be graded, marked, and returned to you if necessary for revision.

Grading policy

The approximate grade distribution is as follows.

A section instructor may also include quizzes, homeworks, instructor's evaluation etc. A section instructor will decide the exact distribution and the basis for his evaluation. This evaluation may include additional programming, hour tests, class attendance. Extra credit programming points will not carry over to exam grade points or vice-versa.

You must pass the final with a "C" or better to get a "C" or above in the course.

Coursework

Lab: You are required to register for a lab section attached to your course section. Lab time will be your opportunity to:

Reading: You 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 textbook, there will be opportunity to ask questions in class, or during office hours of the instructor, TA or UPA.
Time: You are expected to attend all classes and labs. At least 20 hours per week outside of class is probably needed for you to complete the course work.

Communications

We will use WebCt and e-mail for communication with you. You are responsible for checking regularly for notices from your instructor and TA. You should not post any code or major portions of pseudo-code on the WebCt.

You must obtain a mason account if you do not have one. If you registered before the start of the semester, the WebCt account has already been created for you. If you had an account before, then you can use your earlier password. In the other case, your password is the last four digits on your GMU ID.
If you are adding the class, please send an email to Dr Maddox for opening the account.

Address for Class WebCt Bulletin Board:    WebCt

UPA assignment for monitoring WebCt is as follows.
         Monday:    Minh Do          mdo2@gmu.edu
         Tuesday:   Greg Butterfield gbutterf@gmu.edu
         Wednesday: Bryan Topsher    btopsche@gmu.edu
         Thursday:  Greg Butterfield gbutterf@gmu.edu
         Friday:    Minh Do          mdo2@gmu.edu
                    Valerie Smith    vsmith@gmu.edu
         Saturday:  Valerie Smith    vsmith@gmu.edu
                    Bryan Topscher   btopsche@gmu.edu
         Sunday:    Greg Butterfield gbutterf@gmu.edu
                    Valerie Smith    vsmith@gmu.edu



TEXTBOOK

Back to the top



Syllabus & Schedule


         Ch. 1: Program specification, design & analysis
         Ch. 2: Abstract data types and C++ classes
         Ch. 3: Container classes
         First midterm (4th week)
         Ch. 4: Pointers and dynamic arrays
         Ch. 5: Linked lists
         Ch. 6: Templates
         Ch. 7: Stacks
         Ch. 8: Queues
         Second midterm (9th week)
         Ch. 9: Recursion  
         Ch. 10: Trees
         Ch. 12.1, 13.1-2: Searching and sorting
 

CAVEAT: Syllabus is subject to change to fit the needs of the class.


Back to the top



Programming policies

  1. A lab/project should follow the coding style given on page 775 of the textbook.
    In addition, a lab/project should have the following.
  2. Help from instructor/ta/upa.
  3. A 750-850 word report is required with each project. The 750-850 word count does not include code. The report should have the following sections.
  4. A lab/project will have the following grade distribution.
  5. A lab/project has to be individual effort. There should be no code sharing or discussion of solutions with anyone except the instructor/ta/upa. You should not incorporate code written by others, such as can be found on the Internet or any book. (See the department's Honor Code statement.) Honor Code violations will be reported to the Honor Court.
  6. You may develop a lab/project using any computer system. However, the submitted lab/project must run properly on osf1.gmu.edu using the g++ compiler on osf1.
    Substantial incompatibilities may exist between different compilers.   It is your responsibility to make sure that your lab/project runs properly on osf1.gmu.edu using g++ compiler on osf1 prior to the due date so that you can submit it in a timely fasion. No extensions will be given as a result of compiler incompatibilities.
  7. The first lab for all sections is due on Monday, Jan 28 by 11:59 pm. The remaining labs/projects for all sections are due on Saturday by 11:59 pm. If your lab is on a holiday, you should contact the TA during his office hours or attend another lab section, if possible.
    The due date for a project will be posted with the project. You will have approximately 3 weeks for each project.
  8. You will be given credit only for code that works. You should code and test functions as you write them. Do not code the whole thing and then try to get it to work.
  9. Once grades are posted, students have 1 week to contest the grade--beyond that the grade will not be changed.

Back to the top

Software

If you plan to program at home, it is recommended that you download the cygwin environment from RedHat. The URL is sources.redhat.com.cygwin. Follow the install link. If you are running linux on your computer, you can down-load the current release of GNU GCC from http://gcc.gnu.org/.
On Unix systems, please use g++ rather than cxx. cxx is a DEC product not available on the Sun workstations on which your programs will be compiled and run by the TA.

Back to the top

Programming projects. Programming labs.
Section 1 : Tue/Thu 10:30 AM - 11:45 AM, ENT 178
Instructor : Prof. Tamara Maddox
Office: 437 ST 2; Phone :703-993-3471; Email: tmaddox@cs.gmu.edu
Office hours: Tue/Thu 12:00 AM - 1:30 PM.

Exam dates Teaching assistant
        Name:         Krishna Palati
	Email:        kpalati@gmu.edu
	Office hours: Thu 2:00 PM - 4:00 PM and 6:00 PM - 8:00 PM, 435 ST 2
Undergraduate peer assistant
        Name:           Sindhu Akula
	Email:          sakula1@gmu.edu
	Office hours:   Tue and Wed 5:00 PM - 7:00 PM, 268 ST 2

Section 2 : Wed 4:30 PM -7:10 PM, ENT 178
Instructor : Prof. Rahul Singh
Office: 229 ST 2; Email: rsingh9@cs.gmu.edu
Office Hours: Tue 4:30 PM - 6:30 PM and Thu 5:00 PM - 6:00 PM.

Exam dates Teaching assistant
        Name:         Sameer Chandra
	Email:        schandra@gmu.edu
	Office hours  Sat 12:00 AM - 4:00 PM, 435 ST 2
Undergraduate peer assistant
        Name:           Valerie Smith
	Email:           vsmithgmu.edu
	Office hours:   Sat and Sun 10:00 AM - 12:00 AM, 268 ST 2

Section 3 : Thu 4:30 PM - 7:10 PM, ENT 178
Instructor : Prof. Tamara Maddox
Office: 437 ST 2; Phone :703-993-3471; Email: tmaddox@cs.gmu.edu
Office hours: Tue/Thu 12:00 AM - 1:30 PM

Exam dates Teaching assistant
        Name:         Gulbir Sethi
	Email:        gsethi1@gmu.edu
	Office hours  Mon 11:00 AM - 1:00 PM and 5:00 PM - 7:00 PM, 435 ST 2
Undergraduate peer assistant
        Name:           Minh Do
	Email:           mdo2@gmu.edu
	Office hours:   Fri 10:00 AM - 2:00 PM, 268 ST 2

Section 4 : Mon 7:20 PM - 10:00 PM, A111 Robinson
Instructor : Prof. Rahul Singh
Office: 229 ST 2; Email: rsingh9@cs.gmu.edu
Office Hours: Tuesday: 4:30 PM - 6:30 PM and Thursday 5:00 PM - 6:00 PM.

Exam dates Teaching assistant
        Name:         Arshad Ahmed
	Email:        aahmed8@gmu.edu
	Office hours  Fri 3:00 PM - 7:00 PM, 435 ST 2
Undergraduate peer assistant
        Name:           Anh-Tuan Tran
	Email:           atranf@gmu.edu
	Office hours:   Sun 1:00 PM - 5:00 PM, 268 ST 2

Section 5 : Tue 7:20 PM -10:00 PM, ENT 274
Instructor : Prof. Clifford Nelson
Office: 435 ST 2; Email: cliffordnelson@earthlink.net
Office Hours: Tue 6:00 PM - 7:00 PM by appointment.

Exam dates Teaching Assistant
        Name:         Sameer Chandra
	Email:        schandra@gmu.edu
	Office hours  Sat 12:00 AM - 4:00 PM, 435 ST 2
Undergraduate peer assistant
        Name:           Valerie Smith
	Email:           vsmith@gmu.edu
	Office hours:   Sat and Sun 10:00 AM - 12:00 AM, 268 ST 2

More undergraduate peer assistants
        Name:           Greg Butterfield
	Email:           gbutterf@gmu.edu
	Office hours:   Tue 2:00 AM - 4:00 PM, 268 ST 2
        Name:           Bryan Topscher
	Email:           btopsche@gmu.edu
	Office hours:   Wed 11:00 AM - 1:00 PM, 268 ST 2