CPSC 281 — Data Structures I — Winter 2015
course outline
(printable pdf version).
- Important Information
-
Important information will be posted here from time to time.
- 2015-04-01
-
Lab 4 posted.
- 2015-03-20
-
Classes resume (presumably) .
- 2015-03-19
-
Strike suspended by administration request to BC
Labour Relation’s Board.
-
Midterm II cancelled.
- 2015-03-05–2015-03-18
-
UNBC Faculty
Association on strike.
- 2015-03-03
-
Please note that a printed version of Lab 3
is not required.
- 2015-02-10
-
Added third lab assignment.
- 2015-01-18
-
Added second lab assignment.
- 2015-01-15
-
Added links related to generics;
added first lab assignment.
- 2015-01-11
- Added Generics Cheat Sheet.
- 2014-10-15
- Began creation of this page.
- Instructor
- Dr David Casperson
(contact information,
schedule).
- Text
- Data Structures and Algorithms in Java
by Michael
T. Goodrich and Roberto Tamassia.
5th edition.
Isbn: 978-0-470-38326-1.
- Rooms and Hours
-
Lectures are in 5-157;
there are no scheduled tutorials or labs (but you can use
the machines in 8-456/7 when not in use for scheduled
CPSC 101 labs).
(David’s schedule).
- Grading Scheme
-
- Dates
-
Lab Assignments | Found
here |
First Class | 2015-01-05 Monday |
Midterm I | 2015-02-02 Monday |
Family Day |
2015-02-09 |
Winter Break |
2015-02-16–2015-02-27 |
Midterm II |
2013-03-23 Monday |
Easter Monday |
2013-04-06 |
Course Evaluations |
2013-04-13 |
Last Class |
2013-04-15 |
Final |
2015-04-27
(Monday)
|
18:00–21:00 in
10-4072
|
|
Other dates can be found on the
University web-site here.
- Policies
- Course
policies can be
found here.
- Handouts
-
- Links
-
- Topics
-
from (not necessarily in the order listed)
Program performance, data representation, arrays
and matrices, lists, stacks and queues, skip lists and hashing,
binary trees, balanced and B-trees, AVL trees, splay trees, tree
traversals using stacks, expression trees, prefix, infix, and
postfix expressions and conversions, priority queues and heaps,
search trees, Huffman codes, graphs, graph algorithms (weighted
and unweighted shortest-path, Dijkstra's algorithm, critical
paths), minimum-cost spanning trees (Prim's, Kruskal's, and
Solin's algorithms). Implementation of various data structures
using object-oriented programming language.
-
More generally, a student who successfully completes
CPSC 281 will be able to select appropriate data
structures from standard libraries and/or implement
specific-purpose data structures as part of their general
programming skills.
- General
-
-
Assignments are late if they are not received at the
beginning of the lecture at which they are due.
See the late policy for further information.
-
There will be between 4 and 8 programming assignments, the
assignments being given out approximately bi-weekly.
-
Discussion of assignment topic is encouraged but all
assignments must be done independently. Copied
assignments are considered as “Academic Dishonesty.”
Responses to academic dishonesty include assigning a
mark of -100% and
written notification
of the Dean.
Again, see
the policies
link for more details and other policies.