next up previous
Next: About this document

CS 202: Computer Science II
Fall 1998
MWF: 9:00 - 9:50
SEM 234

Instructor: Dr. Sushil J. Louis
Office: LME307 (784-4315)
email: sushil@cs.unr.edu
- TA: Sheng Tang
Office: LME321
email: tang_s@cs.unr.edu

Catalog description

CS 202 Computer Science II, 3 credits

Emphasis on problem solving and program development techniques. Typical numerical and non-numerical problems are examined. Design, implementation, and abstraction principles of elementary data structures. Prerequisite: CS201

Texts

Office Hours

Sushil: (LME 307)
Sheng Tang: (LME 321)

Preliminary Topics

  1. Modules and Information passing
  2. Abstract Data types and Classes
  3. Operator Overloading
  4. Structures
  5. Pointers and Recursion
  6. Dynamic Objects
  7. Linked lists, Stacks, Queues
  8. Introduction to Java

A more detailed syllabus and class notes are available from http://www.cs.unr.edu/classes/cs202 and attached at the end of this handout.

Computer Usage

You will use your unix accounts to do the assignments. The Tompson lab contains a number of Workstations to host your lab and is a good place to do your work. You can, of course, remote log in to any of the workstations. Help on this is available from the class' help page or, more exactly, from the SCS Frequently Asked Questions (FAQ) page. Our workstation names and internet addresses are pasted on the workstation monitors.

Class notes are available on the Internet and World Wide Web from the cs202 page at
http://www.cs.unr.edu/classes/cs202. Use the workstations in the Tompson lab or elsewhere to access these notes and for email communications. Our default compiler is the Gnu C++ compiler (g++), a public domain compiler available on all workstations systems in the lab.

Student Participation

Students are expected to attend all classes and read all of the assigned sections of the texts (I may go through the text in a different order). Often material will not be covered in both lectures and reading assignments. Therefore, both are required for a full understanding of the course content. Finally, completing homework is essential.

Students are encouraged to study together and to help each other understand the course material. However, each student is expected to prepare their own assignments. When you hand-in work with your name on it you are stating that it is your own work and not the work of another person. As a reminder of UNR academic standards, page 60 of the current University Catalog includes the following: Plagiarism is defined as submitting the language, ideas, thoughts or work of another as one's work; or assisting in the act of plagiarism by allowing one's work to be used in this fashion.'' This means that if another student asks to borrow your work -- Say NO -- or you are participating in plagiarism. Academic dishonesty will not be tolerated in this class. Please read the section on Academic Standards on page 60 of the UNR 1998-1999 catalog or ask me for a copy.

Homework and Exams

There will be a number of assignments and they will count for 50% of your total grade for this course. Two (3) tests, each worth 10% will make up an additional 20%. One early quiz will be worth 5%. The final exam on Thursday Dec from 9:45 to 11:45 a.m. in class will make up the remaining 25% of your grade. Tests will be announced at least two classes in advance.

I hope to adhere to the following schedule, but please keep in mind that all dates are subject to change.

----------------------------------------------------------------
        	 When			percentage of grade
----------------------------------------------------------------
Quiz           	 Surprise		5%

Tests            Oct 2, Nov 6		10% each (20% total)

Final		Thursday Dec 10,	25%
		9:45 -- 11:45 a.m 	

Assignments				50% 
----------------------------------------------------------------

No late assignments will be accepted since solutions will be posted after the due date. I will be using the plus-minus grading system. In other words, grades may include a + or - suffix (example: A, A-, B+, C-, C, etc.).

Programming assignments must be turned in on DOS formatted 3.5" diskettes and paper. The diskettes must contain source code (all files) and an executable. Use ``mcopy'' to copy files from your account on to diskettes. The hardcopy must contain a copy of the source as well as a ``script'' of your running the program and testing it on illustrative cases that clearly point out program strengths and weaknesses. Testing is important, learn to design good test inputs.

Here is an example of how to use the ``script'' unix command that copies everything appearing on the screen to a file (script file). The ``%'' sign is the unix prompt.

% script as1.dat
% cat as1.cpp
% g++ -o as1 as1.cpp
% as1
...
% exit

The first command provides the name of the file in which all subsequent interaction that appears on the screen will be copied to. The second command prints the file ``as1.cpp'' (presumably your assignment one's source code) on the screen. Next, we invoke the compiler to compile your code and create an executable named ``as1.'' Finally, the last command runs the executable. Run it as many times as needed. Access the man page on ``script'' to find out more about ``script.'' Make sure that the name of the script file (in this case as1.dat) is different from any other file name in the current directory.

All assignments must be turned in on the due date at the beginning of class inside a plain brown envelope with your name, course number, assignment number, and email address clearly marked on the outside and on the assignment media (diskette and paper).

Communications

Whenever I need to communicate with the class as a whole I will use the class NewsBoard and/or email. You are expected to check your email and read the NewsBoard at least once a day. Documentation on Unix, browsing the net, and other Unix utilities is also available from our help page. Of course, you can also always ask me or the TA!

Detailed Course Content

Lecture Notes are available from http://www.cs.unr.edu/classes/cs202

  1. Administrative notices and a simple C++ program.
  2. Documentation and Naming conventions
  3. Passing parameters
  4. Modules and Information Hiding
  5. Assertions, Invariants, Preconditions, and postconditions
  6. Classes
  7. Friends and operator overloading
  8. Command line arguments
  9. Structures in C++
  10. Unions and Variant Records
  11. Recursion
  12. Pointers
  13. Pointers and Arrays
  14. Dynamic Memory and Dynamic Objects
  15. Problems with Dynamic memory and operator overloading
  16. Data Structures
    1. Linked Lists
    2. Stacks
    3. Queues
    4. If there is time: Trees
  17. Introduction to Java




next up previous
Next: About this document

Sushil Louis
Mon Aug 24 10:06:45 PDT 1998