Engineering 4892 Data Structures

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

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

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.05 Introduction Info. sheet Ch. 1
2W 05.07 Software Engineering Fundamentals complex6.h, complex6.cpp, chessBoard.h
3F 05.09
4M 05.12 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.14
Th 05.15 Assignment 1
6F 05.16 3.1 - 3.3
7M 05.19 Queue.h,
forwardT.cpp
8W 05.21
9F 05.23
10M 05.26 Class canceled
10W 05.28 Linked Lists iterator.cpp,
StackL.h,
reverseL.cpp,
QueueL.h,
forwardL.cpp,
QueueLa.h,
List.h
Ch 4, 6.1 - 6.2
Th 05.29 Assignment 2
11F 05.30
12M 06.02 CharQueue.h, CharQueue.cpp (as they were at the end of class),
CharQueue.h, CharQueue.cpp (complete),
charQueueTest.cpp
13Tu 06.03
2:00-2:50 EN1040
review Last year's quiz, matchBrackets.cpp
14W 06.04 Quiz 1, solutions
15F 06.06 Linked lists (cont'd) CharStackL.h,
CharStackL.cpp,
See also teaching machine examples
16M 06.09
17W 06.11
Th 06.12 Assignment 3
18F 06.13 Recursion factorial.cpp,
frame.cpp,
hanoi.cpp,
exponent.cpp,
ListR.h,
See also teaching machine examples
Ch. 5
19M 06.16
20W 06.18
21F 06.20
M 06.23 Mid-term break
W 06.25
22F 06.27 Assignment 4 Searching & Analysis Ch. 7
23M 06.30
24W 07.02 Trees BinTree.h,
BinSearchTree.h,
See also teaching machine examples,
and a neat AVL applet on the web.
10.1 - 10.4
25F 07.04
26M 07.07
27W 07.09
Th 07.10 Assignment 5
28F 07.11
29M 07.14
T 07.15 2:00 EN-1040 Review tutorial Last year's quiz
30W 07.16 Quiz 2 solutions
31F 07.18 Trees (cont'd)
32M 07.21 Tables linearHash.h,
hashTest.cpp,
hashTest2.cpp
Ch. 9, omit 9.5 and 9.9
33W 07.23
34F 07.25
35M 07.28 Assignment 6
36W 07.30
37F 08.01 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 $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 2003.08.01 at 09:27 NDT by Dennis Peters