Programming Resources

Java Software Development
The Java EE Documentation
Web Dev Simplified has really good explanations for the different concepts behind software development:
Video 1
Video 2
Video 3
JavaServer Pages:
Beginner's Tutorial
Tutorial 2
JavaScript and jQuery tutorials:
TutorialsPoint 1
TutorialsPoint 2
SQL and Relational Databases:
TutorialsPoint 1
TutorialsPoint 2
TutorialsPoint 3
Spring Framework, Spring Tool Suite IDE, and Spring MVC:
Spring framework annotations
CodeJava beginner's tutorial
CodeJava 1
CodeJava 2
Journal Dev
Introduction to APIs:
Introduction to web APIs


Python Programming Basics
Python Institute has some great free courses for learning the fundamentals of Python and how to use its
Python Institute home has great resources for beginners:


Algorithms & Data Structures
Eric Demaine gives really good lectures on algorithms and data structure design that overlap a lot with CPSC 221 and CPSC 320:
Big O Notation and Time Complexity:


Machine Learning
Data Analysis with Python - Full Course for Beginners (Numpy, Pandas, Matplotlib, Seaborn):
3Blue1Brown has some fantastic explanations that really help you understand concepts:
Deep learning
Neural networks and deep learning
freeCodeCamp.ord machine learning resources:
FreeCodeCamp: What do you need to know about machine learning?
FreeCodeCamp: 9 most important machine learning algorithms today
FreeCodeCamp: How to build and train K-nearest neighbours and K-means clustering ML models in Python


Game Development
A comprehensive list of resources for game developers
A quick list of game dev tools for beginners
Unity has a lot of beginner friendly courses:
Learn Unity


Rust Programming Basics
An elegant language of the future that eliminates data races from the root:
Rust Doc