CS111 Lab Spring 2004
---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%-30% of the overall grade. There will be 12 in-lab assignments (5 pts each) and 4 projects (15 pts each).

Prerequisites: Confident with C++ programming under UNIX-like environment.

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.

Tentative Semester Schedule:
Week of Assignment Solution
Jan 12 Introduction, no homework
Jan 19 A simple class SimpleClass.cpp main.cpp
Jan 26 Subclass Solution
Feb 2 Object data member Solution
Feb 9 Linked List Solution
Feb 16 A simple Template Class Solution
Feb 26Project 1flist.h flist.cpp
Feb 23 Doubly Linked list Solution
Mar 1 Queue Solution
Mar 8 Recursive Functions Solution
Mar 22 STL Queue and Stack Solution
Mar 26Project 2Smatrix.h main.cpp
Mar 29 postfix expression evaluation Solution
Apr 5 binary search tree bstree.cpp main.cpp
Apr 12 Project 3
Apr 12 Lab 12 (Optional) Header main
Apr 19 Heap Sorting
Apr 26 Project 4

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
GDB Project Page
GNU Make Manual

Contact, Office HRs, etc.
Office at 701ESB Desk #4;    Mailbox at Room 833 with a label 'X. Wang'
Office Hrs: 14:00-15:00, Tuesday; 14:00-17:00, Thursday 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).