Introduction to Computer Science in Python

K12 CS Framework Aligned

CodeHS

CodeHS is a comprehensive teaching platform for helping schools teach computer science including K-12 curriculum, IDE, coding LMS, and more!

The CodeHS Introduction to Python course teaches the fundamentals of computer programming as well as some advanced features of the Python language. Students use what they learn in this course to build simple console-based games. This course is equivalent to a semester-long introductory Python course at the college level.

The entirely web-based curriculum is made up of a series of learning modules that cover the fundamentals of programming. Each module is made up of short video tutorials, example programs, quizzes, programming exercises, challenge problems, and unit tests. The course is designed for a year long class that meets 5 days per week, though schools implement it in a variety of ways.

View course information: codehs.com/info/curriculum/intropython

K12 CS Framework Components

Grade Band:
6-8
Concept:
Algorithms and Programming
Sub-Concept:
Algorithms
Statements:
Algorithms affect how people interact with computers and the way computers respond. People design algorithms that are generalizable to many situations. Algorithms that are readable are easier to follow, test, and debug.
Grade Band:
6-8
Concept:
Algorithms and Programming
Sub-Concept:
Variables
Statements:
Programmers create variables to store data values of selected types. A meaningful identifier is assigned to each variable to access and perform operations on the value by name. Variables enable the flexibility to represent different situations, process different sets of data, and produce varying outputs.
Grade Band:
6-8
Concept:
Algorithms and Programming
Sub-Concept:
Control
Statements:
Programmers select and combine control structures, such as loops, event handlers, and conditionals, to create more complex program behavior.
Grade Band:
6-8
Concept:
Algorithms and Programming
Sub-Concept:
Modularity
Statements:
Programs use procedures to organize code, hide implementation details, and make code easier to reuse. Procedures can be repurposed in new programs. Defining parameters for procedures can generalize behavior and increase reusability.
Grade Band:
6-8
Concept:
Algorithms and Programming
Sub-Concept:
Program Development
Statements:
People design meaningful solutions for others by defining a problem’s criteria and constraints, carefully considering the diverse needs and wants of the community, and testing whether criteria and constraints were met.
Grade Band:
9-12
Concept:
Algorithms and Programming
Sub-Concept:
Algorithms
Statements:
People evaluate and select algorithms based on performance, reusability, and ease of implementation. Knowledge of common algorithms improves how people develop software, secure data, and store information.
Grade Band:
9-12
Concept:
Algorithms and Programming
Sub-Concept:
Variables
Statements:
Data structures are used to manage program complexity. Programmers choose data structures based on functionality, storage, and performance tradeoffs.
Grade Band:
9-12
Concept:
Algorithms and Programming
Sub-Concept:
Control
Statements:
Programmers consider tradeoffs related to implementation, readability, and program performance when selecting and combining control structures.
Grade Band:
9-12
Concept:
Algorithms and Programming
Sub-Concept:
Modularity
Statements:
Complex programs are designed as systems of interacting modules, each with a specific role, coordinating for a common overall purpose. These modules can be procedures within a program; combinations of data and procedures; or independent, but interrelated, programs. Modules allow for better management of complex tasks.
Grade Band:
9-12
Concept:
Algorithms and Programming
Sub-Concept:
Program Development
Statements:
Diverse teams can develop programs with a broad impact through careful review and by drawing on the strengths of members in different roles. Design decisions often involve tradeoffs. The development of complex programs is aided by resources such as libraries and tools to edit and manage parts of the program. Systematic analysis is critical for identifying the effects of lingering bugs.
Curriculum Directory Sponsored by BNY Mellon