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
a>.