Programming Resources

Java Software Development

The Java EE Documentation Links to an external site.

Web Dev Simplified (videos) provide helpful explanations on the different concepts behind software development:

JavaServer Pages:

Beginner's Tutorial Links to an external site.
Tutorial 2 Links to an external site.

JavaScript and jQuery tutorials:

TutorialsPoint 1 Links to an external site.
TutorialsPoint 2 Links to an external site.
javatpoint Links to an external site.

SQL and Relational Databases:

hackerrank Links to an external site.
TutorialsPoint 1 Links to an external site.
TutorialsPoint 2 Links to an external site.
TutorialsPoint 3 Links to an external site.

Spring Framework, Spring Tool Suite IDE, and Spring MVC:

Spring Framework Annotations Links to an external site.
CodeJava Beginner's Tutorial Links to an external site.
CodeJava 1 Links to an external site.
CodeJava 2 Links to an external site.
Spring MVC Tutorial Links to an external site.

Introduction to APIs:


Introduction to web APIs Links to an external site.

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 Links to an external site.

freeCodeCamp.org 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:

Playlist Links to an external site.

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 Links to an external site.
Neural networks and deep learning Links to an external site.

freeCodeCamp.ord machine learning resources:

FreeCodeCamp: What do you need to know about machine learning? Links to an external site.
FreeCodeCamp: 9 Key Machine Learning Algorithms Explained in Plain English Links to an external site.
FreeCodeCamp: How to build and train K-nearest neighbours and K-means clustering ML models in Python Links to an external site.

Game Development

List of resources for game developers:

Resources for Jammers Links to an external site.

A quick list of game dev tools for beginners Links to an external site.

Unity has a lot of beginner friendly courses:

Learn Unity Links to an external site.

Rust Programming Basics

An elegant language of the future that eliminates data races from the root:

Rust Doc Links to an external site.