Intro to CS Camp 2019

Wray Mills, 2019-06-24, Classes

coding, computer science

Description

1-week Session June 24-27, 9 - 12pm

Students will learn about the history of computing and computer science; they will review the evolving machines and the people behind them. Students will be introduced to the binary building blocks of modern computers: the binary number system, logic gates, and elementary boolean logic. They will learn about computer programming, "coding", and explore the basic concepts through: visual languages, coding games and a text-based language.

Instructors

Lead Instructor

Chris

Additional Interns/Instructors

Alex

Pre-Requisites

None

Learning Objectives

Students will...

Materials

Class

Intro To Computer Science

On the line Resources

On the line Presentations

Code Em Deck

Day 1

Setup

Presentation and iPads charged

Plan

Start the class by having everyone introduce themselves and say what their favorite thing to do with computers is. The main focus for today is an overview of the history of Computer Science and Computers. Instructors will use the [Code Em] (http://blog.techemstudios.com/decks/code-em.html) presentation to go over the history of computer science and basic computer science/coding concepts. Go over the difference between hardware and software. When introducing the concept of sequential programming, use the out of desk programmer/robot activity to demonstrate.

Then, continue the class with the hands on activity of Lightbot. Emphasize that the robot will only do what you tell it to, in the exact order you tell it (just like programming a real robot or computer). After the students have made significant progress in the Lightbot levels, stop the class to go over procedures. Explain to students how if you spot a pattern in your Lightbot code, you can put that pattern in the PROC1(Procedure 1) section to save space. The robot performs those instructions that you've put inside the PROC1 section when you tell it to with the instruction P1 in your Main section. These are called functions in computer programming.

Once the students feel comfortable with the concepts of a sequence of instructions and identifying patterns to seperate our instructions into procedures, they will be introduced to overloading. In Lightbot, overloading is the concept of having a single instruction do multiple things. The turn left instruction will always turn your robot left. Now with overloading, the light bulb instruction can do more than just light up a blue tile. If your robot is standing on an elevator tile, the light bulb instruction will raise the elevator.

Lastly, they learn about loops and how they can be used to further reduce the amount of instructions needed to complete the level.

At this point, we will take a break from Lightbot and review the concepts of functions, overloading, and loops with the class on the whiteboard.

Conclude the class with a quick review. Ask the class questions such as what is a computer program, what does it mean to be efficient, what is a function, etc.

Take a snack break when needed during the class, and be sure to record each students iPad number.

Out of Desk

In groups of two, assign one person to be the programmer and the other person to be a robot. The robot needs to get to a specific point in the room, and it must follow the verbal instructions given by the programmer. The robot can only follow the instructions they are given, and in the order they are given, or in sequence. The "code" the robot understands is move forward/backwards a certain number of steps and turn right/left a certain degree, etc. Have each group go one at a time, and write the steps given by the each programmer out on the whiteboard.

After the activity is over, ask the class which group reached their goal the quickest, or with the least amount of steps? Discuss efficiency with the class.

Hands On

The students will play the Lightbot game on the iPads to gain a better understanding of sequences and functions. Students have to program a robot using the instructions provided by Lightbot.

Students who have completed the Lightbot lessons can work on the Challenge Levels that will test their understanding of all the concepts covered so far.

Instructor Actual

We started the day off with learning about the history of computers. They were all interested in how much computers have changed since the beginning. The iPad LightBot lesson went well, and the kids seemed to be enjoying programming their robot to complete the level. While working through the Lightbot lessons, we took breaks to talk as a class about the concepts we've learned about. It has been fun watching them discover different ways to complete the levels.

Day 2

Setup

iPads given to the correct student

Plan

Review the concepts discussed yesterday (what is code, computer program, hardware vs. software, sequence, statements, functions, conditionals and loops). Introduce and explain the Binary Number system and how it is used in computer science. As a class, practice converting different numbers with the out of desk activity. Go over boolean logic.

Have the students continue to work on the Lightbot and starting exploring Hopscotch.

Go over the square Hopscotch activity in the Code Em Deck. Explain the drag and drop style of Hopscotch. Walk through the main areas of logic: controlling objects with x and y axis, move right (positive X), move left (negative X), move up (positive Y), and move down (negative Y).

Go over the basics of controlling a character in Hopscotch with direction buttons. Explain that everything is an object that doesn't know what to do yet, and as the programmer we need to give those object instructions on what to do. Demonstrate how to add other objects in Hopscotch and how to add conditionals when the main character bumps into other other objects.

If there is time left over at the end of class, have the students continue to work on one of the two apps they have learned about (Lightbot, Hopscotch).

Take a snack break when needed during the class.

Out of Desk

Students will practice converting numbers into binary using whiteboards as a class.

Hands On

Students will continue to make progress with their Lightbot lessons, and work towards completing the Challenge Levels. Students will also be introduced to the Hopscotch app.

Actual

Almost all the students have worked through and completed their Lightbot lessons. We have had a blast trying to figure out some of the Challenge Levels. It's been really forcing us to think outside the box to come up with the solution. Some time was also spent taking a break from the iPads and learning about the binary number system. After our snack break we starting having a look at the iPad app Hopscotch. They enjoyed the fact that you are able to program the objects to do whatever you want!

Day 3

Setup

iPads given to the correct student

Plan

Review all of the coding concepts from the previous two days. Then start the students off with continuing to make progress on the Lightbot levels and Challenge Levels. Have the students take a break from the screen to go over on the whiteboard the different parts needed for our first Hopscotch game we will develop.

Then, have students start to work in Hopscotch to design a Crossy Road game using the logic skills they have learned over the past two days. Talk about loops and how they will be used in the Crossy Road game.

Take a snack break when needed during the class.

Out of Desk

Deck of cards conditionals. In groups, we'll create our own game with a deck of cards. Each group will be assigned a suit (i.e. clubs, hearts, diamonds, or spades). Each group will come up with a rule as to what their group will do or say after that suit is pulled from the "main" deck. Each suit's/group's rule should be written on the whiteboard. The game will start by drawing cards from the deck. For each suit that is drawn, the corresponding group will respond with their action or verbal response. Repeat this game a couple of times, and emphasize the idea of conditions that are present within this game.

Hands On

Students will play the various coding games on the iPad.

Actual

After a little bit of Lightbot to get ourselves warmed up, we jumped into Hopscotch and programmed our Crossy Road game. We started off by implementing our directional arrows with conditional statements in order to move our character around. Then, we worked on creating our car enemies and using a loop to make the car enemies move continously across our screen. Finally, we used another conditional to add our collision event, which allowed us the ability to program the outcome of our character bumping into our car enemies. The rest of the time was spent allowing the students to personalize their games.

Day 4

Setup

Plan

Review the coding concepts learned over the past three days as a class on the whiteboard. Allow the students to add any final touches to their Crossy Road game and learn about using random in their Hopscotch games.

Hand out the instructions for creating the Flappy Birds game and discuss the main concepts of the game on the whiteboard. Students will learn about creating variables in Hopscotch, and why they are needed for our Flappy Bird game. Also, they will learn how to create their own custom instructions!

Students who have added personalizations to their games and feel like they have reached completion should find a classmate who has done the same. Trade iPads and test out each others games. When testing, see if you can spot any bugs and think about feedback you can provide for your classmate.

If there is time at the end of class, students can explore the Hopscotch Hub or create a new project. They can also go back to the Lightbot Challenge Levels.

Take a snack break when needed during the class.

Out of Desk

Transistor Activity:

Hands On

Students will finish up customizing their Hopscotch games and explore each other's creations in an effort to provide constructive feedback to their classmates.

Actual

The last day of camp was awesome! The kids have definitely gotten down Hopscotch, and it's been fun seeing what they came up with. We made it through most of the Flappy Birds activity, but I think they enjoyed Crossy Roads a bit more. There was a couple of minutes left over so those students who wanted to present their games to the class on the television got a chance to! Overall, I think the week went great, and I hope the kids came away with a better understanding of computer science.

Day 5 Project Friday!

Setup

iPads

Plan

Students will continue to work on a game or a Python activity of their choosing from the week. This is a more open ended day and will be guided by the interests of the students.

Actual

We did all sorts of things for this week's Project Friday. A couple of the students wanted to take one last crack at the Lightbot Challenge Levels, so we started off working on those. We also took some time to add to our text-based Adventure games. In the afternoon we learn about circuits, and got to mess around with breadboards and LEDs. We took another look at the small breadboard logic gate examples and reviewed our truth tables. All in all a great way to end the week!