App Lab: Introduction

The lesson introduces App Lab, a user-friendly platform for creating and testing apps, ideal for both beginners and those with some coding experience. It covers the App Lab interface, including the design and coding sections, and explains how to utilize various toolbox commands to build apps efficiently. Additionally, it highlights features like debugging, sharing projects, and managing multiple screens, encouraging users to explore their creativity and share their creations.
Lots of Sprites
In this lesson, students learn how to use sprites—characters or objects in animations and games—to create interactive projects. They explore how to manipulate multiple sprites simultaneously or individually using event blocks, enabling unique interactions such as changing size or responding to touches. By practicing with sprites, students can develop their coding skills and unleash their creativity in designing engaging games and simulations.
Hour Of Code Walkthrough

The Hour of Code is an initiative inviting 10 million students across the U.S. to participate in a fun, one-hour introduction to computer science during Computer Science Education Week from December 9th to 15th. With a variety of engaging tutorials available, including options that utilize popular tools like Scratch and Minecraft, participants can learn at their own pace, regardless of prior experience. This event aims to address the growing demand for computer science jobs and encourages collaboration through both online and unplugged activities.
The 2015 Hour Of Code

The 2015 Hour of Code was a global event organized by code.org, where over 50 million students participated in learning coding, highlighting its importance as a foundational skill for future opportunities. Coding empowers individuals to create games, websites, and apps, fostering creativity and problem-solving abilities. The event inspired many students to continue exploring coding, encouraging them to discover new passions and possibilities in the digital world.
CS in Algebra: Contracts

In this lesson, students learn about the concept of contracts in programming, which serve as instructional guides for functions by detailing their name, domain, and range. Using the triangle function as an example, the lesson emphasizes the importance of understanding the types of data a function expects and returns, allowing for greater flexibility in programming. Students are encouraged to document their own function contracts in a log, which will aid in their development of more complex programs.
Guide to Make Lessons

In the “Guide to Make Lessons,” students apply their coding skills to develop an app with a pre-existing user interface but minimal code. The lesson emphasizes collaboration, encouraging students to work together and support each other while programming, and provides a structured approach to problem-solving. As the year progresses, the level of support can be adjusted to foster greater independence, culminating in a creative project that showcases their learning.
Teacher Tips: The EIPM Process

The EIPM model, which stands for Explore, Investigate, Practice, and Make, is an effective teaching approach that emphasizes the importance of explore lessons in fostering student understanding and engagement. These hands-on activities allow students to connect with key concepts without the distraction of technology, building a strong foundation for future learning. As students progress through the EIPM process, they leverage their existing skills to create and innovate, ultimately deepening their comprehension of complex subjects like computer science.
Unplugged: The Big Event

In the lesson “Unplugged: The Big Event,” students learn about events and how they control programs through simple actions like clicking or pressing buttons, similar to playing a video game. By using a paper controller, they can visualize and understand how events make programs interactive and fun, encouraging creativity as they design their own buttons and actions. The lesson emphasizes the importance of events in making digital experiences engaging and encourages students to explore events in the programs they use daily.
CSA: Column-Major Traversals

This lesson focuses on column-major traversal of 2D arrays, where data is accessed column by column, making it useful for tasks like analyzing students’ quiz scores over multiple days. The traversal is implemented in Java using two nested loops: the outer loop iterates through columns while the inner loop processes each row within those columns. Understanding this method can improve data manipulation efficiency and is particularly beneficial in scientific computing and data analysis.
CSA: Sorting Algorithms

This lesson introduces the fundamental concept of sorting algorithms in computer science, highlighting three key methods: selection sort, insertion sort, and merge sort. Selection sort organizes data by repeatedly finding the smallest element, insertion sort builds a sorted list incrementally, and merge sort employs a divide-and-conquer strategy for efficiency with larger datasets. Understanding these algorithms is essential for software engineers to effectively manage and optimize data organization in applications.