Middle School Coding 1a: Introduction
Do you find yourself wondering how your favorite apps, websites, and games were made? Maybe you want to try building your own. Well, now you can! In Middle School Coding 1a, you will get an introduction to the basics of computer science, HTML, CSS, JavaScript, and Python. You’ll leave the course with a portfolio of work you can show off.
Units at a Glance
Unit 1: Crack the Code!
Got problems? No problem! Computers can be used in many ways to help us solve problems, but they’re not the answer to everything. Sometimes good old human ingenuity is the key. We’ll begin by solving some puzzles and exploring a secret computer that might be hiding in your home! Then, we’ll crack some code with the help of a little green friend. When we harness the power of algorithms, code, and turtles—yes, turtles! —we can accomplish some really incredible things. Let’s go code!
What will you learn in this unit?
- Create algorithms to solve word games and puzzles
- Identify the components of a computer system
- Define the term algorithm and explain how it applies to computers
- Distinguish between problems that are better suited for humans to solve than computers and vice versa
Unit 2: There’s Nothing “Soft” about Software!
Are you ready for some more coding fun? Well, get your fingers warmed up because we are going to be practicing our typing skills! Programmers like you need to use keys on the keyboard that some people will never use. We don’t want to go on a scavenger hunt every time we need to type a curly bracket or backslash, so let’s learn them now! But typing is not the only thing you’ll need to be a successful computer scientist. We’re going to see how software can improve your life and the lives of others. You’ll also get some hands- on experience with creating a database for a local deli. Sandwich, anyone?
What will you learn in this unit?
- Define the term “software” and explain how software helps businesses perform tasks
- Understand why file types are necessary and describe the content contained in different file types
- Compare and contrast types of software and recommend the software that’s best suited for a task
- Improve keyboarding skills by typing frequently using symbols in code
- Explain the purpose of a database and perform common database operations
Unit 3: Let’s Play!
From turtles to software to databases to typing, we’ve covered a lot of ground so far. You’ve prepared well, and now you’re ready to start learning how to code. But it won’t feel like work—the opposite, in fact! You’ll be having so much fun creating characters and stories that you might wonder whether you’re just playing around. You will use a block-based programming website to help you control a program and learn some of the foundations of coding. You’ll also find and fix problems in a program. And, who knows? There might just be a flying dragon (yes, another reptile!) or a speeding car in your future. Let’s get ready to play!
What will you learn in this unit?
- Learn how to code with block-based programming
- Create simple programs in Tynker
- Define and apply the three main programming constructs—sequence, selection, and iteration
- Debug a program
Unit 4: It’s All Greek to Me!
Did you know that there are other ways of counting numbers besides the way we normally count? Did you also know that a computer is only able to understand two numbers—0 and 1? Get ready to think like a computer and dive into the details of how words, pictures, and music are actually stored as numbers. We’ll then explore how programming languages can interact with a computer and what each language has in common. Finally? A lesson on how to clean your house. Now grab your broom, and let’s get swept away with coding languages!
What will you learn in this unit?
- Describe how and why computers use binary
- Convert between binary and decimal number systems
- List and discuss the four components of programming languages
- Identify and use two common approaches for program design
Unit 5: Snake Charmer
It’s finally the moment we’ve all been waiting for! We have laid a solid foundation and are now ready to embark on our first adventure of writing code. We are going to face the snake and begin learning the ins and outs of the Python programming language. We’ll combine some of the components of programming languages with our lightning-fast code-typing skills. We will also write some basic (but fun!) text games. And we’ll end by placing ourselves in the role of a project manager.
What will you learn in this unit?
- Comfortably use an online IDE to write code
- Use variables containing different data types and correctly type cast
- Receive and process user input
- Understand the role of a project manager
- Create documents using word processing software
Unit 6: Flexing Our Python Muscles!
Now that you’ve whet your appetite for more coding challenges, get ready to take your Python skills to the next level! We are going to learn how to control our code by using if statements. We’ll get a bit dizzy with loops, using them to make a game and a program to generate secure passwords. You will surely be inspired to go even further with your Python coding skills, creating new and exciting programs to share with family and friends!
What will you learn in this unit?
- Regulate the flow of a program by using if statements
- Understand and use for loops to repeat a block of code a specific number of times
- Understand and use while loops to repeat a block of code until a condition is satisfied
- Increment a variable to keep count
Required Materials
Physical
- Device that can record video or audio
Software
- Word processing software
- Obvibase (requires login)
- Scratch (requires login)
- Lucidchart (requires login)
- OnlineGDB (requires login)
- Google Docs (requires login)