School District Unveils Pilot Computer Science Courses

School District Unveils Pilot Computer Science Courses for High Schoolers
Oct 29, 2015

Technology Education and Literacy in Schools

Unified School District’s newly implemented courses.
they pair computer science professionals with classroom teachers. This enables the teachers to get the professional development necessary to oversee these sometimes-complex computer science courses.

high school students are applying computer science concepts like variables and loops to build classic games using Berkeley’s drag-and-drop Snap programming language

Later in the year they’ll create their own Web applications using standard languages like CSS, Javascript and HTML

Advertisement #GoOpen with Educational Resources

U.S. Department of Education Launches Campaign to Encourage Schools to #GoOpen with Educational Resources
October 29, 2015

Department proposes rule requiring educational materials created with federal grants to be openly licensed so that any school has access

Edmodo, a K-12 education network for teacher and student collaboration, announced an upgrade to its resource sharing platform, Edmodo Spotlight, to enable searching, curating, and sharing openly licensed educational resources from the Education Department’s Learning Registry.

Microsoft is committed to index content from the Learning Registry by creating a new app so educators can search and access openly licensed educational resources through LTI compliant learning management and publisher systems. In addition, Microsoft announced enhanced features to, Sway and OneNote Class Notebook to enable educators to create, discover, rate, and share openly licensed educational resources.

Creative Commons, … open licensing to enable use and re-use of content, announced they will lead workshops across the country with thousands of district leaders to help them scale the use of openly licensed educational resources

ASCD, a global community dedicated to excellence in learning, teaching, and leading

The Illinois Shared Learning Environment released a redesigned version of their IOER platform that makes it easier than ever for teachers and school leaders to find high-quality open educational resources by learning standards.

for online resources by TEA

July 2020


Week 7b: Sprites

Sprite class demo

Incomplete code from Pong

Week 7a: More Classes

# Partial example code for Spaceship

Simple music player


Visualizing objects
# Object creation and use
# Mutation with Aliasing

Demo for drawing a card using tiled images

# Particle class example used to simulate diffusion of molecules

OO programming
# ball physics code for generic 2D domain
class Character
methods: grab, get_health

Week 5b: Dictionaries and images

Demostration of a magnifier on a map



# Iterating over lists
Week 5a

# Examples of mouse input: List removal
Week 5a

# Examples of mouse input: List of red and green balls
Week 5a

# Examples of mouse input: List of balls
Week 5a

# Simple task list
Week 5a

# Examples of mouse input
Week 5a


Week 4b:

Implementation of classic arcade game Pong


Lists (mutable) vs. Tuples (immutable)

Mutation vs. Assignment

Control the velocity of a ball using the arrrow keys

Week 4a: Basics of Lists

Collisions and reflections

Ball motion with an implicit timer

Ball motion with an explicit timer

Control the position of a ball using the arrow keys

Keyboard Echo

Week 3b: Timers

Simple “screensaver” program.

DRAW A CIRCLE: Example of event-driven code, buggy version

Week 3a: Drawing Canvas

# First example of drawing on the canvas

# example of drawing operations in simplegui
# standard HMTL color such as “Red” and “Green”

String processing

# convert xx.yy to xx dollars and yy cents


# Example of a simple event-driven program
Week 2a

Week 2b

# calculator with all buttons
Week 2b

# global vs local examples
Week 2a

Simple GUI
Week 2a
CodeSkulptor is relatively empty, there’s need to see video


Python > Aliasing

see the “tricks” list in the class “Dog”

side effect

# Create a
a = [5]

# Create a new with the same value
b = list(a)

# Same with the full slice technique:
b = a[:]

# print a,b
print( id(a), id(b))

cited by:
An Introduction to Interactive Programming in Python (Part 2)

Coursera. Rice University. October 2015

aliasing1of2Inside the function, p is an alias for blank, so if the function modifies p, blank changes.
p. 273
Think Python 2e
by Allen B. Downey

Guess The Number game

#”Guess the number” game
# input will come from buttons and an input field
# all output for the game will be printed in the console

import simplegui
import random
import math

# initialize global variables used in your code
num_range = 100
secret_number = 0
guesses_left = 7

# helper function to start and restart the game
def new_game():
# initialize global variables used in your code here
global secret_number
global guesses_left

secret_number = random.randrange(0, num_range)

if num_range == 100 :
guesses_left = 7
# num_range == 1000
guesses_left = 10

print “New game. Range is from 0 to”, num_range
print “Number of remaining guesses is “, guesses_left, “\n”

# define event handlers for control panel
def range100():
# button that changes the range to [0,100) and starts a new game
global num_range
num_range = 100

def range1000():
# button that changes the range to [0,1000) and starts a new game
global num_range
num_range = 1000

def input_guess(guess):
# main game logic goes here
global guesses_left

print “Guess was: “, guess
guesses_left -= 1
print “Number of remaining guesses is “, guesses_left

if int(guess) == secret_number:
print “Correct!\n”
elif guesses_left > 0:
#provide feedback
if int(guess) > secret_number:
print “Lower!\n”
print “Higher!\n”
#game over
print “You ran out of guesses. The number was “, secret_number, “\n”

# create frame
f = simplegui.create_frame(“Game: Guess the number!”, 200, 200)

# register event handlers for control elements and start frame
f.add_button(“Range is [0, 100)”, range100, 200)
f.add_button(“Range is [0, 1000)”, range1000, 200)
f.add_input(“Enter your guess”, input_guess, 200)

# call new_game