Lesson #
1
2
3
4
5
Date
8/18/14
8/19/14
8/21/14
8/25/14
8/26/14
8/28/14
9/2/14
9/4/14
9/5/14
9/9/14
9/11/14
9/12/14
9/16/14
9/18/14
9/19/14
9/23/14
9/25/14
9/26/14
9/30/14
10/2/14
10/3/14
10/7/14
10/9/14
10/14/14
10/15/14
10/16/14
10/21/14
10/23/14
10/24/14
10/27/14
10/28/14
10/30/14
11/4/14
11/6/14
11/7/14
11/11/14
11/13/14
11/14/14
11/18/14
11/20/14
11/21/14
11/24-11/28
12/2/14
12/4/14
12/5/14
12/9/14
12/11/14
12/12/14
12/16/14
12/18/14
12/19/14
Duration
90/45 min
15 min
90
90
45
90
90
90
45
45
90
90
45
90
90
45
90
90
45
90
90
45
90
90
45
45
90
90
90
45
45
90
90
90
90
45
90
90
45
90
90
45
90
90
45
90
90
45
90
Teacher Activities
First day of school (15 min/class)
- Presentation - PCS Highlights (in G-Drive, PCS Stage)
- Emphasize: TECH Expectations
- Presentation: PCS Intro (in G-Drive, PCS Stage)
- Re-emphasize TECH. Cover pair work, grades, SOUL
- Show Snap website: snap.berkeley.edu
- GUI elements
- short program to draw square
- Ask students to go online and explore the Snap environment
- as a minimum - ask students to draw a house, made of one square and one equilateral triangle
- Ask students: warm up exercise:
- (re)create the House - 1 square, 1 equilateral triangle
- Show students one way to create the house:
- initial conditions (clear, pen up, go to 0,0, point to 90)
- 1 repeat 4 loop for square
- 1 repeat 3 loop for triangle
- Best Practice: create shorter program - they are more readable. Loops (vs. linear commands) help shorten.
- Best Practice: initialize the program to a known and well-defined condition
- In preparation for the first project - A bit about me:
- Introduce concept of multiple sprites, working in parallel
- create a second sprite
- each sprite has a separate program/script
- make 1 sprite draw the square, the other draw the triangle
- Emphasize that the sprites DON'T communicate/coordinate their activities
- Show broadcast and receive of messages:
- add to sprite 1 a broadcast message at the end of the drawing of the square,
- replace the green flag hat block of the second sprite with a "when receive" broadcast hat block
- Tie back to the project "A bit about me":
- show the example of myself in "A bit about me"
- stage backgrounds
- multiple sprites communicating
- some animation
- some sound
- Ask students to create an account on Snap/Berkeley
- Explain/emphasize saving work to the cloud, not to the browser!
- Display the instructions for creating an ePortfolio on Google Sites (on the nav bar of the spiralinglearning course site)
- emphasize using a "portfolio template" (can use the Pinewood/Morrell's template)
- enable comments on the project page (from the Google Sites "Page Settings")
- Publish/"Display" the Project assignment for "A bit about me" on Veracross
- make sure students can see the homework.
- Make sure students see the "Important Links" on the course website on Veracross
Due to trip, only Freshmen did this:
- Ask students to fill out the Google Form for sharing their ePortfolio URL
- Ask students to logon to Snap and create a "skeleton project" for "A bit about me"
- save to the cloud
- share it publicly
- use the public URL to embed the project in their ePortfolio as an iFrame
- Walk-through of my prototype project "A bit about me" - to show a few basic programming possibilities/capabilities
- Time permitting: start working on the "A bit about me" project
Due to trip, only Freshmen did this:
- Ask students to fill out the Google Form for sharing their ePortfolio URL
- Ask students to logon to Snap and create a "skeleton project" for "A bit about me"
- save to the cloud
- share it publicly
- use the public URL to embed the project in their ePortfolio as an iFrame
- Walk-through of my prototype project "A bit about me" - to show a few basic programming possibilities/capabilities
Freshmen + rest of class:
- work on the "A bit about me" project
- due on 8/28
- Display SOUL Reflection assignment on Veracross
- due 9/2
- Submit project by 8am on 8/28
- Ask students to upload the URL to their project through Veracross.
- Ask students to Show & Tell about "A bit about me"
- A "comic relief" - more on events/clicking on sprites
- Make a game: Whack-a-duck
- import a duck costume
- import a stage background with the x-y coordinates
- show the duck moving randomly, with "goto x y"
and "pick random min max"
- ask the students to complete the game
- Ask students to Show & Tell about "whack-a-duck"
- Pick a partner to pair up with for the Tech in the News presentations due 9/4
- fill out submission form by 9/2
- Assign individual projects to individuals - provide peer SOUL feedbacks
- In the time remaining: Write SOUL reflection about OWN project
- due 9/2
- Provide SOUL feedback to 2 other projects
- due 9/2
- submit the SOULs by 8am on 9/2
- go over ePortfolio links - make sure student has own reflection + 2 feedbacks
- Ask students: pick a partner
- submit pair names on form
- 2 pairs to volunteer - to present 9/4
- 2 pairs to volunteer - to present 9/5
- Introduce Computing in the News (CitN)
- show example 2 - The Joking Computer
- Build your own blocks
- Simple examples of BYOB (square - no parameters):
- show the drawing of the square: repeat 4, move 100...
- convert that to a block: "draw square"
- Motivation:
- It makes writing code simpler/readable
- it is a form of abstraction
- show how it can be used to draw a "flower":
- repeat 30: draw-square; turn 15
- BYOB with a parameter
- Motivation:
- if you want to draw squares of different sizes
- Student activity
- create a triangle of size 150
- convert it to a custom block
- make the block take a length parameter
- use the parametrized block to draw some interesting shapes
- Motivation - Fractals
- show video tour of Mandelbrot set (10 min) - https://www.youtube.com/watch?v=F_nfHY61T-U
- show the Koch Snowflake fractal (2 min) - https://www.youtube.com/watch?v=PKbwrzkupaU
- Show Koch Curve with random perturbations (2 min) - https://www.youtube.com/watch?v=azPMEuFfxME
- 1 pair - Computing in the News presentation (CitN)
- Show how to create a parametrized block to draw an n-sided polygon of a parametrized size
- Quiz - exploring Snap (Veracross assignment)
- Homework:
- finish gen 4 of the Koch Curve
- embed on new page in ePortfolio
- due 9/9 at 8am
- Extra Experience:
- do at least a gen 4 of the Koch Curve with squares (instead of triangles) - a somewhat surprisingly different result)
- do a gen 4 Sierpinski Fractal
- 2 pairs - Computing in the News (CitN) presentation
- Retake quiz again - if interested
- or work on homework - fractals
- Student show & tell - Koch (triangle) - progress/status
- ask for 2 pairs to present CitN on 9/12
- Show the creation of a Koch Curve Fractal ("Koch 2" project in the cloud)
- demo building parametrized blocks
- create "make a hill of size %length" - for gen 1
- create "make 4 hills of size %length" using 4 "make hill of size" - for gen 2
- create "make 16 hills" using 4 "make 4 hills of size" - for gen 3
- emphasize self-similarity of fractals
- Student activity
- recreate custom blocks with parameters to make gen 4 of the Koch Curve
- make Koch curve variation - square curve instead of triangle curve
- Homework - reminder:
- finish gen 4 of the Koch Curve
- embed on new page in ePortfolio
- add your own SOUL reflection
- due 9/11 at 8am
- Extra Experience:
- do at least a gen 4 of the Koch Curve with squares (instead of triangles) - a somewhat surprisingly different result)
- do a gen 4 Sierpinski Fractal
- A few students have their fractals embedded in their ePortfolios
- but they are missing a reflection on their work
- some people are submitting the Snap URL through Veracross, as opposed to the ePortfolio URL
- Student show & tell - Koch (triangle, squares), Sierpinski
- A heads-up and invitation to explore
- Show Koch curves with recursion - triangle and square versions ("Koch - recursion" in the cloud)
- interesting math fact: Koch fractals have a finite/bound/converging area, BUT an infinite/boundless length/perimeter
Demo - practice custom blocks, abstraction:
- Make a flower with
- a dark green stem
- 5 light green triangular leaves (different sizes) on the stem
- 12 red pentagon petals (same size) on top of stem
Student activity - see instructions in the "Flower Garden" activity description
- Make a flower block - to take
- stem height and color
- number of (triangular) leaves and color - all same size
- number of (rectangular) petals and color - all same size
Lab activity - random flower garden - see instructions in the "Flower Garden" activity description
- Classwork (to be completed 9/12 in class):
- make a random flower garden
- embed on ePortfolio
- write a SOUL on your own and 2 peer projects
- 2 pairs present CitN
- Show & Tell on Flower Garden
- My show & tell - Fractals on the iPhone/iPad (2 min video) - http://fract.al/stages
Classwork: write 1 SOUL reflection on your Flower Garden work and 2 reflections on peers
- assign 2 pairs to do CitN
- student show & tell on flower garden
- embed Flower Garden in student portfolios - no need for SOUL reflections.
- Variables & conditionals
- need for variables:
- create a random-sized square - "Variables 1" example
- we need a local script variable to contain the random size
- create a condition to draw either a square or a triangle, after asking the user
- "answer" is another variable
- student exercise:
- Create a program dialog with the user:
- what's your name?
- Hello "name"
- what day is it today?
- if Sat or Sun - enjoy the weekend, otherwise - hope your week is going well
- Conditionals review
- Student Show & tell - name + day of week class exercise
- Demo - days of the week - with lists
- interaction with users - name + courses taken - example ("ask" block, "answer" variable) - "Variables 1" example
- adding a pause/continue button for "whack-a-duck"
- Remind students of Random Flower Garden class activity
- show how to make a block with different input types (text, numbers)
- e.g. "make '6' 'hexagon' petals of size '100' "
- show conditionals and variables: if shape = hexagon then set sides to 6
Student activity/classwork - "Name Guessing Game":
- instructions on Google Drive: https://docs.google.com/document/d/1UhZQqSLgaaKFdKWq0PyHJGFCpY130ZXJqC77QAUDZ3s/edit?usp=sharing
- CitN presentations
- assign CitN pairs for next Friday
- Show & Tell - progress, problems, phase of "Name Guessing" game
- Demo of finding a letter in a word (Snap project in the cloud)
- Continue working on the "Name Guessing" game
- embed in your ePortfolio
- write SOUL reflection
- Show & Tell - if anything creative/original
- Continue working on the "Name Guessing" game
- embed in your ePortfolio
- write SOUL reflection
- in the Limitations - describe and explain the problem with double/repeating letters
- for finished students - "evil" version, extra experience - the program changes the secret number (without "lying" about higher/lower) to make it harder for the user to guess
or:
- For finished students - Additional practice with conditionals - time permitting
- create a game - "Rock, Paper, Scissors" - following the instructions on the shared Course Google Drive
- show & tell - "Rock, Paper, Scissors"
- Review the double loop (for loop or repeat until) to identify common letters in the guess and secret word
- Continue working on the "Name Guessing" game
- embed in your ePortfolio
- write SOUL reflection
- in the Limitations - describe and explain the problem with double/repeating letters
- For finished students - Additional practice with conditionals - time permitting
- create a game - "Rock, Paper, Scissors" - following the instructions on the shared Course Google Drive
- CitN
- show & tell - "Name Guessing" game
- show & tell - "Rock, Paper, Scissors"
- Make sure everyone finishes the "Name Guessing" game
- embed in your ePortfolio
- write SOUL reflection
- in the Limitations - describe and explain the problem with double/repeating letters
- Analyze my example of "Name Guessing" - show initialization and custom block for abstraction
- show & tell - "Name Guessing" game
- Conditionals Quiz
- Review Quiz
- The Shark Game - project
- instructions in the course shared folder (Google Drive)
- embed in your ePortfolio
- write 2 peer SOUL reflections, no need to do your OWN
- Show & Tell - Shark status
- Retake quiz - if interested
- Keep working on The Shark Game
- embed in your ePortfolio
- write SOUL reflection
- CitN
- assignment submissions - can be done earlier than the deadline, but
- the moment it is submitted I have your signal that you are ok with me checking it
- anything I comment on, I'll take a screenshot and send you as feedback, with the grade
- Everyone - create a new ePortfolio page with links to all their CitN presentations
- Fill-out the Course Feedback
- Fix problems with CitN ePortfolio page (sharing), and submit in Veracross
- Keep working on The Shark Game
- embed in your ePortfolio
- write your SOUL reflection
- write 2 peer reflections - for students ABOVE you on the list
- Students self-review stronger/weaker SOUL reflections
- For finished students - implement Rock, Paper, Scissors
- go over the Shark Game requirements
- go over SOUL examples from other classes
- the stronger and the weaker
- Students - finish the Shark Game
- Students improve on their SOULs
- For finished students - implement Rock, Paper, Scissors
- CitN
- assign the next CitNs
- Students - Show & Tell - Shark Game
- Analyze my example of Shark Game
- For students who did it - show and tell - Rock, Paper, Scissors
- Assign presenters for CitN
- 21 Card trick
- Explain the rules
- Do the 21 card trick with actual cards, first
- Demo - show the 21 Card trick program- as motivation for lists
- Lists - start:
- Self-Study - Go through the Introduction to Lists self-study (found in the Course Shared folder - Google Drive)
- Solidify self-study reading: Demo with student participation - key operations and concepts with lists
- Snap project: Lists - basics - together with students
- length, add, insert, delete
Homework:
- Lists Basics - in Veracross (creating a sentence block - per the "Try This" exercise at the bottom of the Lists page from UC Berkeley)
- The Hook: Demo - show the 21 Card trick program
- Students show and tell - creating a sentence block - per the "Try This" exercise at the bottom of the Lists page from UC Berkeley
- Show the use of lists to calculate and graph the increasing length of a Koch Curve (Snap program: Lists - Basics)
- Re-review: Solidify self-study reading: Demo with student participation - key operations and concepts with lists
- Demo and analyze - the 6 card trick program
- show the code, but not in detail
- Lists - students implement the 6 card trick
- Project - extend the 6 card trick to the 21 card trick
- Continue - 21 card trick
- Students show and tell - 21 card trick
- Write own SOUL reflection
- CitN - assign for 11/7
- Continue/finish - 21 card trick
- Write own SOUL reflection
- for finished students - read the "Creative Project #1" document in the Google shared drive
- start thinking of a project of your choice
- prepare for an "elevator pitch"
- Make sure all students have the 6 card trick (without the actual cards/sprites) working
- ask students who have finished to help the ones still not done
- Students who have finished the 6 card version, should move to the 21 card version
- screen shots for how to display the cards/sprites on stage for the 6 card game are on the Google Drive ("Displaying cards for the card game")
- review the rules for the 21 card version
- 4 dealings
- Collect cards by columns - take the pile (column) with the user's card and put it in the middle
- deal the cards across - by rows
- after 4 dealings the card will be (where?) ___?
- Clayton, Reed, Austin - go to the library - finish the write-up on future assignments commitment
- finish the 21 card version
- first without the card images/sprites, then with the images (harder)
- screen shots for how to display the cards/sprites on stage for the 6 card game are on the Google Drive ("Displaying cards for the card game")
- Students show and tell - 21 card trick
- Start on the Creative Project (#1)
- go over instructions and steps (idea, elevator pitch, approval, etc.)
- finish the 21 card trick - at least without the UI (actual cards)
- fast students are working on UI (with actual cards)
- students can work off of my example with UI/cards for the 6 card game/version) - in Google Drive
- Motivation for implementing the actual card UI: show/demo how the card trick can be displayed on an iPad/iPhone
- finish the 21 card trick - with the UI (actual cards)
- students can work off of my example with UI/cards for the 6 card game/version) - in Google Drive
- write own SOUL (due 10/31 - not a class day)
- Students Show & tell the 21 card trick - with the UI (actual cards)
- Start the Creative Project (#1)
- review the requirements
- Students implement the Creative Project (#1)
- finalize the idea with me
- write the elevator pitch
- prepare the ePortfolio page
- CitN
- Students implement the Creative Project (#1)
- Students present to class the elevator pitch and ePortfolio page
- Missing Students present to class the elevator pitch and ePortfolio page
- Students implement the Creative Project (#1)
- write the code
- Students implement the Creative Project (#1)
- write own SOUL
- Students who finish early, will work on the Simple Sorting Algorithm using Lists project
- CitN
- Students implement the Creative Project (#1)
- write own SOUL
- Students who finish early, will work on the Simple Sorting Algorithm using Lists project
- Students implement the Creative Project (#1)
- write own SOUL
- Students who finish early, will work on the Simple Sorting Algorithm using Lists project
- Quiz - variables, custom blocks, lists
- Students show and tell - Creative Project (#1)
- Time permitting - Show/demo Snap conversion to different languages (code translation)
- enact with students the FizzBuzz count
- show it running in Snap
- convert it to Javascript (in Chrome console), C (on codepad.org), Python (on codepad.org)
- show char deletion and syntax errors
- Retake Quiz
- CitN
Thanksgiving Break
- Introduce/start Recursion
- demo recursive downup program
- first without the second/last say() - which results in only down and no up, then with it put in so it does both down and up
- demo recursive Vee Tree program
- first without the 2 vee's inserted into the list (resulting in no recursion), then with 2 vee's
- show the UCB BJC ppt slides (on local hard drive) or PDF (on Google Drive) - introduction
- explain the 3 parts of the recursion (base, invoke, combine - per the slides)
- Go over Recursion 0 (Snap project)
- Demo/explain factorial example
- Demo/explain count up example
- Problem of the Day - prep for the test (12/16)
- count up evens from 0 to 20
- count up/down with direction parameter
- Continue recursion
- Reminder - students explain downup
- Continue with Recursion 0 (Snap project)
- students work on Recursion assignment
- count down
- sum up numbers between
- palindrome (example of the longest I know of (a full story): http://spinelessbooks.com/2002/palindrome/index.html)
- squiral
- Problem of the Day - prep for the test (12/16)
- per the prep page on Google Drive
- Recursion - lab activity
- palindrome (example of the longest I know of (a full story): http://spinelessbooks.com/2002/palindrome/index.html)
- squiral
- recursive tree - 6 levels
- recursive Koch Fractal - 6 generations
- Problem of the Day - prep for the test (12/16)
- Recursion - lab activity
- palindrome (example of the longest I know of (a full story): http://spinelessbooks.com/2002/palindrome/index.html)
- squiral
- recursive tree - 6 levels
- recursive Koch Fractal - 6 generations
- Show the "Hello, World!" Humor doc (on the spiralinglearning site)
- discuss strengths and weaknesses of different languages
- Intro to Python
- compare/parallel to Snap - http://bjc.berkeley.edu/bjc-r/llab/html/topic.html?topic=berkeley_bjc%2Fpython%2Fbesides-blocks-intro.topic&novideo=true&noreading=true&noassignment=true&course=cs10_sp14.html
- Showcase Python
- EarSketch - music
- VPython - simulations/3D
- Problem of the Day - prep for the test (12/16)
- Recursion - review
- palindrome (example of the longest I know of (a full story): http://spinelessbooks.com/2002/palindrome/index.html)
- Intro to Python
- Showcase Python
- EarSketch - music
- http://earsketch.gatech.edu/category/unit-4
- VPython - simulations/3D on the Web - Glowscript
- http://www.glowscript.org/#/user/GlowScriptDemos/folder/Examples/
- Intro to Python doc on Google Drive
- Students fill out Course Survey (link is on Veracross)
- Continue Intro to Python
- Problem of the Day - prep for the test (12/16)
- Students review and complete their ePortfolio (part of final grade)
- all projects, SOUL reflections
- all CitN presentations
Ask students to take 1 minute to fill out Advanced CS class form - if interested in taking follow-on class
Final Test
- Students can bring iPad, pencil/pen, paper
- I need to check
- that all students have recorded their "Analysis"/multiple choice responses in Google Form
- that all students submitted the "Programming" project through Veracross
- that I can save a copy of their shared "Programming" project as my own "remix"
no class
Post final - no class
- Problem solving with Algorithms
- from CS Unplugged?
- binary search ("Guess My Number") for CTE)
- maze walking (left-hand, bread-crumbs)
Students Activities
- Logon to Snap site
- explore environment
- At a minimum: draw a house
- warm up exercise:
- (re)create the House - 1 square, 1 equilateral triangle
- Create an account on Snap/Berkeley
- Create an ePortfolio on Google Sites
- Check to see the "important links" on the course website on Veracross, including the Snap Reference Manual.
- Students fill out the Google Form
- Create "skeleton project" on Snap and share it
- Embed the shared URL in their ePortfolios
- Start working on the "A bit about me" project
- work on the "A bit about me" project
- due on 8/28
- Show & Tell - "A bit about me"
- Make the game whack-a-duck
- enhance, with color, sounds, sizes, score, speed
- Show & Tell - "Whack-a-duck"
- Pair up - fill form
- Write SOUL reflection about OWN project
- individually
- Provide SOUL feedback to 2 other projects
- individually
- Students watch fractals videos
- Students work on custom blocks (custom triangle with param)
Homework:
- Students work on creating custom blocks with params for Koch Curve
- create generation 4 of curve
- at least a gen 3 of the Koch Curve with squares (instead of triangles)
- 1 pair present CitN
- Take quiz on Google Form (through Veracross)
- Homework (optional) - go over quiz on the computer in Snap; prepare to retake
- 2 pairs present
- factorial -
- count down (in recursion 0) - http://sage.cs.berkeley.edu/mod/resource/view.php?id=9727
- exercise - say numbers in range - http://sage.cs.berkeley.edu/mod/resource/view.php?id=9733
- palindrome (in recursion 0)
- add the digits of a number - http://bjc.berkeley.edu/bjc-r/cur/programming/recur/recursion-ii/write-a-recursive-block-to-add-the-digits-in-a-number.html?topic=original_bjc/14-recursion-II.topic&step=9&course=
- shapes - squiral - http://bjc.berkeley.edu/bjc-r/cur/programming/recur/recursion-ii/make-a-recursive-squiral.html?topic=original_bjc/14-recursion-II.topic&step=8&course=
- fractals
- Koch's Curve - http://sage.cs.berkeley.edu/mod/resource/view.php?id=9722
- C-curve - http://sage.cs.berkeley.edu/mod/resource/view.php?id=9723
- BJC 2012 - http://sage.cs.berkeley.edu/course/view.php?id=24