CSCI 162 — Fall 2024
This course emphasizes the use of abstraction in programming. Elementary data structures are introduced (stacks, queues, lists, trees) along with related algorithms. The data structures and other simple iterative and recursive algorithms are used (e.g. searching and sorting) are used to introduce algorithm analysis.
Professor
Dr. Jean-Alexis Delamer
jdelamer at stfx.ca
Annex 9C
GitHub Repo
The course content is available on GitHub
Feel free to submit issues, fork the repo, and submit pull requests
Follow the guidelines
In other words, feel free to make contributions to the course content
In fact, I encourage this
Class Times
Tue 9:30 – 10:20 (L1), MULH 4024
Thu 8:30 – 9:20 (L2), MULH 4024
Fri 10:30 – 11:20 (L3), MULH 4024
Office Hours
Office Hours Etiquette — Don’t Do This.
Tue 10:30 – 11:30, Annex 9C
Thu 10:00 – 11:00, Annex 9C
Fri 9:00 – 10:00, Annex 9C
- 1. Introduction
- 2. Java vs. Python
- 3. Objects Review
- 4. Unit Tests
- 5. Data Structures Review
- 6. Collections
- 7. The Stack ADT
- 8. ArrayStack
- 9. Unit Testing Collections
- 10. Links
- 11. LinkedStack
- 12. Algorithm Analysis
- 13. The Queue ADT
- 14. LinkedQueue
- 15. ArrayQueue
- 16. The Bag ADT
- 17. Inheritance
- 18. Bag Implementations
- 19. Iterators
- 20. Exceptions
- 21. Memory & The Call Stack
- 22. Recursion
- 23. Searching
- 24. Tree ADT
- 25. Binary Trees
- 26. Binary Search Trees
- 27. Linked Binary Search Trees
- 28. Sorting
- 29. Sorting Recursively