Background

INSPIRE

Computer Science Academy 01

Activity Breakdown

Lecture Speed

I strongly recommend you watch lectures at 1.25 speed or higher if you feel comfortable enough doing so! I talk pretty slow, so 1.25 means minimal lag time and you spend more time doing the activity rather than hearing me talk!

In a YouTube video, go to the bottom right > Settings > Speed > 1.25 or higher (this is really common @ Berkeley with webcasted lectures.)

That said, this is not a race. If you're having trouble understanding me at higher speeds, slowing it down is totally fine.

Persevering

Coding is difficult and its okay if you don't understand something right off the bat. Still, I'd like you to try your best and work through parts that seem hard because understanding on your own why something didn't work is one of the best ways to learn! Don't ask how to do something right away without at least trying to struggle through it on your own for a bit. At a certain point, if you realize you don't understand something and are still stuck, that's when I want you to ask for help finishing!

Introductory Video

Activity 0: Getting to know you!

Feedback

Lecture 0

Welcome, Logistics, What is CS, Abstraction, and Intro Demo

I'd like you to respond to the Activity 0 Poll at the top, and let me know if you've ever done any computer programming before, and some other background stuff. If you're having trouble posting a follow up, ask the TA to help you!

Activity 1: "Lost on the Moon"

Activity Feedback

Welcome to programming!

Computer Science is all about finding new ways to solve problems. One way we do this is by breaking down large problems, which seems intimidating at first, into much smaller more manageable pieces. This process is called abstraction, but we'll take a closer look at that in the future.

In this activity, we'll be putting your problem solving skills to use. Put on your thinking caps boys and girls, because Houston we have a problem and we need your help!

Keep in mind there is no right or wrong answer. The goal is to thing logically and come up with your own solution, and then be able to defend that answer. Make sure to discuss the problem with your neighbors and most importantly, have fun!

If you're not understanding something, ask a TA or your neighbor for help. If you think its a question a lot of people could potentially be confused by, also post it on Piazza for me to answer.

Before continuing on to the next activity, please submit answers to the poll for Activity 1 above, as well as any questions about the material or confusing situations you encountered.

Activity 2: "Flappy Bird!"

Activity Feedback

Lecture 1

Object-Oriented Programming

Computer Science is all about telling your computer what you need it to do for you. In this activity, you'll be telling your computer how to "handle" things like clicks (the bird should flap) and crashes (the game should end).

This is your first introduction to something called Object-Oriented Programming which I'll discuss in depth later, but which is super important. Basically, everything in a game that you interact with is an Object. Your bird is an object, the background is an object, the pipes are all individual objects, etc.

The nice thing about Objects is that you can change them and do things to them really easily! In this activity, you'll be working with objects by dragging and dropping code to make the popular smartphone game, Flappy Bird.

Before continuing on to the next activity, please submit answers to the poll for Activity 2 above, as well as any questions about the material or confusing situations you encountered.

Activity 3: "Loopy Birds, Scared Pigs, and Dynamite"

Activity Feedback

Lecture 2

Concise Code- Functions and Loops

Now that we've had the chance to work with objects, we're going to get our feet wet with an activity that allows us to manipulate objects however we want.

For that, we're going to use functions in more depth than last time (all we did was make flappy flap his wings whenever there was a click). This activity will be harder than the last one, but also should help you learn quite a bit of CS, so keep working hard!

If you're having trouble completing each puzzle, you can always reset the puzzle from the top right of the screen. If you're stuck and would like a hint, the bottom left contains videos and hints for that puzzle.

If you still don't understand, ask a TA or your neighbor for help with the puzzle. If you think its a question a lot of people could potentially be confused by, also post it on Piazza for me to answer.

Before continuing, please submit answers to the poll for Activity 3 above, as well as any questions about the material or confusing situations you encountered.

Activity 3.5: "Plants vs. Zombies"

Activity Feedback

Did you like activity 3? If you did, or just want some more practice with looping, this is an add-on activity designed to reinforce a lot of the principles you were taught and give you some extra practice with important concepts.

This activity is intended to bridge the gap in skill levels so if you're slightly ahead, you have something to do while everyone gets all caught up.

If the TA calls for your attention and asks the class as a whole to move on, leave the activity open in a new tab to come back to at the end of the workshop if you have time (this is just extra practice after all!).

If you're having trouble completing each puzzle, you can always reset the puzzle from the top right of the screen. If you're stuck and would like a hint, the bottom left contains videos and hints for that puzzle.

If you still don't understand, ask a TA or your neighbor for help with the puzzle. If you think its a question a lot of people could potentially be confused by, also post it on Piazza for me to answer.

Before continuing, please submit answers to the poll for Activity 3.5 above, as well as any questions about the material or confusing situations you encountered.

If you still finished early and are waiting for everyone to catch up, check out this cool extension of the demo we watched earlier.

Activity 4: "Unplugging"

Activity Feedback

Following Directions Quiz

In this activity, you guys are going to have a chance to try to give your teacher instructions on how to make a peanut and butter and jelly sandwich!

Sounds easy right? Although giving instructions may seem simple at first, there is always a lot of room for misinterpretation. Try to be as specific as possible, and hopefully you'll end up with something that's somewhat edible!

After the activity, discuss what problems you ran into while trying to give instructions in English. This is a problem computer scientists faced when first trying to create a way to give computers directions. Do you guys have any idea how they solved this problem? I'll give you a hint -- it's a whole new language, and it isn't Pig Latin.

This activity may get frustrating at times, but make sure to persevere! If you ever run into problems, discuss it with the people around you or ask your TA.

Lecture 3

Watch this lecture after completing the activity!

From PB&J to Pacman - Programming Languages

Before continuing, please submit answers to the poll for Activity 4 above, as well as any questions about the material or confusing situations you encountered.

Activity 5: "To Victory We March"

Activity Feedback

Congrats on making it to the last real activity!

This is going to be a super (ridiculously) long activity so that you can pursue CS for a quite a bit longer if you so choose.

We've covered a lot of ground so far: Objects, functions, loops, conditionals (if/else statements), and variables, but we've only worked with drag-and-drop blocks up till now. The reason for this is that drag-and-drop is a lot more intuitive and easy to work with for beginners than large blocks of complicated code. But that all changes now, because I trust you guys have learned enough to handle this (and its just super fun and cool to see your code in action).

Special Instructions:

  • Class code: EastSickDay

  • Create an account with your email address!:)

If you're not understanding something, ask a TA or your neighbor for help with the puzzle. If you think its a question a lot of people could potentially be confused by, also post it on Piazza for me to answer as a follow up to the Activity 5 post.

Before continuing, please submit answers to the poll for Activity 5 above, as well as any questions about the material or confusing situations you encountered.

Activity 6: "Wrapping it all up"

Feedback

Nice job making it to the end!

Congrats on getting here, and I hope you've learned a ton over the last couple hours :)

I'm really excited to turn something very similar to this 3 hour workshop into something much bigger and I hope I've convinced you that something like that will be well worth coming to.

I also hope I've inspired in you guys the same love of CS that I found when I first discovered all the wonderful and empowering things you can do with computer programming.

You guys have gotten a brief taste of this amazing subject and I'm really looking forward to seeing you all blossom into fantastic Computer Scientists!

Here's one final video to wrap everything up and give you a little sneak peak of what you'll be able to do witih Computer Science in the future!

Lecture 4

Demo and Conclusion

Once again, please take a moment to fill out our final feedback form above on the workshop as a whole!

Resources

If you're still interested and looking for resources, here are some that should keep you busy

© 2017 Paradigm Shift made with by our awesome team