Project based learning in CS
About Me Cam Joyce Johnston Heights joyce_c@surreyschools.ca Teach Math and CS Great wedge for introductions BASc = Computing Science Somehow qualifies me as an expert in all things tech related Ask Cam, he’ll know?
Are you in the right place?
Greenfoot as a tool for learning CS/CP IDE for basic/rapid game development Create a World and Actors who live in the World Visual IDE based on BlueJ Extension: Droidfoot Supported Languages: Java Stride (new)
You might want to install now…
Sharing
Troubleshooting
Functions, Methods, Modularity Planning Before Logical progression of content Basics of the Language Decisions and Logic Iteration Functions, Methods, Modularity Classes …
Assignments Write a program to: determine if a given year is a leap year practice basic arithmetic using random numbers 3 * 5 = ? 4 + 9 = ? … Sum the first 100 integers
Read source code documentation Planning Now Progression of Project Make a picture Create a character Create a game … Read source code documentation Create a method Make a picture Use methods Use basic data types
My favorite activities Support Visualization Incorporate multimedia Have a low floor and high ceiling Can be Individualized Towards Interests To complement ability To avoid plagiarism Are engaging To a broad audience (not just those that enjoy CS) Students work from home when it’s not required
Logical Operators Casting If/Else Statements Make a Character Arrays Random Numbers Math Operations
Floor
Student work - Frog
Student Work – Board Games (2D array) Chess Reversi/Othello Gomoku (like connect5 meets Go) Connect4 Go Stratego Minesweeper/Battleship hybrid Checkers
Student Work – Projects CS11 Asteroids Tower Defense Air strike Tank battle Platforms are possible but them gravity and physics creeping Scrolling worlds are another hot topic I have written helper classes to speed up the process if students want to implement these in projects Basic on purpose Those that are capable can learn from my examples and write more robust examples
Computational Thinking The Picnic Competition Students design an Ant to find food and return it to a Nest Obstacles can block Ants Food is worth different point values There are several Ants and several Nests Spiders are a danger to Ants, they can take points away ... Here is last semester’s live competition
I still… Use regular practice of skills like I did before codingbat is a nice tool Skill practice is important I don’t start with skill practice anymore though I start with projects that motivate students to learn a skill
CodingBat Can author custom questions also Java and Python supported Nice prequel to CCC online grader
Hackathon - 20 minutes? Space game Spaceship Sound and images at mrjoyce.wordpress.com Spaceship Tracks mouse Moves by keyboard Fires a Missile at Aliens Explodes if hit Motivates further discussion Fire a Projectile at an Enemy
Thanks! Cam Joyce Johnston Heights Sec. joyce_c@surreyschools.ca mrjoyce.wordpress.com In progress