Please enable JavaScript to use CodeHS

New

IB Computer Science Higher Level (Year One)

This course will facilitate the learning and project creation processes for students enrolled in the Higher Level section of their International Baccalaureate Diploma Programs. This is the first course in a two-year sequence.

Overview & Highlights

Level
High School
Contact Hours
145
Timeframe
Year

Course Overview

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

Introduction to Programming in Java with Karel the Dog
In this module, students learn the basics of java commands, control structures, and problem solving by solving puzzles with Karel.
Design Thinking
This module introduces students to the theory and practice of user centered design.
Project: Put it in Writing!
In this project, students develop a training policy that informs employees on matters of network security and details the company policy on preventative measures employees should take.
Digital Information
Students learn about the various ways to represent information digitally including number systems, encoding data, programmatically creating pixel images, comparing data encodings, compressing and encrypting data.
Networking
Students explore the structure and design of the internet, and how this design affects the reliability of network communication, the security of data, and personal privacy.
Primitive Types
Students learn about writing the main method and start to call preexisting methods to produce output. Students learn about three built-in data types and learn how to create variables, store values, and interact with those variables using basic operations.
Computer Organization
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.
Using Objects
Students learn how to create and use classes and objects. This unit builds on students’ ability to write expressions by introducing them to Math class and String methods to write expressions for generating random numbers and other more complex operations.
Boolean Expressions and if Statements
Students learn the syntax and proper use of conditional statements in Java, as well as how to implement Boolean variables in their programs by writing Boolean expressions with relational and logical operators.
Iteration
Students learn how to use iteration to improve the reusability and speed of their programs. Students evaluate which iterative structures should be used in a given context, and build programs that require them to choose the iterative structure that works best.
Writing Classes
Students learn how to create and implement complex classes and objects.
Array
Students learn about how to use and manipulate data in the form of arrays. Students explore the limitations of primitive data types in the context of storing data, and develop programs that use arrays to store and search for data.
ArrayList
Students learn about the limitations of arrays, and are introduced to a new data structure - ArrayLists. Students are asked to compare the two data structures and implement programs that utilize each.
2D Array
Students learn how to store data in increasingly complex ways by introducing them to the 2D arrays. Students learn standard algorithms to utilize and search 2D arrays, as well as ways to use them effectively in their programs.
Recursion
Students learn how to write simple recursive methods and determine the purpose or output of a recursive method by tracing.
Exam Practice
Students apply their knowledge to complete IB-related exam practice questions.
Inheritance
Students learn how to recognize common attributes and behaviors that can be used in a superclass and create hierarchies by writing subclasses to extend a superclass.
Classes and Object-Oriented Programming
In this module, students learn the basics of Object Oriented Programming in Java, which is a powerful programming paradigm. Students learn how objects store data and interact with each other in Java programs. Students design and implement classes and extend classes using inheritance.

160
Lessons
142
Videos
432
Exercises
8
Challenges
197
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 IB Computer Science Higher Level (Year One) course

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.