Library & Scholarly Resources
Digital Reading Room
Ask AU Library
Library
myAU
Index of Digital Reading Room
Search
Home
COMP
COMP 504: Object Structure and Programming
COMP 504: Object Structure and Programming
Report a Broken Link
Course Orientation
Goodrich, M. T., Tamassia, R., & Goldwasser, M. H. (2014).
Goodrich, Tamassia, Goldwasser: Data structures and algorithms in Java, 6th edition student companion site.
Wiley. https://bcs.wiley.com/he-bcs/Books?action=index&itemId=1118771338&bcsId=8635
Algorithms and Data Structures Symposium (WADS). (n.d.).
Home
. Retrieved January 15, 2026, from https://www.wads.org/
Elsevier. (2026). Journal of algorithms open archive.
ScienceDirect
. https://0-www-sciencedirect-com.aupac.lib.athabascau.ca/journal/journal-of-algorithms
Pleiades Publishing. (n.d.). Programming and computer software.
Springer Nature Link
. Retrieved January 15, 2026, from https://0-link-springer-com.aupac.lib.athabascau.ca/journal/11086
Association for Computing Machinery. (2026).
ACM transactions on algorithms
. ACM Digital Library. https://0-dl-acm-org.aupac.lib.athabascau.ca/loi/talg
Association for Computing Machinery. (2026).
ACM computing surveys.
ACM Digital Library. https://0-dl-acm-org.aupac.lib.athabascau.ca/loi/csur
Association for Computing Machinery. (2026).
Communications of the ACM.
ACM Digital Library. https://0-dl-acm-org.aupac.lib.athabascau.ca/magazine/cacm
Hilfinger, P. (2011). CS 61B: Data structures and advanced programming [Video]. InfoCoBuild. http://www.infocobuild.com/education/audio-video-courses/computer-science/cs61b-fall2011-berkeley.html#google_vignette
Demaine, E., Rivest, R., & Devadas, S. (2008).
Introduction to algorithms
. MIT OpenCourseWare. https://ocw.mit.edu/courses/6-006-introduction-to-algorithms-spring-2008/
Unit 0: Course Introduction
Cormen, T. H., Leiserson, C. E., Rivest, R. L., & Stein, C. (2009).
Introduction to Algorithms
(3rd ed.). MIT Press. https://mitpress.mit.edu/9780262533058/introduction-to-algorithms/
Unit 1: Object-Oriented Design and Algorithm Analysis
Eckel, B. (2002).
Thinking in Java, 3rd ed.
[Revision 2.0]. Retrieved January 15, 2026, from https://www.cs.hut.fi/Docs/Eckel/TIJ3ed/TIJ3.htm
Oracle. (2024).
The Java tutorials
. Java Documentation. https://docs.oracle.com/javase/tutorial/
Oracle. (2024). Trail: Getting started.
The Java Tutorials
. https://docs.oracle.com/javase/tutorial/getStarted/index.html
Oracle. (2024). Trail: Learning the Java language.
The Java Tutorials.
https://docs.oracle.com/javase/tutorial/java/index.html
Oracle. (2024). Trail: Collections.
The Java Tutorials.
https://docs.oracle.com/javase/tutorial/collections/index.html
Oracle. (2026).
Java
. https://www.oracle.com/ca-en/java/technologies/
Eclipse Foundation. (2026).
Download Eclipse technology that is right for you.
https://www.eclipse.org/downloads/
King's College London. (2025).
BlueJ
. https://www.bluej.org/
Oracle. (1999, April 20).
Code conventions for the Java programming language.
https://www.oracle.com/java/technologies/javase/codeconventions-contents.html
Unified modeling language. (2026, January 5). In
Wikipedia
. https://en.wikipedia.org/w/index.php?title=Unified_Modeling_Language&oldid=1331316054
Unit 2: Object and Data Structures
Galles, D. (2011).
Data structure visualizations.
https://www.cs.usfca.edu/~galles/visualization/Algorithms.html
Unit 3: Searching and Sorting
There are no additional online readings for this unit.
Unit 4: Text and Graph Algorithms
There are no additional online readings for this unit.
Assignments
Oracle. (2026).
Java
. https://www.oracle.com/ca-en/java/technologies/