This is the 2017-2018 APCS Principles curriculum. It was the first iteration of the class. To see the current year, updated and expanded version, see my new website hosted on Github here.
AP Computer Science Principles
Lecture Notes
Below are self-contained lecture notes for the AP Computer Science Principles curriculum.
- Hardware
- Binary and Encoding
- Hardware II
- Introduction to Programming
- Basic Java Syntax
- Conditionals and Parameters
- The For Loop
- The While Loop
- Arrays
- Classes
- 2D Arrays
- Recursions and Strings
- Algorithms
- Introduction to Networking
- ArrayLists
- Cybersecurity
- Cryptography
- Multimedia
- Global Impact
- Overview of Machine Learning
Jupyter Notebooks
Python tutorials and notebooks. Both the interative ipynb and the static html versions are available. These tutorials are minimal, covering only the absolute basics necessary for the Introduction to Neural Networks course. For an excellent and more comprehensive introduction to Python, especially as it relates to data science, see Ryan Soklaski's Python Like You Mean It.
- Python Crash Course Part I (html, ipynb)
- Python Crash Course Part 2 (html, ipynb)
- Introduction to Numpy (html, ipynb)
Introduction to Neural Networks
A 2-3 weeks curriculum designed for AP Computer Science Principles on Neural Networks. Students will implement from scratch a Python program that recognizes handwritten digits! The full course resources page can be found here.