Learning Resources & Reference Materials
- Readings
- General Resources
- Java + UML + OO Textbooks
- Java
- Android Studio
- UML
- MVC
- Git and GitHub Resoirces
- Android Activity Resources
- Android Debugging Resources
- Android Student Picker Example App
- Code Conventions Resources
- Software Process
- Unit Testing in Android with JUnit
- Requirements
- Testing
- Intent Testing in Android
- Design Patterns
- User Interface Design
- Human Error
If you find broken links, please file a GitHub issue.
Readings
Course Notes
General Resources
- Assignment FAQ
- Exam Practice Questions
- Old Participation Exercise
- SPM and SDA MOOC Resources
- Old Lecture and Lab Recordings
- Old Lab Notes
-
- You must log in with the University of Alberta Library to get free access to O'Reilly books
- Also try this link
- StackOverflow
Java + UML + OO Textbooks
You already paid for these full e-textbooks with your tuition!
- Book: Developing applications with Java and UML
- Book: Java Design: Objects, UML and Process
- Book: Object-oriented design with UML and Java
Java
- Java OOP Notes
- Java Notes for Professionals
- Java Examples
- Book: Learning java
- Book: Core java for the Impatient
- Book: Java in a Nutshell
- Book: Java Power Tools
- Java Style Guide by Google
- A Good Interactive Course
- Java Quick Look
- A Good Video Tutorial
- Official Tutorial
Android Studio
UML
- IBM - An introduction to UML
- https://www.uml-diagrams.org/
- Modelling Style Guidelines: Strategies for Better Diagrams
- Allen Holub’s UML Quick Reference
- UML Distilled: A Brief Guide to the Standard Object Modelling Language, Third Edition - Martin Fowler
- Book: Head First Object-Oriented Analysis and Design
MVC
Git and GitHub Resoirces
- Book: Version Control with Git
- Distributed Git: Contributing to a Project
- GitHub Help
- Wikipedia: Git
- Book: Pro Git
Android Activity Resources
- Android Guide: The Activity LIfecycle
- Android Guide: Common LayoutsURL
- Android Guide: Accessing Resources
- Android ArrayAdapter API
Android Debugging Resources
Android Student Picker Example App
-
An example of developing an Android app that randomly picks students in a class.
- Part 2: Laying Put the User Interface Screens
- Part 3: Developing and Testing the Model
- Part 4: Navigating between Activities
- Part 5: Controllers and Adding Students
Code Conventions Resources
Software Process
- Agile Manifesto
- Extreme Programming: A Gentle Introduction
- Scrum Guide
- Book: User Stories Applied
- Book: Extreme Programming Explained
- Book: Agile Development in the Real World
- Processes Used in Industry
- Intro to Version Control Slides (1up)
- Continuous Integration Guest Lecture (Pang)
- Software in the Real World Guest Lecture (Tariq Masters)
- How Microsoft Builds Software
- Book: The Build Master
Unit Testing in Android with JUnit
Requirements
- INVEST in Good Stories, and SMART Tasks
- Essential XP: Card, Conversation, Confirmation
- Book: Learning UML 2.0
Testing
- Book: Test-Driven DevelopmentURL
- Cause of AT&T Network Failure
- Medical Devices: The Therac-25
- The Way of Testivus
Intent Testing in Android
Design Patterns
- Huston Design Patterns
- SourceMaking
- SourceMaking Design Patterns
- Book: Design Patterns: Elements of Reusable Object-Oriented Software
- SourceMaking Refactoring
- Book: Refactoring Improving the Design of Existing Code
- Book: Head First Design Patterns
User Interface Design
- A Software Design Manifesto
- Joel on Software
- User Interface Design for Programmers
- Android Design Principles
- Interface Hall of Shame
- Bad Designs