Engineering 4892 Data Structures

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

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 a printable form (Portable Document Format) of the class notes. 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/Handouts Text Ref.
1M 05.06 Introduction Info. sheet Ch. 1
2W 05.08 Software Engineering Fundamentals complex6.h, complex6.cpp, chessBoard.h
3F 05.09
4M 05.13 Lists: Stacks & Queues reverse.cpp,
mutate.cpp,
underflow.cpp,
overflow.cpp,
IntStack.cpp,
IntStack.h,
reverseIS.cpp,
Stack.h,
reverseT.cpp,
Ch. 2
5W 05.15 9 am
Th 05.16 Assignment 1
6F 05.17 3.1 - 3.3
7M 05.20 Queue.h,
forwardT.cpp
8T 05.21 3:00pm EN1040
9W 05.22 Linked Lists iterator.cpp,
StackL.h,
reverseL.cpp,
QueueL.h,
forwardL.cpp,
Last year's quiz,
QueueLa.h,
List.h
Ch 4, 6.1 - 6.2
10F 05.24
11M 05.27
12W 05.29
Th 05.30 Assignment 2
F 05.31 Class cancelled
13M 06.03 Linked lists (cont'd)
14T 06.04 3:00pm EN1040
15W 06.05 Quiz 1
16F 06.07 Recursion factorial.cpp,
frame.cpp,
hanoi.cpp,
exponent.cpp,
ListR.h
Ch. 5
17M 06.10
18W 06.12
19F 06.14
20M 06.17 Searching & Analysis Ch. 7
21W 06.19
Th 06.20 Assignment 3 (note: revised Wed 2002.06.12 at 09:56 NDT)
22F 06.21
M 06.24 Mid-term break
W 06.26
F 06.28 class cancelled
M 07.01 Memorial Day Holiday
23W 07.03 Trees BinTree.h 10.1 - 10.3
24Th. 07.04
Monday schedule
Assignment 4
25F 07.05
26M 07.08 BinSearchTree.h
T 07.09 3:00 EN-1040 Review tutorial Last year's quiz
27W 07.10 Quiz 2
28F 07.12 Trees (cont'd) assign6_a.h (partial AVL Tree) 10.4
29M 07.15
30W 07.17
Th 07.18 Assignment 5
31F 07.19
32M 07.22
33W 07.24
34F 07.26 Tables linearHash.h,
hashTest.cpp,
hashTest2.cpp
Ch. 9, omit 9.5 and 9.9
35M 07.29
36W 07.31
Th 08.01 Assignment 6
37F 08.02 Review fooBar.cpp,
fooBar1.cpp

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 $108.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: Fri 2002.07.26 at 11:45 NDT by Dennis Peters