I've added a list of projects ("Project Ideas.txt") that should be accessible based on what we did in the course. If you see this message, please share the existence of this list with any of your classmates whose contact information you have. Some of these projects are of course harder than others, but most of them allow for varying levels of difficulty depending on how deeply you want to get into them. Remember, you can do everything we did in class at home on your own computer. And, the best way to learn and keep your skills sharp is to practice with projects you are personally interested in.
This repository holds code and additional resources for the CTY 2023 FCPS A course at the Bristol site. Check back often during the camp, it will be updated frequently!
Logic Gate Simulator: https://academo.org/demos/logic-gate-simulator/
Demos of Graphical Oddities on Computer Monitors (found by William): https://www.testufo.com
Recent article on improving computer multiplication: https://www.quantamagazine.org/mathematicians-discover-the-perfect-way-to-multiply-20190411/
Floating Point Numbers: https://www.doc.ic.ac.uk/~eedwards/compsys/float/
Transistors: https://en.wikipedia.org/wiki/MOSFET (technical, but well written for a wikipedia article)
A Historical Chatbot: http://psych.fullerton.edu/mbirnbaum/psych101/Eliza.htm
Randomness: http://random.org/randomness
Object-Oriented Programming: https://khalilstemmler.com/articles/object-oriented/programming/4-principles
Gauss's Method for Computing Sums of Consecutive Integers https://nrich.maths.org/2478
FPS and the Illusion of Motion: https://paulbakaus.com/the-illusion-of-motion/
Why 60hz is the standard frequency for AC current (electricity): https://www.allaboutcircuits.com/news/why-is-the-us-standard-60-hz/
How many FPS can we actually see in?: https://azretina.sites.arizona.edu/node/837
Why some video is 59.94 or 23.976hz: https://en.wikipedia.org/wiki/NTSC
Boolean logic: Propositional logic, first-order logic, equivalence laws (e.g. De Morgan's Laws)
Circuits: Flip-flops, Switches, Multiplexers, Transistors
Recursion: Solving recurrences
Runtime Analysis: Big O notation
Encryption: Vigenere Cipher, RSA encryption (background: prime factorization)
Compression: Huffman Coding, LZW algorithm
Data Structures: Linked Lists, Stacks, Queues, Binary Trees (also complete binary trees, balanced binary trees, binary search trees), Heaps