PiHi CompSci
Home
About
Competitions
Archives
Learning Resources
Curated collection of the best computer science learning materials
Basics of Programming
Programming Basics
Web Development
Data Structures
Algorithms
Machine Learning
Meta learning (learning how to learn)
Code Commenting
Code Documentation
Code Quality
Debugging principles and techniques
Semantic Versioning
Club Learning Materials
Deck 1: Introduction to Coding Club
Deck 2: Introduction to Python
Deck 3: Breaking it Down - Python
Deck 4: Looping in Python
Deck 5: Advanced Python Tools
Deck 6: Competition Readiness - Preparing and solving
Deck 7: Competition Problem Practice
Deck 8: Hackathons - Not a typical competition
Deck 9: AI - How Does it Work?
Deck 10: AI Ethical Concerns
Java Programming Fundamentals
Java Syntax Basics
Data Types & Variables
Control Structures
Loops
Methods
Data Structures
Vectors and ArrayLists: Thread safety!
Interfaces, Classes, and OOP
String Methods
Packages
Exception Handling w/Tree
Input/Output
Java Utility Package
Generics
Multi-Threading
Maven
Advanced Topics
Object-Oriented Programming
Data Structures
Algorithms
Design Patterns
Debugging vs Testing
Agile Methodology
Creative Commons Licensing
Code Ethics by ACM
Binary Trees
Intro to DevOps
Intro to DevOps by GitLab
Intro to GitHub
How to: Git Book
GitHub Commits
GitHub Branches
Sematic Versioning
Automated Testing
Security in DevOps
Docker Quick Start