SFUSD PK-12 CS Scope & Sequence
 Share
The version of the browser you are using is no longer supported. Please upgrade to a supported browser.Dismiss

View only
 
ABCDEFGHIJKLMNO
1
We'd love your feedback! Please complete this short form:goo.gl/rdFx8S
2
PK-12 Scope and Sequence of Essential Computer Science Knowledge and Skills
3
grade levelPre-KK123456789101112
5
CS instructioncompulsory (for all students at all schools)elective
6
integrated CS lessons or modules taught by dedicated CS specialistsquarter-long enrichment classesExploring CSCS PrinciplesAP CS ACapstone
7
8
computational thinkingCreate algorithms, or series of ordered steps, to solve problems.
9
Decompose a problem, into smaller, more manageable parts.
10
Collect, analyze, and represent data effectively.
11
Demonstrate an understanding of how information is represented, stored, and processed by a computer.
12
Optimize an algorithm for execution by a computer.
13
Use abstraction to manage problem complexity.
14
Create simulations / models to understand natural phenomena and test hypotheses.
15
Engineer software and/or hardware solutions for real-world problems.
16
Evaluate algorithms by their efficiency, correctness, and clarity.
17
18
computing practice and programmingDemonstrate dispositions amenable to open-ended problem solving and programming
(e.g., comfort with complexity, persistence, brainstorming, adaptability, patience, propensity to tinker, creativity, accepting challenge).
19
Use hands-on learning and the physical environment to explore computing concepts.
20
Write programs using visual (block-based) programming languages.
21
Write programs using text-based programming languages.
22
Locate and debug errors in a program.
23
Read a program and translate it into English. Explain how a particular program functions.
24
Design, code, test, and execute a program that corresponds to a set of specifications.
25
Modify and create animations,
and present work to teammates.
Design, develop, publish, and present products (e.g., web pages, mobile apps, animations)
to demonstrate and communicate curriculum concepts.
26
Create web pages with a practical, personal, and/or societal purpose.
27
Identify strengths and limitations of different programming languages.
28
29
programming skillsImplement problem solutions using a programming language, including:
30
sequencemore advanced understanding
and use of programming concepts and skills
(including object-oriented programming, inheritance, encapsulation, abstraction, polymorphism)
31
iteration: simple loopswhile loopsiteration: nested loops
32
event handling & parallelism
33
conditional statements
34
randomization
35
functionsfunctions with parameters & recursion
36
variables
37
operators & logic
38
lists & arrays
39
40
examples of
suggested languages & platforms
Scratch Jr.ScratchSnap!
41
Code.org Course 1Code.org Course 2Code.org Course 3Code.org Course 4JavaScript
42
KodableMIT App Inventor
43
Lightbot, Jr.Daisy the DinosaurHopscotchPython
44
Bee-BotsTynkerAlice & StarLogo NovaJava
45
The FoosHTML & CSS
46
47
computers and communication devicesDemonstrate an understanding of the relationship between hardware and software.
48
Use input and output devices to operate computers.Identify major computer components.Describe the components and functions of computer systems and networks.
49
Describe the pervasiveness of computers and computing in everyday life.
50
Apply strategies for identifying and solving routine problems that occur during everyday computer use.
51
52
community, global, and ethical impactsUse information and technology responsibly and ethically.
53
Describe the pervasiveness of computing in daily life.Analyze the effects of computing on society within economic, social, and cultural contexts.
54
Identify careers that utilize computing and technology.
55
Describe the widespread impact of the internet in connecting people and ideas from across the world.
56
Use computing to positively impact the community.
57
58
collaborationWork cooperatively and collaboratively with peers, teachers, experts, and others.
59
Engage in pair programming, as both driver and navigator.
60
Collaboratively design, develop, publish, and present products using technology resources that demonstrate and communicate curriculum concepts.
61
Exhibit dispositions necessary for collaboration: providing useful feedback, integrating feedback,
understanding and accepting multiple perspectives, and socialization.
62
63
exemplary learning activitiesDetermine and input a series of six sequential directions into a Bee-Bot to follow the pictures of a story (e.g., Goldilocks and the three bears) from beginning to end.Determine and input a series of 10+ sequential directions into a Bee-Bot to navigate a maze or accomplish a basic task (e.g., find the sight word, avoid the opposite, find the sum of 2+3).Use basic loops to repeat a sequence of commands, in order to guide fuzz balls through a maze in Kodable.Create and present a Scratch, Jr. interactive collage involving multiple, animated characters.Create and share an animated, interactive story using sequence, loops, and event-handlers in Code.org's PlayLab.Remix a Scratch project to add and customize features. Debug a project to correct errors and achieve a given objective.Draw complex shapes and patterns by decomposing and combining smaller shapes, using nested loops and randomization.Create web pages with a practical, personal, and/or societal purpose.

Read the code behind a Flappy Bird-like game and translate it into English.
Develop a model of a local ecosystem using StarLogo Nova, to simulate predator-prey relationships and population dynamics.Use algebraic concepts to design a game that detects collisions, handles keystrokes, and determines how characters move and interact.Build, code, and test a robot that solves a stated problem.

Create a chase, escape, or platform game, and use variables to keep score.
Create an Ants vs. SomeBees action game (inspired by Plants vs. Zombies) with complicated interaction using object-oriented programming.Evaluate U.S. and world trends by develop a geographic visualization of Twitter data using lists, and data abstraction techniques to create a modular program.Design and develop an an app, game, website, or program to solve a real-world, community- based problem.
64
65
grade levelPre-KK123456789101112
66
67
notesThe items listed above provide an overview of the essential knowledge and skills to be taught in computer science modules or courses at each grade level and is not intended to be exhaustive. While also important, we have purposefully omitted skills related to utilizing technology effectively and responsibly (e.g., digital literacy, basic computing, keyboarding, creating documents/spreadsheets/presentations, digital citizenship, using technology to collaborate or access online content), as these skills should be incorporated into all classes. Additionally, the number of items included in each domain is not indicative of priority or significance.
68
69
last updated: July 14, 2015
created by: Bryan Twarek, STEM Department, Division of Curriculum & Instruction, San Francisco Unified School District (SFUSD): twarekb@sfusd.edu
Loading...