CS121 - Computer Science II (also known as Data Structures)

Instructor: Bob Rinker
Office: JEB 235
Email: rinker@cs.uidaho.edu
Phone: (208)885-7378
Office Hours (Fall 2011): 11:30-12:20 MF, 2:30-3:30 TW, 1:30-2:30 Th, or by appointment, or stop in anytime my door is open!
A visual view of my weekly schedule is available here.

Catalog Description:

CS121 - Abstract data types and data structures: linked lists, stacks, queues, trees and graphs. Methods to implement and algorithms to manipulate these structures. Dynamic memory methods, sequential file processing, additional searching and sorting algorithms, recursion and object-oriented programming. Three lec and one 2-hr lab a week. Prereq: CS120 Coreq: Math176

Syllabus:
Downloadable from here ps or pdf

Policy on Academic Honesty and Cheating - your continued registration in this class indicates that you understand and agree to abide by the policy ( ps or pdf)

Grading:
Your grade will be calculated using the following percentages:
Two mid-semester exams 30%
Final exam (comprehensive) 20%
Quizzes 15%
Homework/Programming Assignments 35%
Total 100%

The letter grade you receive from the course will be determined as follows:
90%-100%A
89.9%-80%B
79.9%-70%C
69.9%-60%D
Below 60%F
The instructor reserves the right to adjust these percentages lower if deemed necessary.
Announcements

Any announcements for the class will be posted here
Welcome to the class!



Notes and Handouts:

Will appear here when needed in class.
- Slides on arrays ( pdf or ps )
- Slides on 2D arrays ( pdf or ps )
- Slides on pointers ( pdf or ps )
- Slides on linked lists ( pdf or ps )
- Slides on classes ( pdf or ps )
- Slides on strings ( pdf or ps )
- Slides on order analysis and BigO ( pdf or ps ). A short description of BigO analysis is here ( pdf or ps )
- Slides on the hash search ( pdf or ps )
- Slides on the sort algorithms we discussed ( pdf or ps )


Lab Assignments:

Will appear here sometime after they have been assigned
- Lab Assignment #1 ( pdf or ps ), Due August 31, 2011
- Assignment #2 ( pdf or ps ), Due September 7, 2011
Inventory file is available here. Some clarification - one of the inventory items has a negative number in stock. This means that it is "backordered." When the qty to order is applied, there is still insufficient stock. So another increment of qty to order should be applied. Finally, usually backordered items should not be reflected in the total inventory value (ie, a negative quantity should not be included in the total inventory calculation).
- Assignment #3 ( pdf or ps ) Transaction file is available here.
- Assignment #4 ( pdf or ps ), Due September 21
- Assignment #5 ( pdf or ps ), Due September 28
- Assignment #6 ( pdf or ps ), Due October 5
- Assignment #7 ( pdf or ps ), Due October 19
- Assignment #8 ( pdf or ps ), Due October 26
- Assignment #9 ( pdf or ps ), Due November 2
File containing the book's search code is available here.
- Assignment #10 ( pdf or ps ), due November 9
The executables needed for this lab are available here ( Max1, Max2, Max3, Max4)
- Assignment #11 ( pdf or ps ), due November 16
Some data files with words in them are available here with ( 100, 1000, 2000, 5000, 10000, 20000, 50000, 100000 ) elements.
The sorting source code from the handout I gave in class is available here. (The code probably needs some tweaking to compile, and to make it sort strings instead of int's).
Code from the book is available for ( chapter 8, chapter 9 ).
- Assignment #12 ( pdf or ps ), due November 30
- Assignment #13 ( pdf or ps ), due December 7
Data file is available here.

Links to other useful information

An ASCII code chart ( pdf or ps )
A decent vi editor Cheat Sheet (pdf or ps)
Unix tutorial (from the University of Edinburgh) here.


Last updated Wednesday, December 7, 2011