EEN318, Programming III, Autumn 2005
- The Official Syllabus.
- Downloads: Putty (ready to run) and other
software to make things work.
- Library downloads and documentation
- Summary of the Most Useful graphics functions
- Guide to using Unix
- C, C++, and Unix Functions Reference
- The official book is "Algorithms in C++", 1992 edition, by Sedgewick, ISBN 0-201-51059-6, pub. Addison Wesley.
(picture).
- mid-term: Tuesday 15th November.
- Final Examination: Thursday 8th December.
- Project Demonstrations: Tuesday 13th December.
- The necessary geographical data:
Here is some possibly useful data for the project.
Here are some NEW geographical data files
- Class History:
- Class 1 (25-8-2005) No class due to hurricane.
- Class 2 (30-8-2005) Introductions, what we're going to be doing, etc, etc, etc.
- Class 3 (1-9-2005) Examining the problem of fast data searches: binary chop, hash table.
- Class 4 (6-9-2005) Hash tables and linked lists in a non-object-oriented style.
- Class 5 (8-9-2005) C stuff: low level memory accesses; Memory-mapped pixel graphics operations; Project statement.
- Class 6 (13-9-2005) (today's C++ stupidity);
Defining GUI component objects:
(working introductory sample)
(enlarged button).
- Class 7 (15-9-2005) (HLS and RGB application, method); Making derived classes; Inheritance.
- Class 8 (20-9-2005) No class, another hurricane day.
- Class 9 (22-9-2005) (secret spam-sending example) More inheritance, constructor rules, polymorphism, virtual methods.
- Class 10 (27-9-2005) Formalising the rules of object orientation in C++, especially for polymorphism.
- Class 11 (29-9-2005) Inheritance for GUI components; Encapsulation - private hides details, for maintainable programs.
- Class 12 (4-10-2005) Part 2 of project; Function variables; Containers and Layout.
- Class 13 (6-10-2005) (today's sample) Abstract methods and classes; Java's Object; templates.
- Class 14 (11-10-2005) Efficiency analysis: linked list create and access are linear, growable array access is constant, create is quadratic (with increment) or linear (with scale).
- Additional reference material:
Linked List template; C++ strings
introduction and
reference.
- Class 15 (13-10-2005) Bioloigical taxons: building and exploring a tree.
- Class 16 (18-10-2005) C file and string processing; Shortest path algorithm, part 1: constructing the data structures.
- Class 17 (20-10-2005) (Nebraska: pos, neg)
A true shortest path algorithm; starting the army-of-ants simulation.
- Class 18 (25-10-2005) Another hurricane day.
- Class 19 (27-10-2005) Another hurricane holiday.
- Class 20 (1-11-2005) Completing shortest path algorithm (to find the actual path), and analysing its efficiency.
- Class 21 (3-11-2005) Off-screen bitmaps; friends; constructors as type converters.
- Class 22 (8-11-2005) (ammonites cpp, exe)
Copy constructors, assignment operators, destructors, const references, memory leaks.
- Class 23 (10-11-2005) Traceable value-holding types; An ordered linked list, lack of advantages; Mergeing lists;
(mistake).
- Class 24 (15-11-2005) "Mid"-term.
- Class 25 (17-11-2005) Fast sort of a linked-list based on halving and merging.
- Class 26 (22-11-2005) Just how fast merge-sort is, and why; why it isn't so great for arrays.
- Class 27 (29-11-2005) More on low-level C string and file operations: (data files here).
- Class 28 (1-12-2005) The idea behind Quicksort; Ordered Binary Trees: how and why they work, building them O(NlogN), searching them O(logN).
- Class 29 (6-12-2005) Separate compilation: cpp, o, and h files; Implementing binary trees; Ordered scan through contents of tree.
- Class 30 (8-12-2005) Final Examination.
- Class 31 (13-12-2005) Project Demonstrations.