Computer Science Unplugged Worksheets

0 views
Skip to first unread message

Mariela Coxon

unread,
Aug 3, 2024, 4:27:24 PM8/3/24
to guaganricheck

We've compiled a list of all of our unplugged lessons for you to use in your classroom. Now you can teach the fundamentals of computer science, whether you have computers in your classroom or not!

The following lessons are organized by concept and can be found in earlier versions of our CS Fundamentals courses. Additional resources you may want to consult as you plan to use these lessons include:

Computer Science Unplugged is a collection of twenty activities designed to aid the teaching and learning of computer science through engaging games and puzzles using cards, string, crayons and lots of running around. The activities introduce students to many of the underlying concepts separated from the distractions and technical details we usually see with computers. This collection of Computer Science Unplugged resources is aimed at upper primary and lower secondary school aged students but is suitable for people of all ages and has been used around the world for many years.

Computers only have a limited amount of space to hold information, so they need to represent information as efficiently as possible. This is called compression. By coding data before it is stored, and decoding it when it is retrieved, the computer can store more data, or send it faster through the Internet. This...

Data in computers is stored and transmitted as a series of zeros and ones. In this activity students explore how words and numbers can be represented using just these two symbols. This resource includes ideas teachers can use to introduce the topic in order to develop understanding of the binary system followed by...

Your Ultimate Guide for Elementary Unplugged Coding Activities includes 20+ projects that teach real coding concepts while emphasizing computer science mindsets - all with minimal prep and zero tech devices required.

How can you teach coding without computers? The key is to provide hands-on, engaging learning experiences that encourage children to think like a coder. This means projects that foster resilience, critical thinking, logical reasoning, and creative problem solving skills for students- the same skills used by computer scientists every day!

Coding Connection: When creating paper animals, a clear sequence of instructions will help save time and minimize mistakes. This is also true for computer code, because a computer needs step-by-step instructions written in code to perform tasks.

Coding Connection: The treasure finder needs very clear instructions for how to find the treasure, just like computers need very clear and concrete algorithms to execute their tasks.

Coding Connection: A condition is an exception to a rule. The way a program runs is based on rules and conditions, just like how real world events can change based on certain conditions too!

Coding Connection: The outcome of the game is determined by the conditions set before it starts. The same is true in coding, where the outcome of a computer program is determined by the conditions outlined in the code.

Coding Connection: Many songs have a hook or chorus that includes the exact same lyrics and repeats in multiple places throughout the song. Similarly, there are certain lines of code that a programmer might want to repeat throughout a program. To do this, they use a function!

Coding Connection: Each bead represents a line of code. Programmers will often want to use certain lines of code again and again throughout a program, so they store that code in a function. The repeating bead pattern is one easy way to visualize this process!

Computer Science (CS) Unplugged is an outreach program designed to introduce several key concepts of computational thinking. The original CS Unplugged activities, developed by Tim Bell at University of Canterbury, use a hands-on approach through games, puzzles, magic tricks, and competitions to teach computer science concepts without the use of a computer. The activities are designed to engage students and serve as a vehicle to learn the foundations of computing without the complication of using the computer. We have created a set of lesson plans for teachers to use in middleschool classrooms. These are also available from NCWIT as Computer Science-in-a-Box: Unplug your Curriculum.

I'm guessing everyone here, high school teachers at least, have spent at least one period in the past year working with a class when you either don't have working computers or a working internet connection.

Worksheets - I use 'em, but I don't really like 'em. I do keep a set of worksheets printed though just in case nothing is working. They're generic enough that it really doesn't matter what topic we're on. And they work well for emergency sub plans.

CS Unplugged - I 've got the count the dots activity printed out. One set on normal sized paper for me to demo with and a dozen sets printed on business cards for students to practice with.

There are lots of great activities at CS Unplugged that do not require a computer. Excellent activities in their own right, you don't have to wait for the days when systems are out. Well worth exploring these resources.

Plenty of scope for debating broader moral and ethical issues around CS, including AI: What should Audi's programmers and managers have done? Should end-to-end encryption be available? What rules should a self-driving car be programmed to follow?

Describe some small amount of code that could be written to the students (like, "imagine we are creating a recursive method that returns the number of even numbers in our linked list", or "create a method that will print the letters of a phrase scrambled by evens, and then odds, so "hello, world" would print "hlo olel,wrd". Ask them to come up with as many test cases as they can for the unwritten method in 120 seconds. (Test cases are hard!) Spend some time writing good student results on the board together. (Did they test for an empty string? A null list? A singleton string?, etc...)

Part One: One volunteer comes to the front of the class. She sees a simple drawing on a piece of paper of several shapes (triangle, square, circle in one example) next to each other with slight spaces in between them. Everyone else in class has merely a blank sheet. Her task is to get them to reproduce what only she sees. The catch is that everyone else in class has to think like a computer and make no assumptions. Saying "draw a circle" or "make a line" won't accomplish the task. (Side note: this could be a great way to differentiate imperative and declarative languages, but that's a separate topic.) Computers need to be told to put pen to paper, lift pen, etc.

Part Two: A different volunteer comes to the front of the room. The task is reversed. Everyone else has a drawing in front of them, and they need to communicate with the volunteer to get her to draw it properly on the whiteboard in the front of the room. The same rules apply. Classic "bugs" that come up here are not instructing the student to take the cap off the pen and not having her lift her pen correctly to complete the drawing, which is typically a stick figure with a word bubble message.

I have a load of bags of matchboxes (I bought like 1,000 plain white ones from Amazon). Each bag has about 16 matchboxes, and each one has letters drawn on to it. They can just grab a bag for each pair of kids and demonstrate searching and sorting, really easily.

I am currently undergoing (albeit painfully) a Computer Science GCSE. I really enjoy the coding and the computer side of it, compared to things such as planning and testing. Especially documenting tests.

Now, when our teacher told us that we were doing this, a collective groan rose from the class. No-one wants to be writing out how to do basic tasks, right? And yet, having now done 3 or 4 lessons on it, I feel as though it has really improved the way I look at a task and break it down.

I kept a copy of Amelia Bedilia around to read, when I was at a school where the power would go out. If the power was out long enough, we would do pseudocode algorithms, or something of that sort until the power turned back on.

I also had a set of identical LEGO cars and kept one set of instructions, and did sort of a network simulation to have groups build the cars by carrying instructions from the "server" (who had the one set of instructions).

I also keep some of what Dan Meyer calls "Tiny Games" in my back pocket, for any time that the internet is down or we can't get on computers. Not all of them are explicitly CS related, but I think the logical thinking is useful. -math-games/

A kind of fun one might be to have a little kit of electronic components handy - transistors, LEDs, a couple of batteries, as fits the size of your class. You can build logic gates and then use these to build, say a half-adder, or whatever, and start abstracting from there, to introduce computer architecture, or you can use it to solve some sort of simple problem, or introduce truth tables, or whatever. It's also a fairly compact thing to store for those unfortunate occasions.

To fill the knowledge gaps in the current literature, this review aims to provide a clear picture and deep understanding of the current state of CT and unplugged activities in education to synthesize and summarize previous work, focusing on landscape, methodology, and design of unplugged activities to foster CT skills. In addition to the literature review, we conducted a meta-analysis with evidence of the effectiveness of unplugged activities on the development of CT skills.

In addition to the definitions, various CT frameworks were also proposed. For example, Brennan and Resnick (2012) stated that CT has three key dimensions: computational concepts, computational practices, and computational perspectives. Kalelioglu et al. (2016) developed a framework for teaching CT skills via a problem-solving process. Weintrop et al. (2016) categorized CT into four major groups: data practices, modeling and simulation practices, computational problem-solving practices, and systems thinking practices. More recently, Tsai et al. (2020) indicated that CT could be understood from either domain-general or domain-specific perspectives. The domain-general refers to the competencies required for methodically solving problems in daily life and across all learning domains. By contrast, the domain-specific characterizes computational thinking as abilities necessary to systematically address problems in the subject domain of computer science or computer programming (Tsai et al., 2020).

c80f0f1006
Reply all
Reply to author
Forward
0 new messages