This repository contains various Markdown (MD) files as the course notes.
Fork this repository and work on your own fork. Do not clone the upstream CSC207-UofT/207-course-notes repo directly for day-to-day work, you will not be able to push your exercise solutions and notes edits there. On GitHub, click Fork, then clone your fork. Details are in the Quickstart guide.
- The Quickstart guide helps you fork the repository, set it up locally, and run your first Java program.
- Developer Roles: A Course Roadmap explains how the topics in the course contribute to building a complete application.
To just read the course notes: select the chapter you're interested in. GitHub will parse it for you, so you can read it within the GitHub interface.
- Chapter 2. Classes in Java
- Chapter 3. Relationships between Classes
- Chapter 4. GUIs with Swing
- Chapter 5. Java Gotchas and Subtleties
- Chapter 6. Generics
- Chapter 7. Collections
- APIs, JSON, and Files
- Chapter 8. Program Specification
- Chapter 9. Design Principles
- Chapter 10. Introduction to Layered Architectures
- Chapter 11. The Clean Architecture
- Chapter 12. Design Patterns
- Chapter 13. Refactoring Techniques
If you notice any issues within the course notes, simply go to the Issues tab and open a New issue.
Requests for additional resources or explanations on material should be directed to the course discussion board during the term.
You may also open a pull request from your fork if you wish to propose revisions to the upstream notes; we will review and accept these manually.