Please enable JavaScript to use CodeHS

New

Utah Computer Programming 2

Utah Computer Programming 2 introduces students to more advanced programming concepts. Students will learn to create more powerful programs using functions, strings, data structures, file i/o operations, and objects. Students apply these skills in individual and team projects, then explore cyber ethics and security, artificial intelligence and prompt engineering, and computer science careers.

Activities in this course require student access to third party AI tools including ChatGPT; Gemini; Microsoft Copilot; Google AI Experiments (Quick, Draw!, etc.); Google Say What You See.

Please review the tools listed in the course syllabus.

Overview & Highlights

Level
High School
Contact Hours
90
Timeframe
Semester

Course Overview

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

MODULES - 10

  • Functions and Exceptions

    Students learn how their programs can be decomposed into smaller pieces that work together to solve a problem.

  • Strings

    Students learn more sophisticated strategies for manipulating text in their programs.

  • Project: The Game of Pig

    Students program a classic two-player game played with a 6 sided die.

  • Creating and Altering Data Structures

    Students learn how tuples and lists are formed and the various methods that can alter them.

  • Project: Guess the Word

    Students write a program for a word guessing game.

  • File I/O

    Students learn to read, write, and process information from text files.

  • Classes and Objects

    Students learn the principles of object-oriented design.

  • Ethics and Cybersecurty

  • Intro to AI

    In this module, students will gain an understanding of the main concepts and vocabulary around AI.

  • Exploring CS Careers

    Students learn potential career paths in the field of computer science.


51
Lessons
37
Videos
119
Exercises
6
Challenges
68
Offline Handouts

Demo Programs

Explore programs that your students will build throughout this course!

Standards Alignment

Showing frameworks for your state
Standards Framework Alignment
Utah Computer Programming 2 100% View

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.

FAQ

Frequently Asked Questions

Is Utah Computer Programming 2 aligned to Utah's updated Computer Programming standards?

Yes. This is CodeHS's updated Utah Computer Programming 2 course, rebuilt for Utah's revised Computer Programming standards, and it covers them in full.

How is this different from Utah Computer Programming 1 and the year-long course?

CodeHS offers the Utah Computer Programming curriculum in three configurations built from the same content, so schools can pick whichever fits their schedule. Utah Computer Programming 2 is the second semester and begins at functions. Utah Computer Programming 1 is the first semester and covers programming fundamentals through loops, which is what students are expected to know before starting this course. Utah Computer Programming 1 and 2 is the full year in a single course.

What should students already know before starting this course?

Students should be comfortable writing Python programs that use variables, user input, conditionals, and loops. Completing Utah Computer Programming 1 or an equivalent introductory programming course is the expected preparation. No prior experience with functions, data structures, or object-oriented programming is needed, since the course teaches each of those from the beginning.