Engineering 4892 Data Structures

Instructor Dr. D. K. Peters
Lectures M, W, F 10:00-10:50 EN1040
Lab/Tutorial M 15:00-16:50 EN3000/29
Office hour Tuesday 15:00-17:00, or by appointment
T.A. Yingzi Wang
Zhiwei An

Schedule and Examples | Evaluation | Assignment Policies | Web Submit | Text | Links | References | FAQ

Detailed Schedule and Examples

The following is the tentative schedule of lectures, mid-terms and assignments for the term. Lecture topics may change slightly as the term progresses. Click an assignment or demo to view it. Click on a topic to view an html version of the class notes for that topic. Downloadable printable forms (PostScript or Portable Document Format) are also given. These may not always be available in advance of the lectures and are not to be considered a substitute for attending class.

If you need information about the file formats, or instructions for downloading them check here.

#Date Deadline Topic Examples Notes Text Ref.
1M 05.07 Introduction intro_th.ps,
intro_th.pdf
Ch. 1
2W 05.09 Software Engineering Fundamentals chessBoard.h softeng_th.ps,
softeng_th.pdf
3F 05.11
4M 05.14 0900 Lists: Stacks & Queues reverse.cpp,
mutate.cpp,
underflow.cpp,
overflow.cpp,
IntStack.cpp,
IntStack.h,
reverseIS.cpp,
Stack.h,
reverseT.cpp
stack_th.ps,
stack_th.pdf
Ch. 2
5M 05.14 1000
6W 05.16
7F 05.19 Assignment 1 3.1 - 3.3
8M 05.21 Queue.h,
forwardT.cpp
queue_th.ps,
queue_th.pdf
9W 05.23
10F 05.25 Linked Lists StackL.h,
reverseL.cpp,
QueueL.h,
forwardL.cpp
linked_th.ps,
linked_th.pdf
Ch 4, 6.1 - 6.2
11M 05.28
12W 05.30 Assignment 2
F 06.01 Class taken by Dr. Quaicoe
13M 06.04 Linked lists (cont'd) QueueLa.h,
QueueLH.h,
List.h,
ListI.h
14W 06.06
15F 06.08
16M 06.11 7.6
17W 06.13
Th 06.14 Assignment 3
18F 06.15 Quiz 1 Solutions: ps, pdf
19M 06.18 Recursion (notes revised: Wed 2001.07.11 at 17:42 NDT) factorial.cpp,
frame.cpp,
hanoi.cpp,
exponent.cpp,
ListR.h
recursion_th.ps,
recursion_th.pdf
Ch. 5
20M 06.18 15:00
21W 06.20
22F 06.22
M 06.25 Mid-term break
W 06.27
F 06.29 extended break
M 07.02 Memorial Day Holiday
23W 07.04 Trees and Graphs BinTree.h trees_th.ps,
trees_th.pdf
10.1 - 10.3
Th. 07.05 Assignment 4
24F 07.06
25M 07.09
26W 07.11
27F 07.13 Quiz 2 Solutions: ps, pdf
28M 07.16 Trees (cont'd) BinSearchTree.h,
AVLtree.h,
avldriver.cpp
avltrees_th.ps,
avltrees_th.pdf
10.4
29W 07.18 Assignment 5
30F 07.20
31M 07.23 Tables linearHash.h,
hashTest.cpp,
hashTest2.cpp
tables_th.ps,
tables_th.pdf
Ch. 9, omit 9.5 and 9.9
32W 07.25
33F 07.27
34M 07.30
35W 08.01 Assignment 6
36F 08.3 Review

Textbook

R. L. Kruse & A. J Ryba, Data Structures and Program Design in C++ Prentice-Hall, 1999. ISBN 0-13-768995-0.
It's available at the MUN Bookstore (location B-07) for $106.95.

Evaluation

Assignments (6)15%
Quizes (2) 30%
Final Exam 55%

Related Links

C++ In Review, pdf vesrion for printing (36 pages)
This is an excellent and strongly recommended review of the topics of C++ that are essential for this course.
Programming With Style, pdf version for printing (20 pages)
An excellent style guide for C++ programming. The TAs will be using this as their guideline when marking your programming style, so you're encouraged to follow it.
Cygwin C++
Here's where you can get the 'official' compiler (i.e., the one you are responsible for ensuring your code works with).
Dinkum C++ Library Reference
A very useful on-line reference. They'd also like you to buy the book.
C++ FAQ Lite
Answers to most questions you could ever think to ask. This is an abridged version of the book C++ FAQ (Cline and Lomow, Addison-Wesley, 1995, ISBN 0-201-58958-3).
Standard Template Library Programmer's Guide
Everything you should need to know about STL.
Programming in C++, Rules and Recommendations.
One (reasonably highly regarded) style guide for C++
Trees and They're on My Link-ed List
Data Structures Poetry by T.S. Norvell
Vim HOWTO
A good source of help with Vim.

References

Here are some books other than the textbook that you might find useful.
B. Stroustrup, The C++ Programming Language Third Edition, Addison-Wesley, 1997.
Stroustrup is the creator of C++, so this is an authoritative book. It includes a lot of good advice about designing programs using C++. IMHO, if you're serious about programming in C++ then you should just buy it now.
S. Meyers, Effective C++-50 Ways to Improve Your Programs and Designs Second Edition, Addison-Wesley, 1998.
S. Meyers, More Effective C++-35 New Ways to Improve Your Programs and Designs, Addison-Wesley, 1996.
These give very good nuts-and-bolts tips for making your programs readable and robust. These are so well respected that some compilers will generate warnings if you violate them.
M. A. Ellis and B. Stroustrup, The Annotated C++ Reference Manual, Addison-Wesley, 1990.
A bit dated, but still a great refernece book. Those in-the-know call it "the arm".
Kenneth H. Rosen, Discrete Mathematics and Its Applications, McGraw-Hill, 1995
The textbook you used for Engr. 3422 - Discrete Mathematics.

back to Dennis Peters' homepage

Last modified: Thu 2001.08.02 at 11:19 NDT by Dennis Peters