Please enable JavaScript to use CodeHS


Arizona Software and App Design II

The Arizona Software and App Design II Course is intended to teach students the fundamentals of developing, implementing, and evaluating computer software and program applications. Students will be using the Java programming language as they develop efficient algorithms, data structures, error handling techniques, and version control best practices. Over the course of the school year, students will collaboratively and independently design, develop and implement programs using these foundational skills.

Overview & Highlights

High School
Contact Hours

Course Overview

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

Networks and the Internet
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.
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.
Computer Systems and Software Management
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.
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.
Data Structures
Students learn basic data structures in Java including arrays, ArrayLists, 2 dimensional arrays and HashMaps.
Algorithms and Recursion
Students learn fundamental searching and sorting algorithms, as well as the important concept of recursion.
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.

Offline Handouts

Demo Programs

Explore programs that your students will build throughout this course!

Professional Development

Teaching AP® Computer Science A

Learn how to lead a successful AP® Computer Science A class with CodeHS. The Teaching AP® Computer Science A professional development course prepares teachers to teach AP® Computer Science A with a focus on the Java programming language. Teachers will practice the skills they need to teach tricky concepts, debug programs, answer questions, and lead a blended classroom.

View Units CodeHS PD Options


Arizona Software and App Design II is aligned with the following standards

Standards Framework View Alignment
Certiport IT Specialist Java View (100%)
Arizona CTE Software and App Development View (74.3%)

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.