Project-Based Learning in Computer Science: Beyond the Birdhouse
Explore and create : BYODex
Tuesday, June 25, 2:15–3:45 pm
Location: Franklin 11-12-13, Marriott
Crystal Furman Douglas Kiang
Learn how simple hands-on activities can help you to scaffold learning and support all learners in any coding class, including AP Computer Science Principles, a course that incorporates independent projects into the curriculum to engage students in doing meaningful, relevant work.
|Audience:||Teachers, Principals/head teachers|
|Attendee devices:||Devices required|
|Attendee device specification:||Laptop: Chromebook, Mac, PC
|Focus:||Digital age teaching & learning|
|Topic:||Computer science and computational thinking|
|Subject area:||STEM/STEAM, Computer science|
|ISTE Standards:||For Students:
|Disclosure:||The submitter of this session has been supported by a company whose product is being included in the session|
Coding is the language of critical thinking and problem-solving. Even if you aren’t a computer scientist, you can still teach kids these important thinking skills through fun, simple activities and projects while laying the foundation for computational thinking. In this workshop, we'll present some strategies for engaging all students in mastering this important new literacy as well as introduce a high school computer science curriculum that was designed from the start to be inclusive of all genders, backgrounds, and experience.
First, we will present an approach to teaching coding, a “design-first approach” that emphasizes the context and purpose for building an app. We'll talk about how most programming courses are taught backwards: working from tiny details to the larger context, such that it can take weeks before students actually code something useful. We get students identifying problems or needs in their community, then rapidly prototyping solutions in an iterative fashion until they have designed a solution that truly fits a comprehensive understanding of the problem. As they build their prototypes the students are also guided in basic user interface design. It’s not enough just to have a good app idea, your design should serve a purpose or solve a problem if you want people to use it.
We'll introduce "unplugged" activities, which are whole group activities that get kids up and moving around as they work through solving puzzles away from the computer. We'll talk about "birdhouse" activities, which are essentially guided activities with one type of solution at the end. We'll talk about how most schools stop after the birdhouse activity, and why it's essential to go "beyond the birdhouse" and give students ample time to work on "performance tasks", or projects that challenge them to apply previously learned skills in new and creative ways.
For example, we will do a Networks activity in which participants will fill out index cards with their name and connections (things they have in common) with the different people in the room. Then we will create a "network" in front of the room that models the Internet by visually representing the multiple ways we are connected to each other. Multiple connections in a distributed web are better than everything going through a single hub (this is a great getting-to-know-you activity in the classroom!)
Next, we will look at the concept of Iteration, which basically means, "Repeat this, this many times." We will do an activity in which we count the total number of people in the room by following a series of steps. What's neat is that this works really well with any size room, and the counting is very fast because the activities take place in parallel rather than in series. Much more efficient! This is an example of a simple activity with a very high ceiling that leads into lots of great computer science discussion.
Next, we will talk about Conditionals in the form of an algorithm. An algorithm is a set of step-by-step instructions, kind of like a recipe. We play a counting game called FizzBuzz, then break it into steps in English, then code using a coding language in real time as we walk teachers through those steps, translating them into code.
Finally, we'll look at the AP Computer Science Principles course as a useful example in which the curriculum and assessment are based on projects and application of knowledge to computational artifacts that are personally relevant and meaningful. Whether teachers teach AP Computer Science Principles or not, everyone will come away with some useful strategies that they can apply to their classrooms right away.
A simple model for introducing new content (5 min.)
Unplugged activity: Walk around a chair (5 min.)
Birdhouse activity: Scratch (10 min.)
Independent project examples (5 min.)
AP Computer Science Principles was designed to reach all learners. (20 min.)
Performance Tasks overview and samples
Unplugged activity (FizzBuzz) - 15 min.
Demo of an Online IDE: Birdhouse activity (Flow control) (20 min.)
Independent project examples (10 min.)
Holmes, S., Redmond, A., Thomas, J., & High, K. (2012). Girls Helping Girls: Assessing the Influence of College Student Mentors in an Afterschool Engineering Program. Mentoring & Tutoring: Partnership in Learning, 20(1), 137–150. http://doi.org/10.1080/13611267.2012.645604
This research details specific strategies that are effective with girls of color and those of low-income and immigrant families. We draw on these findings in our curricular approach.
Mosatche, H. S., Matloff-Nieves, S., Kekelis, L., & Lawner, E. K. (2013). Effective STEM Programs for Adolescent Girls: Three Approaches and Many Lessons Learned. Afterschool Matters.