St. Perpetua 2024–25 Computer Science Elective Trimester 1
Go to the latest lesson. See all classes.
Classroom and Self-Directed Learning Resources
- Mr. Briccetti’s YouTube Channel with many programming lessons for you to explore on your own
- MakeCode
- Block-based Programming Environments
- MicroBlocks
- EduBlocks
- Blockly Games
- Snap!
- Run Snap!
- Snap! Reference Manual
- Snap! Crash Course
- “Why Do We Have to Learn This Baby Language?” from Brian Harvey, Teaching Professor Emeritus, University of California, Berkeley
- micro:bit Python editor
- Visualizing your Python program with Python Tutor Visualizer
- p5.js
- Tinkercad
- Beauty and Joy of Computing Curricula
- BJC Sparks for Middle School and Early High School
- BJC for High School (you are free to explore this if you run out of things to do in the middle school curriculum)
- code.org
- Zooniverse
- Teachable Machine
- Music
First Day, 2024-08-15
Welcome to Computer Science
Your Previous Computer Science Experience
Join Your Class in Google Classroom
Daily Reflections
micro:bits and Smart Cutebot Cars
Let’s unbox the cars and learn how to control them using the micro:bit by programming using blocks or Python.
Mark Rober’s HackPack Turret
This fun toy is controlled by a computer program written in the C++ language, running on a microcontroller. We’ll study it, and you’ll write code to enhance it.
Self-Directed Learning Activities
See Resources at the top of this page.
2024-08-20
Daily Reflections
micro:bits and Smart Cutebot Cars
2024-08-22
Critical Thinking
- Anchoring bias: The tendency to rely too heavily on the first piece of information encountered when making decisions.
- Strawman fallacy: Misrepresenting someone’s argument to make it easier to attack.
micro:bits and Smart Cutebot Cars
Let’s do some of the projects in the Cutebot manual, in any order. I hope some of you will use the distance sensor, which is very helpful for avoiding collisions.
Daily Reflections
2024-08-27
Computing in the News
The Top Programming Languages 2024
micro:bits and Smart Cutebot Cars
Continue coding the projects in the Cutebot manual, then add your own ideas. Describe what you did in your daily reflection.
2024-08-29
Critical Thinking
micro:bits and Smart Cutebot Cars
Together we’ll make a project where, from a remote control, you can send commands to the car’s micro:bit. Not with tilting, like before, but by selecting a command and then touching the logo.
Remote Control
- Use A and B to select which command to send. Make up your own commands, such as:
- Go forward and then back
- make a small circle
- make a large circle
- turn on the lights
- Show the selected command on the LEDs, using one of the
show string
,show number
,show leds
, orshow icon
blocks - Touch the logo to send the selected command
The Car
- Use the radio blocks to receive the command
- Determine which command was sent and execute it
Daily Reflections
2024-09-03
Computing in the News
A South African vineyard is dropping predatory wasps from drones to keep its grapes free from bugs
micro:bits and Smart Cutebot Cars
If you like, try using the Elecfreaks grabber attachment with the Cutebot.
Daily Reflections
2024-09-05
Critical Thinking
micro:bits, Hot Wheels, and Smart Cutebot Cars
Mr. Briccetti has brought some Hot Wheels track, and servo motor–powered gates that can be controlled by a micro:bit.
Maybe you can think of a project that combines Hot Wheels with the Cutebot cars.
Daily Reflections
2024-09-10
Computing in the News
How Self-Driving Cars Get Help From Humans Hundreds of Miles Away
Mr. Briccetti’s former student and teaching assistant Chris Gibson works at that company.
New Cutebot Video
Check out this Menacing Cutebot Video. Does this give you some ideas? (Lights, sounds)
p5.js
In two dimensions
We learned how to change colors and draw rectangles.
In three dimensions
We made a sphere and rotated it around the y axis.
Daily Reflections
2024-09-12
Exercise: Identify the bias or fallacy
p5.js
In three dimensions
Let’s learn about rotating and moving objects such as cubes and spheres.
Daily Reflections
2024-09-17
Computing in the News
How artificial intelligence sharpens blurry thermal vision images
p5.js
More with transforming 3D objects
Let’s make an object move on its own from one side of the screen to the other.
Self-Directed Learning
Daily Reflections
2024-09-19
Hasty Generalization
An example from ChatGPT:
Imagine a student named Sarah who tries eating a new vegetable for the first time, like broccoli. She doesn’t like it at all. Then, she says, “I hate all vegetables!”
This is a hasty generalization because Sarah only tried one vegetable but made a quick decision about all vegetables without trying others like carrots, corn, or cucumbers. Just because she didn’t like broccoli doesn’t mean she won’t like other veggies.
p5.js
Snake game–like object movement
Let’s use the arrow keys to change the acceleration of a box.
Optional: Line following with Cutebot cars
Video of a Cutebot following a line
Self-Directed Learning
Daily Reflections
2024-09-24
Computing in the News
Pushbutton Gear Shift for Bicycle
Code.org Music Lab
Cutebots
We have black tape if you want to make your own line-following course.
Self-Directed Learning
2024-09-26
Oral Quiz
- p5.js
- micro:bits and Cutebots
Self-Directed Learning
2024-10-01
Computing in the News
Smart TVs Spying on You: Up to Several Snapshots Per Second
Teachable Machine
Integrating Teachable Machine with p5.js
Self-Directed Learning
2024-10-08
Computing in the News
The discovery of tools key to machine learning wins the 2024 physics Nobel
Perplexity.ai created an explanation:
The 2024 Nobel Prize in Physics was recently awarded to two scientists, John Hopfield and Geoffrey Hinton, for their important work in machine learning and artificial intelligence (AI). What did they do? These scientists used ideas from physics to create new ways for computers to learn and solve problems, kind of like how our brains work. They developed something called “artificial neural networks,” which are special computer systems that can recognize patterns and learn from data. Why is this important?
Their work has helped make computers much smarter and able to do amazing things like:
- Understand and translate languages
- Recognize faces and objects in pictures
- Help doctors diagnose diseases
- Drive cars without human drivers
These discoveries have changed many areas of science and our everyday lives.
Who are the winners?
- John Hopfield: He’s a professor at Princeton University in the United States.
- Geoffrey Hinton: He’s a professor at the University of Toronto in Canada. Both scientists will share the prize money of about $1 million. This Nobel Prize shows how important artificial intelligence and machine learning have become in our world. The work of Hopfield and Hinton has opened up new ways for computers to help us solve complex problems and make exciting discoveries in the future.
Integrating Teachable Machine with p5.js
- Train your model
- Export the model to the cloud
- Copy your model name
- Paste it into this starter project
Self-Directed Learning
2024-10-10
Critical Thinking
Loaded Question Fallacy (as explained by ChatGPT)
A loaded question fallacy is when someone asks a question that makes you look bad or guilty, no matter how you answer. The question assumes something that may not be true, which can trick the person being asked.
For example, if someone asks, “Why are you always late to class?” this assumes that you are always late, even if that’s not true. If you try to answer it, you’re stuck defending yourself instead of talking about whether you’re late or not.
To avoid falling into the trap, you can point out the assumption in the question and say something like, “I’m not always late to class.” This way, you’re challenging the assumption instead of just answering it.
Dunning-Kruger Effect (as explained by ChatGPT)
The Dunning-Kruger effect is when people who know a little bit about something think they know a lot more than they really do. It’s like when someone is new to a skill but doesn’t yet realize how much more there is to learn.
For example, imagine a person who has just started learning how to play chess. After winning a few games, they might think they’re really good at it, but they don’t yet know all the strategies or how complicated the game can get. This effect happens because, when we’re just starting out, we don’t always know enough to see what we don’t know!
As we learn more, we start to see the bigger picture and realize how much more there is to learn.
Python (again, thanks to ChatGPT for the introduction)
Python is a popular and easy-to-learn programming language that powers many things in the real world. From video games and websites to robots and apps, Python is behind many of the cool things we use today!
Why Learn Python?
- Simple & Fun: Python looks like English, making it easier to understand and write than many other languages.
- Create Anything: With Python, you can build video games, create apps, or even control robots. Imagine coding your own game or creating a website!
- Real-World Power: Big companies like Google, YouTube, and Netflix use Python because it’s powerful and versatile.
Cool Projects You Can Do with Python:
- Make a Simple Game: Ever played games like “Guess the Number”? You can write your own with just a few lines of Python.
- Control Robots: Using Python, you can program robots or devices like micro:bits (which we use in class!) to perform tasks and solve problems.
- Solve Problems & Be Creative: Coding with Python helps you think logically, solve puzzles, and bring your creative ideas to life!
Python Tutor
Adventure Game
Self-Directed Learning
2024-10-15
Computing in the News
More than a dozen states sue TikTok, alleging it harms kids and is designed to addict them
MakeCode for Circuit Playground Express
The Circuit Playground Express is a small, round board with many sensors and lights. You can program it with MakeCode.
Self-Directed Learning
2024-10-17
Critical Thinking: Outcome Bias
micro:bit Python editor
Let’s practice writing Python code for the micro:bit.
Self-Directed Learning
2024-10-22
Computing in the News
Dresden: Robo-conductor takes the baton
Self-Directed Learning
2024-10-24
Hot Wheels and Servo Motors
Let’s set up a hot wheels circuit with servo motor–controlled gates.
Self-Directed Learning
2024-10-29
Computing in the News
What does a distributed denial of service (DDoS) attack look like?