Please enable JavaScript to use CodeHS

Rhode Island Computer Science Principles in Python

Rhode Island Computer Science Principles course introduces students to the foundational concepts of computer science and programming in Python. With a unique focus on creative problem solving and real-world applications, students are challenged to explore how computing and technology can impact the world.

Overview & Highlights

High School
Contact Hours

Course Overview

To view the entire syllabus, click here or click to explore the full course.

Introduction to Programming
Karel is a dog that only knows how to move, turn left, and place tennis balls in his world. You can give Karel these commands to instruct him to do certain things. We use Karel to show you what it means to program, and allow you to focus on problem-solving.
Programming with Python
Students learn the basics of Python, including variables, user input, control structures, functions with parameters and return values, and basic graphics, and how to send messages to objects.
Python Control Structures
Students learn how to use booleans and logical operators with control structures to make more advanced programs in Python.
Functions and Parameters
Students learn how to write reusable code with functions and parameters.
Cybersecurity and You
In this module, students delve into key areas such as personal data collection, the reliability of online information, cyber ethics and laws, personal data security, cybersecurity essentials, and strategies to combat common cyber threats and their prevention, equipping individuals with the knowledge to navigate the digital landscape responsibly and securely.
Basic Data Structures
Students will learn the basics of lists in Python while exploring tuples and lists. Students will explore how to create each of these and the various methods to access or alter them.
Students explore using computational tools to store massive amounts of data, manipulate and visualize data, find patterns in data, and pull conclusions from data.
Creative Development
Students learn the theory and practice of user interface design. Students learn about what makes an engaging and accessible user interface and will employ an iterative design process including rapid prototyping and user testing to design and develop their own engaging programs.
Project: Mastermind
Students use their knowledge of lists, functions, variables, and control structures to create a basic Mastermind game where players must guess a generated sequence of numbers.
System Administration
Students compare and contrast common operating systems (Windows, Linux, OS) and explain the importance of application security. Students investigate security options and implement user accounts to enforce authentication and authorization. Students also demonstrate how to work with basic and advanced command prompts.
IT Concepts
In this unit, students explore the structure and design of the internet and networks, and how this design affects the reliability of network communication, the security of data, and personal privacy. Students will learn how the Internet connects computers all over the world by use of networking protocols.
IT Infrastructure
Students learn about the physical elements of computers and networking, such as motherboards, RAM, routers, and the use of port numbers, ethernet, and wireless devices.
Final exam for the course.

Offline Handouts

Demo Programs

Explore programs that your students will build throughout this course!

Course Resources

Here are a few examples of teacher resources and materials to use in the Rhode Island Computer Science Principles in Python course


Rhode Island Computer Science Principles in Python is aligned with the following standards

Standards Framework View Alignment
Rhode Island 9-12 View (94.1%)

Customizable Assignments

Create and organize Assignments in any CodeHS course that you're teaching. You can even add custom assignments to pre-existing CodeHS courses.

Learn More

Actions for Teachers

Didn’t find what you were looking for? Here are a few links that might be useful to you.