Please enable JavaScript to use CodeHS


AP Computer Science A (Mocha)

Lessons

  1. Introduction to Programming in Java with Karel the Dog

    1. 1.1 Introduction to Programming With Karel

    2. Description
    3. Objective
    4. 1.2 More Basic Karel

    5. Description
    6. Objective
    7. 1.3 Java Programs and the Run Method

    8. Description
    9. Objective
    10. 1.4 Karel Can't Turn Right

    11. Description
    12. Objective
    13. 1.5 Methods in Karel

    14. Description
    15. Objective
    16. 1.6 Top Down Design and Decomposition in Karel

    17. Description
    18. Objective
    19. 1.7 Commenting Your Code

    20. Description
    21. Objective
    22. 1.8 Super Karel

    23. Description
    24. Objective
    25. 1.9 For Loops

    26. Description
    27. Objective
    28. 1.10 While Loops in Karel

    29. Description
    30. Objective
    31. 1.11 If Statements

    32. Description
    33. Objective
    34. 1.12 If/Else Statements

    35. Description
    36. Objective
    37. 1.13 Control Structures Example

    38. Description
    39. Objective
    40. 1.14 More Karel Examples and Testing

    41. Description
    42. Objective
    43. 1.15 How to Indent Your Code

    44. Description
    45. Objective
    46. 1.16 Karel Challenges

    47. Description
    48. Objective
    49. 1.17 Introduction to Programming in Java Quiz

    50. Description
    51. Objective
  2. Basic Java

    1. 2.1 Printing in Java

    2. Description
    3. Objective
    4. 2.2 Variables and Types

    5. Description
    6. Objective
    7. 2.3 User Input

    8. Description
    9. Objective
    10. 2.4 Arithmetic Expressions

    11. Description
    12. Objective
    13. 2.5 Casting

    14. Description
    15. Objective
    16. 2.6 Booleans

    17. Description
    18. Objective
    19. 2.7 Logical Operators

    20. Description
    21. Objective
    22. 2.8 Comparison Operators

    23. Description
    24. Objective
    25. 2.9 For Loops

    26. Description
    27. Objective
    28. 2.10 While Loops

    29. Description
    30. Objective
    31. 2.11 If Statements

    32. Description
    33. Objective
    34. 2.12 Loop-and-a-Half

    35. Description
    36. Objective
    37. 2.13 Short-Circuit Evaluation

    38. Description
    39. Objective
    40. 2.14 De Morgan's Laws

    41. Description
    42. Objective
    43. 2.15 Strings

    44. Description
    45. Objective
    46. 2.16 Basic Java Quiz

    47. Description
    48. Objective
  3. Methods

    1. 3.1 Java Methods

    2. Description
    3. Objective
    4. 3.2 Methods and Parameters

    5. Description
    6. Objective
    7. 3.3 Methods and Return Values

    8. Description
    9. Objective
    10. 3.4 Javadocs and More Methods

    11. Description
    12. Objective
    13. 3.5 Strings Methods

    14. Description
    15. Objective
    16. 3.6 Strings and Characters

    17. Description
    18. Objective
    19. 3.7 Exceptions

    20. Description
    21. Objective
    22. 3.8 String Processing

    23. Description
    24. Objective
    25. 3.9 Methods Quiz

    26. Description
    27. Objective
  4. Classes and Object-Oriented Programming

    1. 4.1 Introduction to Classes and Objects

    2. Description
    3. Objective
    4. 4.2 Classes vs. Objects

    5. Description
    6. Objective
    7. 4.3 Using a Class as a Client

    8. Description
    9. Objective
    10. 4.4 Writing Classes

    11. Description
    12. Objective
    13. 4.5 Writing Classes and Instance Methods

    14. Description
    15. Objective
    16. 4.6 Getter and Setter Methods

    17. Description
    18. Objective
    19. 4.7 Class Methods and Class Variables

    20. Description
    21. Objective
    22. 4.8 Wrapper Classes

    23. Description
    24. Objective
    25. 4.9 Method Overloading

    26. Description
    27. Objective
    28. 4.10 Local Variables and Scope

    29. Description
    30. Objective
    31. 4.11 Key Terms for Classes

    32. Description
    33. Objective
    34. 4.12 Objects vs Primitives

    35. Description
    36. Objective
    37. 4.13 Inheritance

    38. Description
    39. Objective
    40. 4.14 Class Design and Abstract Classes

    41. Description
    42. Objective
    43. 4.15 Polymorphism

    44. Description
    45. Objective
    46. 4.16 Object Superclass

    47. Description
    48. Objective
    49. 4.17 Interfaces

    50. Description
    51. Objective
    52. 4.18 Ethical and Social Implications of Computing

    53. Description
    54. Objective
    55. 4.19 Classes and Object-Oriented Programming Quiz

    56. Description
    57. Objective
  5. Data Structures

    1. 5.1 What are Data Structures?

    2. Description
    3. Objective
    4. 5.2 Introduction to Arrays

    5. Description
    6. Objective
    7. 5.3 Using Arrays

    8. Description
    9. Objective
    10. 5.4 Enhanced For Loops

    11. Description
    12. Objective
    13. 5.5 ArrayList Methods

    14. Description
    15. Objective
    16. 5.6 Arrays vs ArrayLists

    17. Description
    18. Objective
    19. 5.7 Additional Loop Examples

    20. Description
    21. Objective
    22. 5.8 The List Interface

    23. Description
    24. Objective
    25. 5.9 2D Arrays (Matrices or Grids)

    26. Description
    27. Objective
    28. 5.10 Traversing 2D Arrays

    29. Description
    30. Objective
    31. 5.11 HashMaps

    32. Description
    33. Objective
    34. 5.12 Binary

    35. Description
    36. Objective
    37. 5.13 Ethical Issues Around Data Collection

    38. Description
    39. Objective
    40. 5.14 Data Structures Quiz

    41. Description
    42. Objective
  6. Blackjack

    1. 6.1 Writing BlackJack

    2. Description
    3. Objective
  7. Battleship

    1. 7.1 Battleship

    2. Description
    3. Objective
  8. Algorithms and Recursion

    1. 8.1 What is an Algorithm?

    2. Description
    3. Objective
    4. 8.2 Linear Search

    5. Description
    6. Objective
    7. 8.3 Binary Search

    8. Description
    9. Objective
    10. 8.4 Selection Sort

    11. Description
    12. Objective
    13. 8.5 Insertion Sort

    14. Description
    15. Objective
    16. 8.6 Advanced: Recursion

    17. Description
    18. Objective
    19. 8.7 Mergesort

    20. Description
    21. Objective
    22. 8.8 Informal Code Analysis

    23. Description
    24. Objective
    25. 8.9 Algorithms and Recursion Quiz

    26. Description
    27. Objective
  9. AP Test Practice

    1. 9.1 AP Practice Test 1

    2. Description
    3. Objective
  10. Final Project

    1. 10.1 Final Project

    2. Description
    3. Objective
    4. 10.2 AP Java Completed

    5. Description
    6. Objective
  11. Project: Pokemon Simulation

    1. 11.1 Pokemon Simulation

    2. Description
    3. Objective
  12. Project: Mad Libs

    1. 12.1 Mad Libs

    2. Description
    3. Objective
  13. Java Outside of CodeHS

    1. 13.1 Java Outside of CodeHS

    2. Description
    3. Objective
  14. Project: Quiz Creation

    1. 14.1 Quiz Creation

    2. Description
    3. Objective
  15. Elevens

    1. 15.1 Elevens

    2. Description
    3. Objective
  16. Magpie

    1. 16.1 Magpie Lab

    2. Description
    3. Objective
  17. Picture Lab

    1. 17.1 Picture Lab

    2. Description
    3. Objective
  18. Consumer Review Lab

    1. 18.1 Introduction

    2. Description
    3. Objective
    4. 18.2 Sentiment Value and Star Ratings

    5. Description
    6. Objective
    7. 18.3 Autogenerated Review

    8. Description
    9. Objective
    10. 18.4 Create a Negative or Positive Review

    11. Description
    12. Objective
    13. 18.5 Open Ended Activity!

    14. Description
    15. Objective
  19. Celebrity Lab

    1. 19.1 Activity 1: Introduction to Celebrity

    2. Description
    3. Objective
    4. 19.2 Activity 2: The Celebrity Class: A Simple Version

    5. Description
    6. Objective
    7. 19.3 Activity 3: Putting it All Together

    8. Description
    9. Objective
    10. 19.4 Activity 4: Extending the Celebrity Class

    11. Description
    12. Objective
    13. 19.5 Activity 5: Open Ended Activity

    14. Description
    15. Objective
  20. Steganography Lab

    1. 20.1 Activity 1: Exploring Color

    2. Description
    3. Objective
    4. 20.2 Activity 2: Hiding and Revealing a Picture

    5. Description
    6. Objective
    7. 20.3 Activity 3: Identifying a Hidden Picture

    8. Description
    9. Objective
    10. 20.4 Activity 4: Hiding and Revealing a Text Message

    11. Description
    12. Objective
    13. 20.5 Activity 5: Open Ended Project

    14. Description
    15. Objective
  21. Java Level 1 Certification Practice

    1. 21.1 Practice #1: Java Fundamentals

    2. Description
    3. Objective
    4. 21.2 Practice #2: Data Types and Lists

    5. Description
    6. Objective
    7. 21.3 Practice #3: Implementing Flow Control

    8. Description
    9. Objective
    10. 21.4 Practice #4: OOP and Other Advanced Topics

    11. Description
    12. Objective