St. Perpetua Computer Science 2022–23
Link to this page: bit.ly/db-spjh Go to the latest lesson. Previous Years: 21–22, 20–21, 19–20, 18–19
Classroom Resources and Free Learning Time Activities
- Google Classroom
- RoomHelper3000
- Student Progress Report
- Mr. Briccetti’s YouTube Channel with many programming lessons for you to explore on your own
- MakeCode
- Block-based Programming Environments
- MicroBlocks
- 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
- Python Programming on repl.it
- 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
First Day, 2022-08-17
Welcome to Computer Science
Computing in the News
The Next Big Jailbreak in Tech: John Deere Tractors
Join Your Class in Google Classroom
Make Something with a micro:bit
MakeCode
MicroBlocks
Google Classroom
Please write about your accomplishments today in Google Classroom.
2022-08-19
Computing in the News
Join Your Class in Google Classroom
Finish Wednesday’s Google Classroom assignment if you haven’t
Radio “Beacon Hunt”
Create a beacon detector
If you have trouble making it, use Mr. Briccetti’s.
Beacon Code
Here’s how the beacons work, if you’re curious:
Go Search!
Hook up a battery, take it outside, and find the beacons.
Where They Were
Make Something with a micro:bit, perhaps using a tutorial
MakeCode
MicroBlocks
Google Classroom
See the question there, which is due today.
2022-08-24
Computing in the News
Top Programming Languages 2022
micro:bit Radio Feature
- Explanation of the radio code from last Friday
- Practice with radio code
BJC Sparks Hardware Unit and Making/Crafting
You will document your plan, and when it’s approved you’ll be given access to materials. We want to avoid having students make things that aren’t tied to computer science learning.
Finish outstanding Google Classroom assignments
2022-08-26
Computing in the News
Senator Slams Amazon’s ‘Ring Nation’ As Surveillance-State TV
What’s Mr. Briccetti Doing for Fun Lately?
Beauty and Joy of Computing
This year, we will study computer science using the Beauty and Joy of Computing curriculum, first developed at U.C. Berkeley, later adapted for high school, and recently, adapted for middle school.
BJC Introduction from U.C. Berkeley Professor Dan Garcia
Submit a Student Progress Report
2022-08-31
Computing in the “News”
Local Computer Science Teacher Fooled by Fake Iain Armitage YouTube Channel
by Dave Briccetti
Local computer science teacher Dave Briccetti thought he was chatting with the real Young Sheldon actor, Iain Armitage, on a YouTube channel called “Iain Armitage”, and on Mr. Briccetti’s own channel when the imposter subscribed to it.
Briccetti showed his students at one of his schools that “Iain Armitage” had subscribed to his YouTube channel, and they were quite excited. Briccetti tweeted about how excited the classes were, and @mentioned the real Iain’s Twitter account.
Iain’s representative, who manages the account for him, saw this, and very kindly contacted Briccetti via Twitter private message to let him know that he had not, in fact, been communicating with the real Iain, and that the only YouTube channel belonging to Iain is Iain Armitage: Iain Loves Theatre.
Mr. Briccetti was very annoyed that he had been tricked, and set out to expose the impostor and get the YouTube channel shut down. He wrote the following as a reply to a recent posting on the fake channel:
“Don’t be fooled. Iain has nothing to do with this channel. It’s fake. Ian doesn’t do social media, according to his people.”
Iain’s lovely but credulous fans would not believe Mr. Briccetti. You can read much of the conversation.
Before long, Mr. Briccetti had the evidence he needed to convince the fake account subscribers that they were interacting with an imposter. Iain himself made a video which Briccetti shared with those subscribers. Only then did they start believing.
Many of the subscribers then reported the channel to YouTube. Iain’s representative told me it had already been reported to YouTube, but no action had been taken.
Less than a day later, this is what appeared when visitors attempted to return to the fake Iain Armitage account on YouTube:
How to Use a Servo Motor
Some of you will use a servo motor in your interactive pet, Hot Wheels track, or other projects. Mr. Briccetti shows you how to program it.
Reporting Progress on Your Projects
Each time class meets:
- If you’re working on a multi-day project (Hot Wheels track, interactive pet, etc.), update a Computer Science Project Status report. To create the document (once for each project), go to Google Drive and create a document using the template Computer Science Project Status [your name]
- Submit a Student Progress Report.
2022-09-02
Computing in the News
The Making of Smalltalk Event at the Computer History Museum
Dave Briccetti (left) with Adele Goldberg (center) and the Agile Mind Team in 2006
Using Tilt to Move a Servo
Using map to Convert Values
Please mention in your Student Progress Report today whether you were successful.
Remote Control
Can you think of a way to use two micro:bits, one as a remote control, and the other connected to a servo?
Work on Projects
If you’re doing an interactive pet or Hot Wheels track–related project, you may have time to work on it today. There are more ideas for projects in the BJC Sparks curriculum (links in Resources section above). Be sure to update your Computer Science Project Status document.
Procedure Change
Please submit a Student Progress Report every day we have class.
2022-09-07
Grades 6 and 7 only, today.
Multi-Day Projects Planning
Find the Shared Project Status Reports Folder
From Google Classroom, go to Classwork, then Class Drive Folder. On the left choose Shared with me. You should see the Project Status Reports folder there.
Create a Shortcut to the Projects Status Reports Folder
Right-click on the Project Status Reports folder and choose Add shortcut to Drive. Choose My Drive, then ADD SHORTCUT.
Move project status reports to new shared folder
To move a status report you have already created to this folder, choose My Drive, locate your document, right-click it, and choose Move To. Choose Project Status Reports, then push MOVE.
2022-09-09
Computing in the News
Rights Groups to FTC’s Lina Khan: Please Kill Amazon’s iRobot Acquisition
Wi-Fi is not the Internet
The Internet is a worldwide network of computer networks. Many Internet users connect to the Internet via a cable modem, which is connected to a Wi-Fi router. Individual devices connect to the router via cables or via Wi-Fi. If accessing the Internet is slow, you may not know whether it’s Wi-Fi or your connection to the Internet that’s the problem.
How to Save and Load Your MakeCode Projects
Hi, all. If you’re finding that your MakeCode projects aren’t being automatically saved to your computer’s web browser, or you want the ability to work on different computers over time, you can create a sharable link that you can use later to resume work on the project. Look for the share icon (next to the house icon) at the top right of the MakeCode web page. When you get the link to your project, save it somewhere, perhaps in a document or spreadsheet in your Google Drive.
RoomHelper3000
Run RoomHelper3000. We’ll use this for quizzes, asking for help, and getting instructions. Find out the RoomHelper3000 row and column where you’re sitting: (Ignore the “not secure” warning from the browser. Things are secure from the public, because this program is only running at the school.)
Multi-Day Projects Planning
Grade 8: Go to Google Classroom, Classwork, and look in Action Required for Move project status reports to this folder. Please move or create your reports here.
Work on Projects
If you have a completed project status report, and it’s located in the shared Project Status Reports folder, and it says how you will use a micro:bit, come get what supplies you need, and work on your project.
2022-09-14
Computing in the News
Ingenious Underwater Drone Can Transition to Flight in Less Than a Second
Project Status Reports
Here’s an example of how to create your progress updates:
Progress details
2022-09-07: Decided what the interactive pet will do
2022-09-09: Made the pet from felt and googly eyes
2022-09-14: Programmed the pet to beep when it’s hungry
Remote Control of a Servo
Here’s an example program. You could download it to both the gate controller (the micro:bit connected to the gate) and to the remote control.
Another Project IDEA from BJC Sparks
Unit 3 Lab 7: Collaborative Chain Reaction, Activity 1
Work on Projects
2022-09-16
Computing in the News
Review Project Status Reports
Who Filed a Student Progress Report Wednesday (and Who Didn’t)
Lesson: Using a Loop with a Servo Motor
Work on Projects
Grade 6: Root Beer Floats at 2:40
2022-09-21
Computing in the News
Morgan Stanley Discarded Old Hard Drives Without Deleting Customer Data First
Who Filed a Student Progress Report Last Time (and Who Didn’t)
Programming the micro:bit using the Python Language
Plotting Points in a Loop
while True:
for y in range(5):
for x in range(5):
led.plot(x, y)
basic.pause(30)
basic.clear_screen()
Move a Point with Tilting
x = 2
y = 2
while True:
basic.clear_screen()
led.plot(x, y)
ax = input.acceleration(Dimension.X)
ay = input.acceleration(Dimension.Y)
if ax > 100 and x < 4:
x += 1
elif ax < -100 and x > 0:
x -= 1
if ay > 100 and y < 4:
y += 1
elif ay < -100 and y > 0:
y -= 1
pause(100)
2022-09-28
Computing in the News
Move a Point with Tilting
Try adjusting the four constants at the top of the code to make the program work better.
PAUSE_MS = 10
SPEED_DIVISOR = 20
FRICTION_MULTIPLIER = 0.5
TILT_IGNORE_THRESHOLD = 10 # In milligravity units
x = 0.0 # world unit coordinates (from -1 to 1)
y = 0.0
speed_x = 0.0
speed_y = 0.0
def world_to_led(coordinate: float):
'Convert a coordinate in world units (-1 to 1) to LED units (0 to 4)'
return Math.round(pins.map(coordinate, -1, 1, 0, 4))
def adjusted_acceleration(dimension: float):
acceleration = input.acceleration(dimension)
enough_tilt = abs(acceleration) > TILT_IGNORE_THRESHOLD
return acceleration / 1000 / SPEED_DIVISOR if enough_tilt else 0.0
while True:
basic.clear_screen()
led.plot(world_to_led(x), world_to_led(y))
speed_x += adjusted_acceleration(Dimension.X)
x = Math.constrain(x + speed_x, -1, 1)
if abs(x) == 1:
speed_x = 0
speed_x *= FRICTION_MULTIPLIER
speed_y += adjusted_acceleration(Dimension.Y)
y = Math.constrain(y + speed_y, -1, 1)
if abs(y) == 1:
speed_y = 0
speed_y *= FRICTION_MULTIPLIER
pause(PAUSE_MS)
Work on Projects
Let’s finish our projects this week and start on something new next week.
2022-09-30
Review Project and Student Status Reports
Final Work Time
Project Demonstrations
Silently Grade Yourself
1: disagree, …, 5: agree
- Project is interesting, fun, and creative
- Project involves a micro:bit
- Everyone on team understands code
- Project status reports were updated each workday
- The team made good use of time
How many points total?
What to do with your project
- One of you take it home (except for electronics parts like micro:bits and servo motors)
- Take off and return reusable materials and discard the rest
2022-10-05
Grades 7 and 8 only.
Power was out. Some groups described their projects.
We played with Hot Wheels, ping pong balls and balloons.
2022-10-07
Grades 7 and 8 only.
What’s Mr. Briccetti Programming for Fun Lately?
A webapp to help with laser cutting name cards
Laser Cutting Video
See Photos and Video of your micro:bit Projects
See the link in Google Classroom.
New Webapp for micro:bit and Python
Let’s try it.
python.microbit.org
2022-10-12
Computing in the News
Take a ride around San Francisco in a driverless taxi
Grade 6: Introduction to BJC Sparks and Snap!
BJC Sparks for Middle School and Early High School
Grades 7–8: More with the micro:bit
In this program, you must feed the pet before it runs out of energy.
Here’s a program where you have to pet the pet within five seconds after the pet rings a bell, or the pet goes to sleep.
Do these programs give you ideas?
Maybe some of you will try writing a similar program with the new python.microbit.org.
2022-10-14
RoomHelper3000
Run RoomHelper3000. We’ll use this for quizzes, asking for help, and getting instructions. (Ignore the “not secure” warning from the browser. Things are secure from the public, because this program is only running at the school.)
Grade 6: Continuing with BJC Sparks and Snap!
Super short story
BJC Sparks for Middle School and Early High School
Grades 7–8: More with the micro:bit
New Webapp for micro:bit and Python
Let’s spend some more time with it together.
python.microbit.org
Simulating rolling two six-sided dice.
2022-10-19
Starting Our Sessions
Have our class web page (this page) open in one browser tab, and RoomHelper3000 in another tab, and keep both tabs open.
Behavior
Privacy with Photos and Videos
RoomHelper3000
More on Dice Throws
Show and Tell: Temperature Collection with Raspberry Pi Pico W
Grade 6
Snap!
- Making a little game
Grades 7–8
- Free learning time with any of
- micro:bit
- Circuit Playground Express
- Snap!
- BJC Sparks
2022-10-21
Computing in the News
How a [White Hat] Hacker Cracked a CNN Correspondent’s Password
Grade 6
Snap!
- Making a little game, continued
Grades 7–8
p5.js
“p5.js is a JavaScript library for creative coding, with a focus on making coding accessible and inclusive for artists, designers, educators, beginners, and anyone else.”
Mr. Briccetti’s Software Page, with several interesting p5.js projects.
Before You Leave
- submit a Student Progress Report to report your behavior, productivity and accomplishments.
2022-10-26
Computing in the News
Grade 6
Halloween-themed games in Snap!
Grades 7–8
p5.js
2022-10-28
Computing in the News
Google execs knew ‘Incognito mode’ failed to protect privacy, suit claims
Numbered Chromebooks
You no longer need to use only the Chromebook with your classroom student number.
Who Completed Wednesday’s Student Progress Report?
12:30 (not 12:32) Period 5 Dismissal
Halloween-Themed Games with Snap! and/or p5.js
- Moving pumpkin p5.js project
- Pumpkin Patch
- Bear gets candy
Where to Find Images
2022-11-04
Computing in the News
Elon Musk and Twitter Layoffs
Grade 6
More with Snap!. Explore the Snap! Crash Course.
Stuffing and turkey project:
Grades 7–8
More with p5.js. Intro to 3D. Examples.
2022-11-09
Who is Completing Student Progress Reports?
Grade 6
Beauty and Joy of Computing Unit 1 Lab 3: Dealing with Data
Grades 7–8
2022-11-16
Computing in the News
Programming languages: C++ overtakes PHP, but JavaScript, Python and Java still rule
Grade 6
Beauty and Joy of Computing Unit 1 Lab 3: Dealing with Data
A more commonly used way to chart the same type of data:
BJC Unit 1 Lab 4: Image Manipulation
Grades 7–8
p5.js Lessons
Explanation of the line program. Challenges 1 and 2.
2022-11-18
No grade 7 today.
Computing in the News
Intel’s new deepfake detector can spot a real or fake video based on blood flow in video pixels
Pictures from 2018
Free Learning Time Activities
RoomHelper3000
Run RoomHelper3000 if Mr. Briccetti so requests.
2022-11-30
Mr. Briccetti bought himself a Creality Ender 3 3D Printer.
3D Printing
The process:
- Create something in a 3D modeling tool like Blender or Tinkercad Designs
- Export it for 3D printing (usually creating an “stl” file)
- Load the file into a “slicer” program such as Ultimaker Cura
- Save a “gcode” file onto an external drive
- Put the drive into the 3D printer
- Tell the printer to print the piece
Wooden Laser-Cut Gate
New 3D-Printed Gate
Shall we assemble some and try them on Hot Wheels track?
Blender
Blender is a very powerful 3D modeling program. Consider downloading and installing it on your computer at home. We don’t have it installed at school yet.
Tinkercad Designs
Tinkercad Designs is an easier way to do 3D modeling.
With Tinkercad Codeblocks, you can create a program with blocks to generate your 3D model.
2022-12-02
Gate Design Improvements
This new version uses less material, but may take longer to print. Why?
Timed Gate Controller
The MakeCode project
Multiple Car Release System
Let’s make a system that will release one car every 1/4 second.
Materials
- a piece of track
- a 3D-printed gate (with arm)
- a micro:bit
- a breakout board
- a servo motor
Procedure
- attach the gate to the track
- download the Timed Gate Controller program onto the micro:bit
- connect the micro:bit, breakout board and servo motor
- mount the servo in the gate, but don’t attach the arm (the part that moves up and down) to the servo yet
- push A+B on the micro:bit to start the open/close sequence, in order to ensure the servo is at the right angle when you attach the arm
- attach the arm
2022-12-09
Computing in the News
2022-12-14
You on a Tree
The p5.js sketch
p5.js: Moving 3D objects
2023-01-04
Grades 7 and 8 only
Computing in the News
Advent of Code 2022 How is Mr. Briccetti doing with it so far?
3D Printing Show and Tell
Free Learning Time Activities
2023-01-06
3D Printing Tips
- consider support structure
- consider material
p5.js Lesson
Multiple 3D objects (transformations)
We’ll put a sphere in all four corners.
2023-01-11
Computing in the News
Security Researchers Say They Hacked California’s Digital License Plates, Because Duh
Google’s Teachable Machine
2023-01-18
Computing in the News
JavaScript, Java, and Python skills top demand
Speaking of Python
Let’s do some Python programming in replit.
2023-01-20
Computing in the News
This gentle drone collects loose DNA from swaying tree branches
Polygons in Snap! and Python Turtle Graphics
The same thing, in Python:
from turtle import *
def polygon(sides: int):
for _ in range(sides):
fd(50)
rt(360 / sides)
polygon(6)
Free Time to Play with Snap! and Python Turtle Graphics
2023-01-25
Computing in the News
LG, Whirlpool Target Customers Disconnected From ‘Smart’ Appliances
Mr. B.’s 3D Printing Show and Tell
Python Turtle Graphics
Use the turtle graphics reference.
You draw it and we make it
Students draw simple patterns on the board and others write Python turtle graphics code to make them on the computer, using replit.
Free Learning Time Activities
2023-01-27
Computing in the News
Big Tech Is Really Bad at Firing People
Josephus Problem
We do a nicer version of this problem with stand/sit.
- count the number of people (let’s say 12)
- convert that number to binary (1100)
- move the leftmost “1” to the right (1001)
- convert that number to decimal (9)
- the person with that number will be the last one standing
More Python
MakeCode for micro:bit
Let’s pretend you have lots of pennies, nickles and dimes and you want to determine their value. This program will do that.
cents = 0
def add(how_many_cents):
global cents
cents += how_many_cents
def add_penny():
add(1)
def add_nickle():
add(5)
def add_dime():
add(10)
def reset():
global cents
cents = 0
def show_cents():
basic.show_number(cents)
input.on_button_pressed(Button.A, add_penny)
input.on_button_pressed(Button.B, add_nickle)
input.on_button_pressed(Button.AB, add_dime)
input.on_gesture(Gesture.SHAKE, reset)
basic.forever(show_cents)
2023-02-01
Grade 6: Roblox Demo by students
Grade 7
Decimal and Binary Numbers
A few more rounds of the Josephus Problem, perhaps?
2023-02-03
Python Practice
Your choice:
Before You Leave
Submit a Student Progress Report.
2023-02-08
Free Learning Time Activities
Come See Mr. B. if you need help or want to talk about computer science
2023-02-10
Computing in the News
What is ChatGPT and why are schools blocking it?
Writing a chatbot in Python
2023-02-15
Computing in the News
ChatGPT lies about scientific results, needs open-source alternatives, say researchers
Mr. B’s Progress with Phone Holders
Python Adventure Games
Here’s a starting point, generated by ChatGPT.
2023-02-17
Computing in the News
Beyond memorization: Text generators may plagiarize beyond ‘copy and paste’
Mr. B’s Progress with Phone Holders
Python Adventure Games
Here’s a different game, generated by ChatGPT. Why don’t you customize it.
Free Learning Time Activities
2023-02-22
Welcome Back to the Computer Lab
Let’s remember:
- listen and talk at the right times
- be productive
- use the computer only for approved activities
- log out and straighten up before you leave
Computing in the News
Microsoft Researchers Are Using ChatGPT to Control Robots, Drones
Mr. B’s Progress with Phone Holders
Switch from Blender to Autodesk Fusion 360
Autodesk is the same company that makes Tinkercad.
Free Learning Time Activities
2023-02-24
Computing in the News
The Lisa: Apple’s Most Influential Failure
Mr. Briccetti got to play with a Lisa before it was released, at his 1979–1983 employer, The Crocker Bank.
Who is Doing Student Progress Reports?
Phone Holders
Those of you who got one: How did it work? Let’s discuss in class, and you can write more if you like in your student progress report.
Teleporting in Snap!
Mr. B. will demonstrate this, and then you can make your own version of it if you like. Here is Mr. B.’s project.
Free Learning Time Activities
2023-03-01
Computing in the News
Augmented reality headset enables users to see hidden objects
Phone Holders
New design. There are some to give away.
Computer Lab Rearrangement
Free Learning Time Activities
2023-03-03
Computing in the News
50 Years Later, We’re Still Living in the Xerox Alto’s World
RoomHelper3000 Practice, Including Quizzes
Free Learning Time Activities
2023-03-08
Computing in the News
This Hacker Tool Can Pinpoint a DJI Drone Operator’s Exact Location
Quiz, using RoomHelper3000
Try New Hot Wheels Gates
See new mount design in Fusion 360.
Free Learning Time Activities
2023-03-10
Computing in the News
The FBI Just Admitted It Bought US Location Data
Quiz, using RoomHelper3000
- What programming languages have we used so far this year?
- What is a micro:bit radio group?
- What block do you use to handle received radio messages?
- Where was the Beauty and Joy of Computing curriculum created?
- How many degrees do our servo motors rotate?
- How did Xerox Palo Alto Research Center influence computing?
- About how much did a Lisa cost in today’s money?
- What is Adele Goldberg famous for?
- What is the difference between Wi-Fi and the Internet?
- Name at least two programs used for 3D modeling.
- May you get water without asking permission?
- May you go to the bathroom without asking permission?
- Why, when rolling two fair, 6-sided dice, does 7 come up most often?
- Write a “Hello, world” program in Python.
- In Snap!, what are sprites?
- In Snap!, what are costumes?
- What are some concerns about indoor security cameras?
- What programming languages are popular these days?
- Name one way Fusion 360 is better than Blender.
- What does this mean, in Python turtle graphics: rt 90?
- What is one serious problem with ChatGPT?
2023-03-15
Computing in the News
New LiDAR System Pinpoints Pedestrian Behavior to Improve Efficiency and Safety at Intersections
RoomHelper3000 Improvements
- The JavaScript code is now Typescript
- New feature to warn misbehaving students
Oral Quiz, using RoomHelper3000
Random Password Generator in Python
2023-03-17
Seating Changes for Grade 8
Google Classroom Assignments
Computing in the News
This is What Happens When Your Phone is Spying on You
ChatGPT’s Summary
RoomHelper3000 Improvements
- Fix bug where once a teacher logs in, others can log in as a teacher without the valid password
- Show student name on the student page
- Ring the offending student’s bell when a warning is issued
Random Password Generator in Python
from random import choice # Make the choice function from the random module available for use
from string import ascii_letters, digits # Import constants containing letters and digits
def generate_password(length: int) -> str:
characters = ascii_letters + digits # abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789
password = '' # Start with an empty string
for i in range(length): # Loop once for each character to add
password += choice(characters) # Choose a character randomly and append it to the password
return password # Return the finished password to the caller
password = generate_password(12) # Call the generate_password function and save the result in `password`
print(f'Your password is {password}') # Use an f-string to create a message, then display it
Read about the string constants. Read about choice. Read about formatted string literals, or f-strings for short.
ChatGPT Describes the Program
“This is a Python script that defines a function generate_password that takes an integer length as input and generates a random password of that length. The password consists of a mix of upper and lowercase letters and digits.
”The generate_password function first creates a string characters by concatenating the ascii_letters and digits constants from the string module. It then initializes an empty string password, and uses a for loop to iterate length times, each time appending a randomly chosen character from characters to the password string using the += operator. Finally, the function returns the password string.
”The script then calls the generate_password function with a length of 12 and saves the result in the variable password. It then uses an f-string to create a message containing the generated password and displays it using the print function.”
2023-03-22
Computing in the News
ACM Turing Award Honors Bob Metcalfe for Ethernet
Quiz on the Random Password Generator
In what module is choice located?
python
choice
random
string
What are the passwords made up of?
capital letters and symbols
letters of the Greek alphabet
everything in ascii_letters and digits
all upper and lower case characters
How is += used?
to count the number of characters
to add a character to the password string
to say that all pluses are equal
What controls how many times the loop runs?
the argument passed to the generate_password function
how many cyberattacks have occurred recently
randomness
What does generate_password return?
the deposit
everything that was borrowed
the generated password
the count of the number of characters in the password
Making a Web Application (webapp)
We’ll do this together on replit. You’ll make something fun and then share it with others by pasting the link into RoomHelper 3000’s shares.
2023-03-24
Computing in the News
Making a Web Application (webapp)
Adding HTML
Fork (make a copy of) this repl (project). Keep in mind that our projects on repl.it are viewable by the public (if they know where to look), so don’t make anything personal or that would embarrass you or the school.
HTML Elements
You’ll learn to use these HTML Elements
title
: sets the title in the browser tabh1
: the largest headingh2
: the second largest headingp
: a paragraph
A Getting Started Guide
2023-03-29
Computing in the News
Uncovering the unheard: Researchers reveal inaudible remote cyber-attacks on voice assistant devices
Making a Web Page at code.org
2023-03-31
Computing in the News
Robots Using Legs as Arms to Climb and Push Buttons
Making a Web Page at code.org
See Google Classroom for the link. Memorize or write down your secret words.
2023-04-05
Computing in the News
Purdue researchers uncover vulnerabilities in Smart TVs
Free Learning Time Activities
2023-04-19
Computing in the News
Full-Frame DJI Inspire 3 Drone Takes Flight
2023-04-26
Guest Teacher Mrs. Gillette
Text Adventure Games
We began with a text adventure game Mr. B. prepped back in April of 2021 - https://replit.com/@dcbriccetti/advent#main.py
We reviewed the code and I asked them all some questions:
- What programming language is this in?
- What does syntax mean, in the context of computer programming?
- Can you find an example of a variable?
- Can you locate a conditional statement?
- Find an example of a command that is an output?
Then we modified the program. I assigned challenges one step at a time:
- Challenge #1: Change the pet you find in the cave
- Challenge #2: Change the likelihood of finding the treasure to 50%, if in the meadow
- Challenge #3: Can you add a 33% chance you will find a gemstone if you are on the airstrip?
- Challenge #4: Create your own text adventure game. Pick a theme, places, transitions, inventory items, and chance occurrences. Have fun with it!
2023-04-28
Guest Teacher Mrs. Gillette
Data Science Modeling, and how we use data to train models
We did something a little different on Friday
At the start of class we discussed how data scientists and engineers develop and train models to help build new products and solve real world problems
Started with the iPhone example - and how facial recognition models are trained – how does the model know it’s still me if I’m wearing contacts/not glasses, wearing a hat, etc
Discussed how data science models are using to simulate scenarios – start with hypothesis, analyze data (using DS & scientific methods), and data scientists them develop models to help us do common tasks or answer big questions, or predict events so we can be more proactive vs reactive in solving. . .
Talked through some uses cases with the class, and the students shared examples as well:
- Financial - Train models to identify Credit card fraud / online fraud
- New products/services - Train AI engines for self driving cars by annotating images captured by high-definition cameras
- Helping others – accessibility - Train to recognize images for voice to speech applications to help folks with impaired vision, or to recognize images for video claims applications
- Environmental – kelp forests, wildfire ecosystem response. . .
Introduced high level process:
- Collect field images
- Annotate
- Build a database
- Train AI
- Answer biological questions
Then I got the students set up to participate in a Zooniverse citizen science project - helping to tag images for an active project to help scientists with their research projects to support environmental research, animal preservation, etc. They spent ~30 min in class, and we agreed if they ran another 30 min at home their parents could sign off for 1 service hr.
Here are some sample projects they worked on:
It was fun, and something we can take to younger grades as well.
2023-05-03
Computing in the News
BJC curriculum and the International Space Station
From our friends at BJC:
“We’ve been working on an exciting new curriculum with the education team at the International Space Station. It is a middle school / early high school curriculum (uses Snap! and python) where students are introduced to a series of units / labs walking through typical missions or issues that workers on the space station may encounter. It is part of a series of curriculum that is being developed to support the ISS’ Student Mission Control initiative.”
Mr. Briccetti co-authors a paper with Dan Garcia et al.
BJC Sparks: A New Functional-First Middle School CS Curriculum
Free Learning Time Activities
2023-05-05
Computing in the News
White House Pushes Tech C.E.O.s to Limit Risks of A.I.
Python Project: Phone Number Lookup using a Dictionary
We’ll code this together.
people = { # A dictionary of name and number pairs
'Alice': '703-555-1834', # The key is the name, the value is the phone number
'Bob': '857-555-1234',
'Elizabeth': '484-55-2923',
}
name = input("Enter a name: ") # Ask the user for a name
number = people.get(name) # Look up the name in the dictionary
if number: # If the name is in the dictionary
print(f"{name}'s phone number is {number}") # Print the name and number
Free Learning Time Activities
2023-05-10
Python Project: Dictionaries
Review the phone lookup program
Make a new program that uses a dictionary to map English words to Spanish words
Include a link to your program in your daily report.
Free Learning Time Activities
2023-05-17
Computing in the News
When Does the Gender Gap Start in the Computer Science Field?
Language Translation Program in Snap!
We’ll do this together.
2023-05-19
Try out Playstation VR/2, a reward for those who regularly completed student progress reports
Free Learning Time Activities
2023-05-24
Blockly Games
Try out Blockly Games and see how far you can get.
Free Learning Time Activities
2023-05-26
Computing in the News
Europe’s First 3D-Printed School Takes Shape In Ukraine
Mr. B. Solves Blocky Games Maze #10
Free Learning Time Activities (including Blockly Games)
See Resources at the top of this page.
Before You Leave
- Submit a Student Progress Report.
- Log out
- Straighten up