Intro to Computer Science Scope and Sequence
Intro to Computer Science is an online, interactive course for middle school students providing coverage of both programming and digital literacy concepts found in state and national middle school standards. The course includes interactive lessons, application exercises, adaptive keyboarding lessons, and an interactive development environment to teach key programming concepts in Python. The development environment includes small coding challenges, debugging practice and short quizzes to test understanding. Programming lessons end with a coding exercise in which students create their own project applying the skills learned. In addition to basic coding principles, students learn how to animate objects, play sounds and use mouse and keyboard input. The curriculum includes detailed lesson plans and other support materials to ensure teachers can teach coding concepts even if they have no previous experience with coding themselves.
More information can be found here.
This course is divided into 6 mini-units that cover core digital literacy skills and 4 longer units focused on developing programming skills. The digital literacy units may be taken together at the beginning or interspersed through the programming units and can be taken in any order. The longer programming units should be taken in order.
DIGITAL LITERACY MINI-UNITS
Computer Fundamentals
This mini-unit contains items that develop basic digital literacy in computer hardware and software.TITLE | DESCRIPTION | KEY TOPICS | TIME (MINUTES) |
---|---|---|---|
Computer Fundamentals: Operating Systems and Browsing | In this interactive digital lesson, the learners receive direct instruction and practice in the area of operating systems and browsing as they gain knowledge about computer and mobile device operating systems, graphical user interfaces, icons, apps, and how to find files and folders. | operating systems; user interface; files/folders | 25 |
Software Fundamentals: Software, Buttons, and Controls | This interactive digital lesson provides direct instruction and practice related to various types of software. The learners will gain knowledge about types of software, how to select the appropriate software to complete a task, and how to use the buttons and controls found in software. | software; common software controls | 25 |
Input, Output, and Files | In this lesson, teachers use the discussion points to help students understand the concepts of computer fundamentals such as input, output, and processing devices, analog vs. digital information, storage devices, and file formats. | input; output; data storage | 30 |
Hardware Fundamentals: Mobile Devices are Technology To Go | In this interactive lesson, students receive direct instruction and practice with mobile devices (smartphones and tablets) that have built-in browsers, apps, and connect to a wireless computer or cell phone network. Students are introduced to in-app purchases and ad-supported apps, limiting push notifications, and reviewing the terms, privacy policies, and practices of all apps. | mobile devices | 15 |
Hardware and Software Fundamentals: Networking | During this interactive digital lesson, the learners will receive direct instruction and practice related to the basic components and functions of a network as they gain knowledge about file sharing and storage, compatibility, and ethical use of networks. | networks; file sharing | 25 |
Network Compatibility | In this lesson, teachers use the discussion points to help students understand the concepts of LANs and WANs, cross-platform connectivity, file format issues, and using help menus. | LAN; WAN; file format | 30 |
Hardware and Software Fundamentals: Computing in the Cloud | In this interactive digital lesson, the learners receive direct instruction and practice with cloud computing as they explore what cloud computing is and understand that cloud services can automatically synchronize and save data across multiple devices. | cloud computing | 15 |
Keyboarding and Word Processing
This mini-unit contains items that develop basic digital literacy in keyboarding and word processing.TITLE | DESCRIPTION | KEY TOPICS | TIME (MINUTES) |
---|---|---|---|
Keyboarding: Keyboard Layout and Keyboarding Procedures | In this interactive digital lesson, the learners receive direct instruction and practice in the layout of the keyboard, correct keyboarding procedures, proper posture and technique, and are introduced to digital keyboarding standards as they work to increase their accuracy and speed. | touch keyboarding | 25 |
Adaptive Keyboarding: Urban Keyboarding Explorer | This interactive app uses diagnostic exercises to provide learners with individualized touch-typing practice to address areas of weakness and help improve accuracy and speed at any skill level. Learners receive badges for specific achievements during their keyboarding adventure. | touch keyboarding | 15 |
Word Processing: Overview of Basic Skills | In this interactive digital lesson, the learners organize a script as they receive direct instruction and practice with word processing skills. They will locate and open recent documents, copy, cut, paste, save, print, and use the bold, italic, and underline buttons to emphasize text. | basic word processing | 15 |
Word Processing: Creating Professional Documents | The learners will receive direct instruction and practice using proofreading and organization tools to make professional documents. They will check for and correct spelling, grammar, and punctuation errors, include page numbers and bullets, and utilize auto-correct in this engaging and interactive digital lesson. | basic document formatting | 15 |
Word Processing: Visual Design | Through direct instruction and practice in this engaging and interactive digital lesson, the learners will use color, vertical alignment, page layout, indents, margins, borders, and orientation in the design of websites, magazines, book covers, and logos to impact a reader's interpretation of information. | page layout; visual document design | 15 |
Tools of the Trade | In this lesson, students will pay attention to specific text and image formatting techniques as they create hypothetical welcome packets designed to provide valuable information to visitors of their town. | page layout; document design | 90 |
Computational Thinking
This mini-unit contains items that develop computational thinking skills.TITLE | DESCRIPTION | KEY TOPICS | TIME (MINUTES) |
---|---|---|---|
Computational Thinking: Algorithmic Problem Solving | The learners receive direct instruction and practice with algorithmic problem solving and computational thinking. They will identify algorithms, inputs and outputs, construct problem statements, and use sample cases, abstraction, and decomposition to analyze problems in this interactive digital lesson. | algorithmic problem solving; inputs/outputs; decomposition; abstraction | 15 |
Exploring the World Through a Disability | This activity allows students to learn about algorithms by experiencing what life could be like with a disability. Students will create their own algorithms and research adaptive technology that people with disabilities must utilize in order to complete everyday tasks. | algorithms | 60 |
Computational Thinking: Models and Simulations | The learners analyze and evaluate algorithmic processes through modeling and flowcharts, and use simulations as tools to test different variables and conditions as they receive direct instruction and practice with the modeling process and computational thinking in this interactive digital lesson. | modeling; flowcharts; simulations | 15 |
The Perfect Park | In this application exercise, the student takes on the role of an architect. The student is presented with the task of creating a community's ideal park with a budget of $750,000. The student is provided with a list of the community's requirements and budget and the student creates an illustrated model of the community park. The student utilizes a data model by creating a spreadsheet of the park costs. Finally, the student creates a flowchart that decomposes the task of seeking community approval for the park. | modeling | 120 |
Computational Thinking: Implement and Test | The learners receive direct instruction and practice with algorithms, the testing process, and computational thinking as they find ways to simplify and clarify the algorithmic process, develop testing methods for algorithms, find errors, and improve the efficiency of algorithms in this interactive digital lesson. | algorithms; testing | 15 |
Egg-cellent Egg Drop | The implementation and testing component of computational thinking challenges students to be innovative and reflective of their work. In this exercise, students will utilize the "Use-Modify-Create" method to create a safe landing for their egg drop. | use-modify-create | 90 |
Algorithmic Problem Solving Unit Quiz | This quiz gives students an opportunity to demonstrate their understanding of algorithms and modeling. Students will know what an algorithm is and what information is needed in order to create and test an algorithm. Students will understand and use important vocabulary used in algorithms and computer programming. | (quiz) | 15 |
Internet Usage and Online Communication
This mini-unit contains items that develop basic digital literacy in Internet usage and online communication.TITLE | DESCRIPTION | KEY TOPICS | TIME (MINUTES) |
---|---|---|---|
Online Safety: Dealing with Cyberbullying | The learners receive direct instruction and practice dealing with cyberbullying as they understand how to treat everyone with respect, avoid gossip, and the effects of cyberbullying. Learners are introduced to privacy settings and blocking messages as a way to respond to cyberbullies, and to whom to reach out for help in this interactive digital lesson. | cyberbullying | 15 |
Internet Usage: Ethical Use of Digital Resources | The learners receive direct instruction and practice identifying reliable, valid online information, accurately citing resources, identifying sources within the public domain or covered by creative commons, and requesting permission to create a derivative work in this interactive digital lesson. | copyright; information validity; citing sources | 15 |
Internet Usage: Navigating the World Wide Web | During this interactive digital lesson, the learners will receive direct instruction and practice navigating a website's URL, bookmarking a website for faster future access, and troubleshooting page errors and Internet connectivity issues as they use webpages. | navigating websites; URL | 15 |
Internet Usage: Being a Global Citizen with Mapping Tools | The learners receive direct instruction and practice in mapping technology such as using interactive online maps for driving and public transportation directions, satellite, street view, and GPS technology for navigation, and how maps can help solve logistical problems in this interactive digital lesson. | mapping tools | 15 |
Booking Brian's Vacation | In this lesson, students (acting as travel agents) will research travel times and locations for when their friend, Brian. Students will not only use various mapping applications to calculate the costs associated with Brian's visit, but will utilize their knowledge of writing informational texts to create an itinerary for their time together. | online tools | 60 |
Online Communication: Sharing Safely Online | The learners will receive direct instruction and practice with Internet safety as they use smart practices for public online communication tools like blogs, forums, and media sharing sites, and understand the permanent nature of publishing information online in this interactive digital lesson. | Internet safety | 15 |
Online Communications: Communicating with Instant Messaging | The learners will receive direct instruction and practice collaborating via instant messaging (IM) as they communicate clearly, safely, and successfully online, use proper netiquette and responsible Internet safety practices during this interactive digital lesson. | netiquette | 15 |
Online Communications: Reading and Writing Blogs | In this interactive digital lesson, the learners will receive direct instruction and practice using critical thinking skills as they use Web logs to communicate ideas effectively, read and write blogs, and practice responsible use of blog information and software. | blogs | 18 |
Online Communication: Communicating with Podcasts | In this interactive digital lesson, the learners will receive direct instruction and practice planning, producing, and promoting podcasts as they recognize ethos, pathos, and logos in speech, effectively communicate ideas to an audience, and use podcasts to produce other creative works. | podcasts | 15 |
Presentations
This mini-unit contains items that develop basic digital literacy in presentation software.TITLE | DESCRIPTION | KEY TOPICS | TIME (MINUTES) |
---|---|---|---|
Presentations: Basic Slide Show Elements | During this interactive digital lesson, the learners will receive direct instruction and practice using basic presentation software tools and elements, such as text and graphics, to design an eye-catching and easy-to-read presentation. | presentation software | 15 |
Presentations: Consistency and Visual Design | In this interactive digital lesson, the learners will receive direct instruction and practice using a variety of presentation tools with consistent design elements and themes to ensure a slide show presentation looks professional and conveys information in a focused and interesting way. | designing a presentation | 15 |
Presentations: Motion Design | During this interactive digital lesson, the learners will receive direct instruction and practice with advanced features and tools in presentation software to gain a better understanding of how and when to use transitions and animations, add notes to slides, and use slide show preview. | animations; transitions | 15 |
Supergeek | Students investigate troubleshooting strategies and practice following steps to troubleshoot common problems with technology. They summarize what they have learned in a digital product to help younger students address computer problems. | presentation software | 15 |
Spreadsheets and Databases
This mini-unit contains items that develop basic digital literacy in spreadsheets and databases.TITLE | DESCRIPTION | KEY TOPICS | TIME (MINUTES) |
---|---|---|---|
Spreadsheets: Parts and Navigation | The learners will receive direct instruction and practice with components and navigation of a spreadsheet as they navigate cells, rows, and columns, enter, select, and organize data, and select groups of cells and entire rows and columns in a spreadsheet in this interactive digital lesson. | spreadsheet software; cells, rows, columns | 15 |
Spreadsheets: Analyzing Data | This interactive digital lesson provides direct instruction and practice using spreadsheet software to analyze data. The learners will create, label, and modify pie charts, bar graphs, and line graphs to effectively read, interpret, and communicate information. | charts; graphs | 15 |
Spreadsheets: Formulas | The learners will receive direct instruction and practice identifying a cell's row and column location, entering mathematical formulas in cells, and copying and pasting formulas across multiple cells in spreadsheets in this interactive digital lesson. | formulas in spreadsheets | 15 |
Spreadsheets: Sharing and Filtering | The learners receive direct instruction and practice organizing and analyzing spreadsheet data as they add and remove filters, save and store spreadsheets, use wrap text, scroll and freeze panes, and collaborate and share through cloud computing and web-based software in this interactive digital lesson. | filtering spreadsheets; sharing documents | 15 |
Planning a Project | Students create rubrics to evaluate a product and the process used to complete the product. | project planning | 60 |
Databases: Creating and Maintaining a Database | In this engaging and interactive digital lesson, the learners will receive direct instruction and practice in planning, creating, and maintaining a database as they define fields and types, add and edit data and properties, and filter records using Boolean logic. | databases | 25 |
PYTHON PROGRAMMING UNITS
Intro to Codesters
Intro to Codesters is five lessons long and provides a brief overview of the coding environment in which students will be working.CURRICULUM TITLE | DESCRIPTION | KEY TOPICS | TIME (MINUTES) |
---|---|---|---|
Building Your First Program | In this introductory lesson, students will learn to use the Codesters environment to create their first program by creating a scene with a background, sprite, text, movement, and interactivity. | backgrounds; sprites; click events; debugging | 90 |
Codesters in Space | In this lesson, students will learn to use the (X,Y) Coordinate Plane to move a sprite around a stage that uses the background as context for creating a short animated scene. | placing objects; parameters; debugging | 90 |
Shapes and Drawings | In this lesson, students will learn to change the variable names and parameters of shape objects to create a picture of a house. | variables; parameters | 90 |
Chat with Your Sprite | In this lesson, students will create an interactive program that uses user input to control elements of the program. The sprite will appear to have a dialogue with the user. | using text; user input; variables; conditionals | 90 |
Recycling Loop | In this lesson, students will use loops, lists and variables to understand looping behavior. | variables; lists; loops | 90 |
Intro to Python – Part 1
Intro to Python Part 1 contains 20 lessons and begins to cover more programming concepts in the Python language. It covers topics such as variables, loops, if statements, lists, functions and events.CURRICULUM TITLE | DESCRIPTION | KEY TOPICS | TIME (MINUTES) |
---|---|---|---|
Dance Steps | In this initial lesson, students will begin to understand order in programming and learn to troubleshoot when the instructions within a program are out of order. | sequencing; debugging | 90 |
Robot Design | In this lesson, students will understand that parameters define shapes and they will learn to define a shape using parameters. | parameters; strings; integers | 90 |
Dialogue | In this lesson, students will learn how to use dot notation to organize the actions of multiple sprites. | dot notation; sequencing | 90 |
Roll the Dice | In this lesson, students will learn how to create and apply a variable to their program. | variables | 90 |
Star Variables | In this lesson, students will create and utilize variables to make a program more efficient. | variables; data types | 90 |
My Friends | In this lesson, students will combine two values of the same data type to communicate a story. | variables; string concatenation | 90 |
Math and Computation | In this lesson, students will learn to create a calculator to determine the area of a shape. | variables; math operators; converting data types | 90 |
Bonus Lesson | In this lesson, students will show mastery of early programming standards. | (review) | 90 |
Spiral | In this lesson, students will learn to use a for loop to repeat commands. | for loops; loop ranges | 90 |
Variables and Loops | In this lesson, students will create and store temporary values as they change it through iterations in a loop. | for loops; iterating variables | 90 |
User Input | In this lesson, students will collect and store user input to be used in a story. | user input; string concatenation | 90 |
Intro to If Statements | In this lesson, students will use if statements to generate a story based on user input. | user input; if statements | 90 |
Tim the Wizard | In this lesson, students will learn to randomize a response to user questions using if statements and random number generation. | user input; if statements; random number generator | 90 |
Begin Rock, Paper, Scissors | In this lesson, students will create a program that accepts and displays user input, and shows a randomly generated computer response. | user input; if statements; random number generator | 90 |
Who Won Rock, Paper Scissors? | In this lesson, students will compare user answers to randomly generated computer answers and have their programs determine a win, loss, or tie from these comparisons. | comparing user input; testing code | 90 |
Lists | In this lesson, students will create and structure lists using list operations and getters. | lists | 90 |
Guess the Number | In this lesson, students will construct a guessing game by building a for loop with a counter in range. | for loops; counters; ranges; break | 90 |
Password | In this lesson, students will learn to create a guessing game by building a loop that accesses each value in a list. | initializing variables; looping through a list | 90 |
Midterm: Which Sprite | Students will learn to create a quiz program by synthesizing and applying the programming concepts mastered during Intro to Python Part 1. | creating models; (review) | 90 |
Midterm: Create Your Own Quiz | In this lesson, students will plan and build a unique quiz program synthesizing the programming concepts mastered during Intro to Python part 1. | (review) | 90 |
Intro to Python – Part 2
Intro to Python Part 2 contains 20 lessons and continues where Part 1 left off. It covers functions, indexes, events, data types, program design and game mechanics.CURRICULUM TITLE | DESCRIPTION | KEY TOPICS | TIME (MINUTES) |
---|---|---|---|
Changing Scenes | In this lesson, students will learn to write and call simple functions without parameters. | writing functions; calling functions | 90 |
Dance Moves | In this lesson, students will write functions and call them while paying attention to the order in which functions are called. | writing functions; calling functions | 90 |
All Mixed Up | In this lesson, students will use indexes to reference lists and reorganize lists. | lists; indexes | 90 |
Party Invitations | In this lesson, students will create functions with parameters and use them to create a format for a party invitation. | functions with parameters | 90 |
Secret Code | In this lesson, students will create an encoder that takes in messages and outputs a coded message. | manipulating lists | 90 |
Around the Solar System | In this lesson, students will calculate the weight of objects as a percentage of their weight on earth using returns and functions with parameters. | floats; functions with return values | 90 |
Dance Off | In this lesson, students will use events to create a player-controlled dance routine. | creating events and event handlers | 90 |
Astronaut Rescue | In this lesson, students will use collision events to define game play. They will use event handlers to call specific sprites and assign them different roles in collisions. | collisions; event handlers | 90 |
Save the Moon! | In this lesson, students will learn that an interval event is called not by a user action, but by a specific amount of time passing. | global variables; interval events; keeping score | 90 |
Whack-a-Shark | In this lesson, students will use interval events, random choice, and click events to create a Whack-a-Mole style game. | random number generator; win conditions | 90 |
Dino Dodge | In this lesson, students will create a game that uses a mouse move and interval event to control game play. They will use collisions and changing variable values to determine game length. Students set physics values to control movement of particular objects on the stage. | game physics; timers | 90 |
Refactoring | In this lesson, students will learn to revise code and make use of new structures like functions and loops. | refactoring code | 90 |
Turtle Traffic | In this lesson, students will learn to write functions for use in events. | functions | 90 |
Zombie Kitten Attack! | In this lesson, students will learn to create a side-scroller game where the user controls the background movement to give the appearance of constant movement. | stage physics; loops | 90 |
Rocky Road | In this lesson, students will create a game that uses probability to generate hazards and goals. They will use interval events and falling objects to give the appearance of motion. | game physics; probability of events | 90 |
Final Project - Day 1 | This is the first in a five-lesson final project in which students will design, build, test and refine a game or an interactive story. In this part, students will reflect on the concepts learned previously and brainstorm ideas for a final project in small groups. | final project: brainstorm | 90 |
Final Project - Day 2 | In this second lesson for the final project, students will create a paper prototype of their idea for a final project and gather feedback on it. | final project: paper prototype | 90 |
Final Project - Day 3 | In this third lesson for the final project, students will begin to create their game or interactive story in the Codesters environment. | final project: first draft | 90 |
Final Project - Day 4 | In this fourth lesson for the final project, students will continue working on their game or interactive story. They will spend time testing their solution, reviewing another student’s project, and providing feedback on the other student’s project. | final project: final build and testing | 90 |
Final Project - Day 5 | In this final lesson for the final project, students will present their game or interactive story to the class. They will also reflect on what they have learned throughout the class and project. | final project: present, play, and reflect | 90 |
Intro to Game Design
Intro to Game Design has 10 lessons and helps students apply the skills learned in Intro to Python Part 1 to create a different type of game in each lesson. Intro to Game Design covers topics such as taking turns, moving objects, collisions, random numbers, avoiding hazards, and getting points.CURRICULUM TITLE | DESCRIPTION | KEY TOPICS | TIME (MINUTES) |
---|---|---|---|
Adventures of Star Hedgehog | In this lesson, students will use event keys, collision events, a global timer and a scoreboard to create a game where a character collects goal objects. | key events; variable scope; collision events; timer and scoring | 90 |
Earth Day | In this lesson, students will use lists and random choice commands to create sprites with random images to use as goals and hazards in their game. | lists of strings; random number generator; game hazards | 90 |
Feed the Fish | In this lesson, students will use the physics toolkit to create a falling-object type of game. | game physics; leaving the stage | 90 |
Flappy Dino | In this lesson, students will use the physics toolkit, interval-event, and random number generators to create a flappy-bird style, perpetual motion game. | game physics | 90 |
Alien Scroller | In this lesson, students will create an extra-long stage background to create a side scrolling type of game. | scrolling stage; goals and hazards; win conditions | 90 |
Brick Breaker | In this lesson, students will recreate the classic brickbreaker-style game using physics, random speed settings, and a collision event. | nested loops; collision events | 90 |
Basketball | In this lesson, students will create a pull-and-shoot style game using stage physics and event keys. | += iteration; key events | 90 |
Pictionary | In this lesson, students will create a Pictionary-style drawing game for two players. | mouse events; lists; drawing | 90 |
Sprite Volleyball | In this lesson, students will create a two-player volleyball/ pong-style game that uses key events, stage physics and boundaries as hazards. | two-player games | 90 |
Codebreaker | In this lesson, students will create their own version of a Mastermind-style board game. | nested loops; while loops; defining functions | 90 |