## Topics, Examples, Algorithms and Code Examples

- Week 1:
- Intro to course.
- Stacks and very simple "partially-filled array" implementation.
- Stack examples (with exercises):
Parenthesis Checking;
Checking Grouping Symbols.
- C++ Code Example: Basic Array-based Stack-of-Ints Class:
- Queues and (abstract) implementation with "circular" array;
- Queue examples: round-robin scheduling;
- Example: Palindrom Checking with a stack and queue;
- Array-based Queue-of-Ints class;
- Code Example: Basic Queue Implementation.

- Week 2:
- Big-Oh notation: especially O(1) and O(n).
- Dynamic Data Structures (DDS)
- Abstract linked lists (Text: Section 3.1 and 3.2);
- Abstract linked list implementation of stack.
- C++ addresses, pointers and arrays;
- Code Examples:
- --------- QUIZ 1 CUT-OFF ------------
- The call stack; Peeking at the call stack;
- Code Examples:
- Memory allocation on stack vs heap (dynamic memory), and the
**new** operator;
- Accessing object members in C++;

- Week 3:
- Code Example:
Dynamic (linked list) imlementation of basic stack class.
(Notice that you use the same test program as used
for the non-dynamic array-based stack, with no changes.)
- Linked list implementation of Queue.
- QUIZ 1 (Monday Jan. 22).