Please enable JavaScript to use CodeHS

Arizona Software and App Design II

Java-based course for Arizona's Software and App Design CTE Pathway.

Overview & Highlights

Level
High School
Contact Hours
130
Timeframe
Year

Course Overview

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

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.
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.
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.
System Administration (needs fix for lesson item glitch)
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.
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.
Arrays
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.
ArrayLists
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.
Algorithms and Recursion
Students learn fundamental searching and sorting algorithms, as well as the important concept of recursion.
Data Structures (Duplicate Shallow)
Students learn basic data structures in Java including arrays, ArrayLists, 2 dimensional arrays and HashMaps.
2D Arrays
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.
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.
Introduction to Programming in Java with Karel the Dog
Intro to Java with Karel the Dog. Learn the basics of java commands, control structures, and problem solving by solving puzzles with Karel. This is recommended as Summer Work for students entering AP CS A, or for students who are taking AP CS A as their first programming class.
Java Pretest (Duplicate Shallow)
Java Posttest (Duplicate Shallow)
Teacher Feedback (Duplicate Shallow)
Additional Exercises (Duplicate Shallow)
Steganography Lab (Duplicate Shallow)
Steganography is the practice of concealing messages or information within other non-secret text or data. Students will use the same code from Picture Lab to explore the concepts of steganography and 2D arrays, hiding images or text inside of other images. This lab can be completed after Unit 8 2D Arrays in AP CS A Nitro, and after unit Unit 5 Data Structures in AP CS A Mocha.
Java Pretest (Duplicate Shallow)

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

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.