Learning Resources & Reference Materials
Practice Exams & Review Materials
- Practice Exams and Review Materials are available on Canvas. Do not share or upload these.
Jihoon's Unofficial Class Notes D&D Style
Videos & Slides
Web Video
Reference Materials
Some reference materials taken from https://github.com/vhf/free-programming-books/blob/master/free-programming-books.md#web-services
HTTP/2
WASM
Networking
- Computer Networking: Principles, Protocols and Practice, 3rd edition (CNP3bis) (Interactive e-Book + sources) - O. Bonaventure (in progress)
- HTTP Succinctly, Syncfusion (PDF, Kindle) (Just fill the fields with any values)
- High-Performance Browser Networking (Available through UAlberta Library)
- The TCP/IP Guide
- Understanding IP Addressing: Everything you ever wanted to know (PDF)
Django
Flask
- Explore Flask (Online/readthedocs) - Robert Picard
- The Flask Mega-Tutorial - Miguel Grinberg
Python
- Byte of Python
- Data Structures and Algorithms in Python - PDF
- Dive into Python - Mark Pilgrim
- Dive into Python 3 - Mark Pilgrim
- Google's Python Class
- A Guide to Python's Magic Methods - Rafe Kettler
- Hacking Secret Cyphers with Python - Al Sweigart
- Hitchhiker's Guide to Python!
- How to Think Like a Computer Scientist: Learning with Python - Allen B. Downey, Jeff Elkner and Chris Meyers
- Learning to Program Using Python - Cody Jackson (PDF)
- Invent Your Own Computer Games With Python - Al Sweigart
- Learn Python The Hard Way
- Lectures on scientific computing with python - J.R. Johansson
- Making Games with Python & Pygame - Al Sweigart
- Modeling Creativity: Case Studies in Python - Tom D. De Smedt
- Natural Language Processing with Python
- Python Bibliotheca
- Python Cookbook - David Beazley (Available through UAlberta library)
- Python for Fun
- Python for Informatics: Exploring Information
- Python for you and me
- Python Practice Book
- Python Programming - PDF
- Python Scientific Lecture Notes
- Snake Wrangling For Kids - Learning to Program with Python - PDF
- The Art and Craft of Programming - PDF
- The Programming Historian - William J. Turkel, Adam Crymble and Alan MacEachern (PDF)
- Think Python - Allen B. Downey
- Problem Solving with Algorithms and Data Structures
- Python Module of the Week
- Wikibooks: Python Programming
- Python Koans
- Test-Driven Web Development with Python, 3rd Edition (Available through UAlberta Library)
- Building Skills in Python
- Building Skills in Object-Oriented Design (Python)
- Text Processing in Python - David Mertz
- Welcome to Problem Solving with Algorithms and Data Structures - Brad Miller and David Ranum
- Python in Hydrology - Sat Kumar Tomer
- Introduction to python - Kracekumar
- Web2py: Complete Reference Manual, 6th Edition (pre-release) - HTML
- Web2py: Complete Reference Manual, 6th Edition (pre-release) - PDF
- Google's Python Style Guide
- A Beginner's Python Book
- Python For Fun By Chris Meyers
Web Services
- RESTful Web Services (PDF) - Leonard Richardson, Sam Ruby
JavaScript
- Book of Modern Frontend Tooling
- Crockford's JavaScript - Douglas Crockford
- Dev Docs
- Eloquent JavaScript - Marijn Haverbeke
- Eloquent JavaScript 2nd edition (work in progress)
- JavaScript Allongé - Reg Braithwaite
- JavaScript Bible (PDF)
- JavaScript Enlightenment - Cody Lindley
- JavaScript Essentials
- JavaScript Patterns Collection - Shi Chuan
- Javascript Succinctly, Syncfusion (PDF, Kindle) (Just fill the fields with any values)
- JS Robots - Mark Daggett (Start from Ch. 6) (Available through UAlberta Library)
- jQuery Fundamentals (starts with JavaScript basics)
- Learn to Code JavaScript by Playing a Game
- Learning JavaScript Design Patterns - Addy Osmani (Available through UAlberta Library)
- Managing Space and Time with JavaScript - Book 1: The Basics - Noel Rappin
- Mozilla Developer Network's JavaScript Guide
- O'Reilly Programming JavaScript Applications - Early Release (Available through UAlberta Library)
- The JavaScript Tutorial
- The Problem with Native JavaScript APIs (Available through UAlberta Library)
- You Don't Know JS
- Oh My JS (Leanpub, by Azat Mardanov)
Angular.js
- Recipes with Angular.js (Leanpub, by Frederik Dietz)
Backbone.js
D3.js
- Interactive Data Visualization for the Web - Scott Murray (Available through UAlberta Library)
- D3 Tips and Tricks
- Dashing D3.js
Dojo
- Dojo: The Definitive Guide - Matthew A. Russell (Available through UAlberta Library)
jQuery
- jQuery Succinctly, Syncfusion (PDF, Kindle) (Just fill the fields with any values)
- jQuery Novice to Ninja (Available through UAlberta Library)
From older versions of CMPUT 410:
- (L2) Youtube Video: Prometeus - The Media Revolution
- (L3) What is TCP/IP?
- (L3) Wikipedia: Internet Protocol Suite
- (L4) Wikipedia: XHTML
- (L4) HTML 4.0 & XHTML 1.0 Reference
- (L4) Colours and HTML
- (L4) Web-safe Colours
- (L4) W3 School HTML Tutorial
- (L4) W3 School XHTML Tutorial
- (L4) W3 School CSS Tutorial
- (L4) Page layout
- (L4) Positioning Example with CSS
- (L7) Accessing layers with different browsers
- (L7) Sliding Menu example
- (L8) W3C Document Object Model
- (L8) W3 School Form Validation with Javascript
- (L8) Table sorting
- (L10) Ajax Example 1: Field auto-fill
- (L10) Ajax Example 2: Province/State selection
- (L10) Ajax Example 3: Simulated database access
- (L15) Youtube Video: Google's Master Plan
- Quick Tips to Search Google
eBooks
- O'Reilly Books - formerly Safari Books Online
- Books 24x7
- http://proquest.com
- Software Project Survival Guide
S. McConnell
Microsoft, 1997, ISBN 1-57231-621-7 - The Build Master
V. Maraia
Addison-Wesley, 2005, ISBN 0-321-33205-9- You will need to login to O'Reilly Online Learning to access this online
- Extreme Programming Explained
Kent Beck
Addison-Wesley, 2004, ISBN 0-321-27865-8- You will need to login to O'Reilly Online Learning to access this online
- Pair Programming Illuminated
Laurie Williams, Robert Kessler
Addison-Wesley, 2002, ISBN 0-201-74576-3 - Head First Object-Oriented Analysis and Design
Brett McLaughlin, Gary Pollice, David West
O'Reilly, 2006, ISBN 0-596-00867-8 - User Interface Design for Programmers
Joel Spolsky
Apress, 2006, ISBN 978-1-89311-594-1 - User Stories Applied
Mike Cohn
Addison-Wesley, 2004, ISBN 0-321-20568-5- You will need to login to O'Reilly Online Learning to access this online
- Version Control with Subversion
C. Michael Pilato, Ben Collins-Sussman, Brian W. Fitzpatrick
O'Reilly, 2008, ISBN 978-0-596-51033-6 - Test-Driven Development
Kent Beck
Addison-Wesley, 2002, ISBN 0-321-14653-0- You will need to login to O'Reilly Online Learning to access this online
- GUI Bloopers
Jeff Johnson
Morgan Kaufmann, 2007, ISBN 0-12-370643-2
Software Engineering Sites
User Interface Design Sites
- Don Norman jnd.org Essays
- Bruce Tognazzini AskTog
- Bringing Design to Software
- Task-Centered User Interface Design
Software Industry
Career
Industry Trends
Job Trends
- Forbes; 2025-02-03: Best Jobs For Growth In The Next 5 Years: Winners And Losers - Chris Westfall