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
javatpoint
SQL and Relational Databases:
hackerrank
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:
Video
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
packages:
Python Institute home
freeCodeCamp.org has great resources for beginners:
FreeCodeCamp

 

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:
Video
Playlist
Big O Notation and Time Complexity:
Video

 

Machine Learning
Data Analysis with Python - Full Course for Beginners (Numpy, Pandas, Matplotlib, Seaborn):
Video
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