Derek Babb is a computer science teacher at Omaha North Magnet High School. He has taught computer science for 11 years in both suburban and urban high school settings as well as teaching at the University of Nebraska - Omaha. He was a writer for the K–12 Computer Science Framework and has been involved in writing computer science standards for the state of Nebraska as well as local school districts. He has been involved in computer science advocacy at the local level, serving as a founding member and president of the Omaha Computer Science Teachers Association chapter.
Engage your students with real-world projects even if the real world gets in the way. I challenge students in my Computer Science Principles (CSP) class to do several projects where they have to make something – or plan to make something – that has a real application. We have done this with Android App Inventor, creating an app that has a purpose. I don't let them make games only, but instead encourage students to look for an area of challenge in their lives or a problem in the community that could be solved with an app. Working in teams, they identify a problem, research what has been done, and develop an app.
When developing these projects, I weight the non-programming part as heavily as the programming. For example, when developing an app, we make paper mockups of our apps and actually run through a user simulation with others in the class. This emphasizes the human-computer interaction field of computer science and gives all students an equal chance to contribute. I have several students with prior programming experience in my CSP course, and projects like this level the playing field.
Another project we do in CSP is to create a website for a local community group or nonprofit. This site is ultimately shared with the organization, but the goal, again, is to show the power of computer science to get out into the world rather than being isolated in a basement or cubicle farm. While our coding skills are not up to the level of professional web developers, students can see how their ideas and work can manifest as an interesting, important part of an organization’s larger purpose. Making a website isn’t just an activity for the sake of itself but a tool to help communicate a message, gather info, inform, or entertain.
Just as with the app project, we do paper sketches of our design elements. Students need to see all the aspects of computer science to get a full idea of what is possible. The design elements, number of clicks to get to a given page of the site, look and feel of the site, and other visual elements are important pieces of web design that often get overlooked. While not all students are strong with visual design, they can all start to appreciate the design of everything around them once they tune into the fact that designers, programmers, and engineers are responsible for every element in the built and digital worlds. The fact that they can be part of that is transformative.
Today we are looking at the Maker Movement. We have been experimenting with Arduino programming, first with the Sparkfun Digital Sandboxes and now with the Sparkfun Student Inventor Kit. After students have built several of the included projects, they are developing their own project. They will describe the project, identify what parts would be needed, and give a rough sketch of the coding that would be required for this project. While we won't actually build the projects due to financial and time constraints, this gets students to think of themselves as Makers. They realize that they can make really cool projects with not a lot of coding experience.
In all of these projects with beginning programmers, I try to emphasize the creative aspects rather than the hardcore coding. Try to demystify computer science and to show how inclusive it can be.
PLTW’s blog is intended to serve as a forum for ideas and perspectives from across our network. The opinions expressed are those of each guest author.