CS111 Lab Spring 2003
---Section 005 (12:00-13:50, T), Section 006 (12:00-13:50, R), Section 007 (15:00-16:50, T)

Syllabus:
No seperate syllabus for the lab. Please see your lecturer's syllabus for cs111 as a whole. The lab is 25% of the overall grade. There will be 12 in-lab assignments (40 pts each) and 4 projects (130 pts each, in which 50 for documentation and 80 for implementation).

Prerequisites: Confident with C++ programming under UNIX.

Assignment Requirements:

  • In-lab assignments are given at the beginning of each class and due at the end of each class. Source files and other specified related files must be printed out and handed in then. If you cannot attend one lab, please let me know prior to the class. Don't be absent from class without notice, turn in your assignment later and expect to receive 100% grade.
  • I'll leave two or more weeks for you to finish each project. Projects are due at the beginning of class in the specified weeks. A detailed description of what is expected for the projects is provided in the following links:
    Project Preparation Specification
    Required Format for Lab Projects
  • You should keep good manners in writing your code (comments, proper indention, etc., are expected). It's your responsibility to make your program understood. A few points will be taken off if I cannot understand your code even if your program runs no problem.
  • Besides what you submit in paper, you are required to maintain a 'public_html/cs111' directory under your CSEE home directory, where you keep all your assignments and I can view your programs if necessary.

Tentative Semester Schedule:
Week of Assignment Solution
Jan 13 Introduction, no homework
Jan 20 How To ... demo 1 demo 2 demo 3
homework is Exercise 1.6 at page 31, due by the end of lab
Jan 27 Operator Overloading   Example Implementation main
Feb 3 Template Container Class (Required)   An Example   1st project Solution
Feb 10 Two recursive functions (Required) Solution
Feb 17 Use STL vector  It is optional due to the snow  
Feb 24 Use STL list; 2nd project Solution
Mar 3 Linked List I (Required);1st project dueReception List Solution
Mar 10 Linked List II(Required) implementation main
Mar 17 Spring Break  
Mar 24 Linked List III (Required), 3rd project Solution
Mar 31 STACK (Required); 2nd project due; Reception List Implementation  Main
Apr 7 QUEUE (Required) Class Implementation test driver
Apr 14 TREE I (Required); 4th project assigned; Solution
Apr 21 TREE II (Required); 3rd project due; Solution
Apr 28 SORTING (Bonus) Solution
May 5 Final Week, no lab. 4th Project due Tuesday for all 3 sections, e-mail me everything or drop by 701 ESB
Your lab grade will be the sum of what you got from the 9 required labs, the 4 projects, and the bonus lab. You can e-mail me to inquire your own lab grade.

Computer Account
If you don't have one, then you need to go to Room 757 to apply for it.

Tips for the usage of g++ compiler: you only need two commands in this class
1. g++ -c filename //compile to an object file
2. g++ filename1 filename2 ... -o filename //link to an executable file

Print in room 756esb: you need only two commands
// You may have to execute 'tcsh' first!
1. setenv PRINTER ps756esb
2. pprint filename

Reference
Bjarne Stroustrup's homepage
C++ Reference
GCC Product Page
Make - a tutorial

Contact, Office HRs, etc.
Office at 701ESB Desk #12;    Mailbox at Room 833 with a label 'X. Wang'
Office Hrs: 14:00-15:00, Tuesday; 14:00-16:00, Thirsday or by appointment
E-mail: xiawang@csee.wvu.edu;    Phone: 293-2547


West Virginia University is committed to social justice. I concur with that commitment and expect to foster a nurturing learning environment based upon open communication, mutual respect, and non-discrimination. our University does not discriminate on the basis of race, sex, age, disability, veteran status, religion, sexual orientation, color or national origin. Any suggestions as to how to further such a positive and open environment in this class will be appreciated and given serious consideration.

If you are a person with a disability and anticipate needing any type of accommodation in order to participate in this class please advise me and make appropriate arrangements with Disability Services (293-6700).