The CodeHS AP® Computer Science A course is a year-long course designed to help students master the basics of Java and equip them to successfully pass the AP Computer Science A Exam at the end of the school year. All learning materials and resources teachers and students need for a successful year-long AP® Computer Science A course can be found on the CodeHS website. The curriculum has been pre-approved by College Board's AP Course Audit as meeting or exceeding the curricular expectations colleges and universities have for this subject.
The entirely web-based curriculum is made up of a series of learning modules that cover the fundamentals of programming. Each module is made up of short video tutorials, example programs, quizzes, programming exercises, challenge problems, and unit tests. Students write and run Java programs in the browser using the CodeHS editor. The course is designed to be taken over a year.
At the end of each unit, you will take a summative multiple choice unit quiz in the style of the AP Exam that assesses their knowledge of the Java concepts covered in the unit. Included in each lesson is a formative short multiple choice quiz.The course also provides an AP Test Practice unit with a cumulative AP Practice Multiple Choice Test and several Free Response questions.
One of the great things about taking a CodeHS course online as an individual is that you will get supported along the way from our community of CodeHS tutors. For exercises you submit, CodeHS tutors will grade the problem and provide feedback in addition to the automatic checker system. Also, if at any point you have a question, you can ask it through the site and a tutor will respond to help you get unstuck. Tutors normall answer questions very quickly, usually in a few hours.
The course is meant to be taken online as a self-paced course. We recommend setting a schedule to complete the course. Students complete the course in a wide range of time periods, but we would recommend anywhere from 4 to 8 months. You will have access to the course and tutor grading and help for a year.
The AP® Computer Science A course is a fast-paced, AP level course. While there are no official prerequisites for the CodeHS AP® Computer Science A course, we recommend that students take our Introduction to Computer Science prior to AP® Computer Science A. Students who have completed our Intro to CS course will be able to apply knowledge of concepts covered in the Intro course to the more advanced setting of the AP® Computer Science A course.
This course will prepare students for the multiple choice AP® Computer Science A examination. Each lesson comes with quizzes to test essential knowledge for the AP Exam. Each unit includes a cumulative AP style multiple choice exam to test understanding of the concepts in the unit, and provide immediate feedback to the student.
|Primitive Types:This unit introduces students to the Java programming language and the use of classes, providing students with a firm foundation of concepts that will be leveraged and built upon in all future units.|
|Using Objects:This unit builds on students’ ability to write expressions by introducing them to Math class methods to write expressions for generating random numbers and other more complex operations.|
|Boolean Expressions and If Statements:This unit focuses on selection, which is represented in a program by using conditional statements.|
|Iteration:This unit focuses on iteration using while and for loops and introduces several standard algorithms that use iteration.|
|Writing Classes:This unit focuses on identifying appropriate behaviors and attributes of real-world entities and organizing these into classes.|
|Arrays:This unit focuses on data structures, which are used to represent collections of related data using a single variable rather than multiple variables.|
|ArrayList:In this unit students will learn about ArrayList. ArrayList object has a dynamic size, and the class contains methods for insertion and deletion of elements, making reordering and shifting items easier.|
|2D Array:Students will learn about 2D Arrays. The same concepts from ArrayLists will be implemented with two-dimensional (2D) arrays in this unit.|
|Inheritance:In this unit, students will learn how to recognize common attributes and behaviors that can be used in a superclass and will then create a hierarchy by writing subclasses to extend a superclass.|
|Recursion:In this unit, students will learn how to write simple recursive methods and determine the purpose or output of a recursive method by tracing.|
The Grading Plan