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

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

iOS Privacy: Announcing InAppBrowser.com - see what JavaScript commands get injected through an in-app browser

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:

Hook up a battery, take it outside, and find the beacons.

Where They Were

Pictures of the hiding places

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 Languages

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.

Hardware Unit

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

BJC Logo

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.

Video where Iain says don’t do that

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:

The YouTube not found image

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.

Servo connection

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.

Screen shots of creating a progress report

2022-09-02

Computing in the News

The Making of Smalltalk Event at the Computer History Museum

Photo of Mr. Briccetti with the Agile Mind Team 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

MakeCode blocks to map tilt to angle

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: Seating groups (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.

Manual open/close program

Another Project IDEA from BJC Sparks

Unit 3 Lab 7: Collaborative Chain Reaction, Activity 1 Video of a chain reaction

Work on Projects

2022-09-16

Computing in the News

Uber Hack

Review Project Status Reports

Who Filed a Student Progress Report Wednesday (and Who Didn’t)

Lesson: Using a Loop with a Servo Motor

Servo in a loop

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

Autonomous Lawn Mowers

Move a Point with Tilting

Shared Project

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.

Image of code

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.

Image of code

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

Run RoomHelper3000.

More on Dice Throws

Result of running dice histogram program

Show and Tell: Temperature Collection with Raspberry Pi Pico W

Temperature collection code

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.”

Online p5.js Environment

Mr. Briccetti’s Software Page, with several interesting p5.js projects.

Before You Leave

2022-10-26

Computing in the News

Halloween Spider

Grade 6

Halloween-themed games in Snap!

Trick or treat game
Candy scripts

Grades 7–8

p5.js

Online p5.js Environment

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

Where to Find Images

openverse

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:
Stuffing and turkey

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

p5.js Lessons

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:
Spreadsheet sports counts

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

Wooden Laser-Cut Gate

New 3D-Printed Gate

3D-printed hot wheels gates

Shall we assemble some and try them on Hot Wheels track? Car at Gate

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?

Gate Design Improvements

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

Advent of Code 2022

2022-12-14

You on a Tree

Mr. B. 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

Snap! code to make polygons

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

In BJC

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

Chat bot example

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

an illustration of a web of all the products that can be traced back to the xerox alto

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.

Gate Controller Code

Remote Controller Code

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

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

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

🔥ChatGPT plugins are here

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 tab
  • h1: the largest heading
  • h2: the second largest heading
  • p: a paragraph

A Getting Started Guide

Getting started with HTML

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