One of the things that I have enjoyed most about teaching Computer Science this year is teaching the theory element of the course. This has enabled me to experiment with a number of different strategies and try out some exciting new tools. Here are just some of my favourites: Strategies 1. Unplug your lessons Although the idea of teaching Computer Science without the use of computers may seem strange, I can honestly say that some of my best lessons have been those where I haven’t used any computers at all. A great example of this, and one that epitomises this approach, is the Binary Numbers activity courtesy of CS Unplugged. A video showing this approach in action can be found here: Unplugged: The show. Part 2: Binary counting Other examples:
2. DART your students Don’t worry, it’s not as bad as it sounds. For those new to DART (Directed Activity Related to Text), it is a strategy designed to support literacy. It focuses on the strategies of skimming, scanning and gap fill. The purpose of this DART activity is to give the students a brief overview of the main features of the CPU. Instructions:
A great example of the use of DART to support the teaching of computer science can be found here: CPU Dart Activity 3. Start a Socratic Debate Another approach I have used to teach computing theory with great success is Socratic debate. Socratic debates are great for covering controversial or thought provoking issues e.g. social, ethical and legal issues surrounding the use of computers. How it works: Students are initially split into teams to research a topic. After some initial research, the teams are then asked to compile their best arguments and choose a team leader (Spokesperson). Each team leader is then asked to come to the front and the teacher chooses one student to start the debate. Before the debate starts, the teacher gives each of the remaining students a piece of paper with a question or mission written on it (each aimed at different levels of ability) which they must complete during the debate e.g. "Who gave the most persuasive argument boys or girls and write down some examples" or "Who used quotes or acknowledged sources in their arguments and give examples". This way everyone is involved during the debate. At the end of the debate, students are chosen at random to reveal their question or mission to the rest of the class and to respond with their answer or observation. A great way to finish off a Socratic debate is to follow with a quick Pose, Pause, Pounce & Bounce activity. Example: Pose a question to the whole class e.g. Explain why a computer with a 4Ghz (6MB cache) processor would not be twice as fast as a 2Ghz (6MB cache) processor. Pause to give students time to digest the question and think of their answer. If the students are engaged, try holding the pause for a little while longer to build up the tension. Pounce: Quickly, select a student to answer the question. i.e. Insist the answer to the question comes from student A and possibly student B, directly and fast! Obviously, plan in your mind who you are going to direct the questions to before hand. Bounce the question or student's response on to another student (immediately after the pounce). e.g. Ask them if they agree with the students previous answer and to explain why. 4. Take your screwdrivers to work Possibly one of the most popular, and probably the most hands-on, topic in Computer Science theory is how do computers work! I find that this is a great excuse to grab some old computers and a set of screwdrivers and take the old computers apart. As the students take each computer apart, you can get them to label or photograph each component and write a brief description. These can then be used to create an interactive wall display (see using QR codes) or uploaded to a VLE / Wiki to form part of a revision resource (see flipping your classroom and creating Pecha Kuchas). If you are feeling really brave, you could challenge your students to put the computers back together and switch them on to see if they will boot up! To see an example of how this could work, check out this blog post: Teaching Computer Science: Day 1 - The day I took my screwdrivers to work. 5. Flip your classroom What is classroom flipping? If you are new to the idea of the flipped classroom, the concept is simple: the flipped classroom essentially reverses the traditional way of teaching i.e. what is usually done in the classroom, such as lectures, is done as homework and what is usually done as homework is done in the classroom. The benefit of this model, particularly for teaching Computer Science, is that the teacher can spend more time interacting with students. There are a number of tools and strategies to facilitate classroom flipping. Here are just a few of my favourites:
6. Create a Pecha Kucha I came across this little gem at a recent TeachMeet. The aim of Pecha Kucha is to encourage the presenter to be more concise and a little more creative with their presentations. Each presentation must contain no more than 20 slides and each slide must last for 20 seconds. It’s suggested that the presentation consist mainly of images, photos, or graphics with little to no text. The idea is that each image should advance the story and emphasize the key points. Pecha Kuchas are ideal for creating revision resources and can also be used to flip your classroom. To find out more about Pecha Kuchas, click here. 7. Use QR codes What are QR codes? A QR code (short for Quick Response Code) is a machine-readable code made up of black and white squares. QR codes are designed to enhance printed material such as: books, magazines, programmes and guides or even displays at museums and heritage sites. Using an array of free apps and online tools, you can quickly and easily create your very own multimedia-rich QR experiences which can be triggered from a web enabled device. Suggestions for using QR codes:
For more examples of how to use QR codes to teach computing theory, click on the links below: 8. Games Based Learning Game based learning (GBL) is the process of using games to achieve a defined set of learning outcomes. Games that generate data e.g. Kinect Sports and Mario Kart are great for teaching Maths and Statistics. Games that tell a story are great for developing creative writing. Puzzle games can develop problem solving and physics based games such as Angry Birds can be used to explain velocity and momentum. One game I have used to great affect in Computer Science is Top Trumps. An example of this can be seen here: Teaching Computer Science: Day 3 - Top Trumps (Storage Devices) 9. Gamify your lessons. Gamification is the process of introducing game-like elements into a traditionally non-gaming contexts to make them more fun and engaging. Gamification strategies include elements such as gamifying grading, incentivising students with rewards and adding competitive elements such as leaderboards. Zondle (Zondle.com) incorporates many of the game mechanics that embody gamification methodology, mechanics such as earning zollars (zondle dollars) and the use of leaderboards to keep students engaged. Zondle enables teachers and students to create games to support their learning. Teachers create and set topics on the zondle website for their students to play in games of their choosing. Students can also use the zondle to create their own topics to match exactly what they want to learn. To find out more, visit: Teaching Computer Science: Day 17 - Testing times! (Binary representation of data) 10. Design a game Game design, as the name suggests, is the process of planning the content and rules of a game. It also includes the design of gameplay, environment, storyline and even characters. A great way to engage students in a subject or topic is to get them to create a game to teach others that topic. Students don’t have to have any programming / coding skills to design the game however, game design does lend itself well to the teaching of computing / computer science, in particular Programming theory. Thankfully, there is an abundance of online tools to support game design – not all of them requiring experience or knowledge of coding:
Tools
1. Presentation tools
2. Collaborative tools
3. Text-to-Speech
4. Infographics
5. Quiz making tools
6. Classroom response tools
Tags: GCSE, Computer Science Related: GCSE Theory Resources |
AuthorSimon Johnson Microsoft Innovative Educator Expert / MIE Trainer
Minecraft Cert. Educator / Global Mentor
CAS Master Teacher
Raspberry Pi Cert. Educator
Tickle Ambassador
Archives
June 2017
CategoriesAll Algorithms Cpu Fundamentals Hardware Input & Output Memory OCR A451 Software Storage |