You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Intro to Computer Science teaching resource (curriculum map)
Materials and preparation resources can be found in each of the lesson pages.
Pacing guidance: 1 Day is a 55 minute class period.
Protected content such as unit quizzes, quiz answer keys, project sample solutions can be accessed from the TEALS Dashboard in Additional Curriculum Materials.
Support documents
Template Syllabus: Feel free to use this template to build a syllabus for your class.
Apply programming skills to create an animated movie, play, nursery rhyme, or other scene. Practice good debugging skills to correct issues as they arise while scripting.
Define loop in a programming context. Explain why loops are useful. Implement simple repeat and forever loops. Apply loops to reduce redundancy in a program.
Define the terms Abstraction and Generalization. Recognize opportunities to improve algorithms by abstracting or generalizing parts into sub-procedures.
Apply loops, variables, and Boolean expressions to implement a Super Mario Bros. style platform game. Practice good debugging skills to correct issues as they arise while scripting.
Traverse a list, accessing each element one at a time.Perform operations combining all elements in a list. Select defined subsets of elements in a list.
Traverse a list, accessing each element one at a time. Perform operations combining all elements in a list. Select defined subsets of elements in a list.
Apply lists to implement a complete version of Guess My Word. Exercise good programing practices to produce a program that is not only functional but also elegant and well-written.
Demonstrate the difference between sprite and global variables. Explain how cloning and prototyping simplify similar sprites in the same program. Create prototype sprites and clones of the prototype sprite. Explain the difference between a "master" sprite and a "clone" sprite.
Use cloning to implement a complete version of "Space Invaders". Exercise good programing practices to produce a program that is not only functional but also elegant and well-written.
Identify the key considerations when designing a piece of software. Describe methods for prioritizing features, use cases, and/or scenarios. Explain why design and planning are necessary steps in the software engineering process.
Identify potential users, intended impact, and possible unintended negative consequences. Generate ideas to create range of possibilities using a brainstorm technique. Conduct user-centered research to understand design opportunities and barriers. Critically analyze factors when choosing between project ideas. Prioritize proposed project ideas using the identified factors.
Define key user-scenarios for a project and the features required to implement each scenario. Explain the importance of wire framing when designing an application. Capture key scenarios using sketches - (hand drawn, or with drawing tool). Refine design based on user-centered research.
Break down, and identify the main technical components needed for the functional project specifications (scenarios). Explain the purpose of each technical component. Develop the project idea into a full, detailed specification. Create a plan that includes specific steps or a list of bite-sized tasks. Estimate time required for tasks.
Apply the skills developed throughout the course to implement a medium* to large-scale software project. Realistically evaluate progress during software development and identify when cuts are necessary. Prioritize features and scenarios and choose which should be eliminated or modified if/when resources and/or time become limited. Record time taken for tasks, and lessons learned in the process, to help refine estimates. Record iterations of prototyping.
Share their progress, invite feedback, collaboration, and if applicable, prepare a marketing pitch. Decide on how and with whom to promote and share their project. Critically evaluate the design process, their ability to work effectively, including the ability to implement project management processes. Identify new design issues, including how they or others might build on their concept. Identify and evaluate their skills, and things to learn in the future. Analyze the role and impact of their project idea, and similar technologies, in societal change. Consider how cultural beliefs, values, and ethical positions affect the development and use of technologies.