Please enable JavaScript to use CodeHS


AP Computer Science A (Nitro)

Lessons

  1. Primitive Types

    1. 1.1 Why Programming? Why Java?

    2. Description
    3. Objective
    4. 1.2 Variables and Data Types

    5. Description
    6. Objective
    7. 1.3 Expressions and Assignment Statements

    8. Description
    9. Objective
    10. 1.4 Compound Assignment Operators

    11. Description
    12. Objective
    13. 1.5 User Input

    14. Description
    15. Objective
    16. 1.6 Casting and Ranges of Variables

    17. Description
    18. Objective
    19. 1.7 Primitive Types Quiz

    20. Description
    21. Objective
  2. Using Objects

    1. 2.1 Objects: Instances of Classes

    2. Description
    3. Objective
    4. 2.2 Creating and Storing Objects (Instantiation)

    5. Description
    6. Objective
    7. 2.3 Overloading

    8. Description
    9. Objective
    10. 2.4 Calling a Void Method

    11. Description
    12. Objective
    13. 2.5 Calling a Void Method with Parameters

    14. Description
    15. Objective
    16. 2.6 Calling a Non-void Method

    17. Description
    18. Objective
    19. 2.7 String Objects

    20. Description
    21. Objective
    22. 2.8 String Methods

    23. Description
    24. Objective
    25. 2.9 Wrapper Classes: Integers and Doubles

    26. Description
    27. Objective
    28. 2.10 Using the Math Class

    29. Description
    30. Objective
    31. 2.11 Using Objects Quiz

    32. Description
    33. Objective
  3. Boolean Expressions and if Statements

    1. 3.1 Boolean Expressions and if Statements

    2. Description
    3. Objective
    4. 3.2 if Statements and Control Flow

    5. Description
    6. Objective
    7. 3.3 if-else Statements

    8. Description
    9. Objective
    10. 3.4 else if Statements

    11. Description
    12. Objective
    13. 3.5 Compound Boolean Expressions

    14. Description
    15. Objective
    16. 3.6 Equivalent Boolean Expressions

    17. Description
    18. Objective
    19. 3.7 Comparing Objects

    20. Description
    21. Objective
    22. 3.8 Boolean Expressions and if Statements Quiz

    23. Description
    24. Objective
  4. Iteration

    1. 4.1 Iteration

    2. Description
    3. Objective
    4. 4.2 For Loops

    5. Description
    6. Objective
    7. 4.3 Developing Algorithms Using Strings

    8. Description
    9. Objective
    10. 4.4 Nested Iteration

    11. Description
    12. Objective
    13. 4.5 Informal Code Analysis

    14. Description
    15. Objective
    16. 4.6 Iteration Quiz

    17. Description
    18. Objective
  5. Writing Classes

    1. 5.1 Writing Classes

    2. Description
    3. Objective
    4. 5.2 Constructors

    5. Description
    6. Objective
    7. 5.3 Documentation with Comments

    8. Description
    9. Objective
    10. 5.4 Accessor Methods

    11. Description
    12. Objective
    13. 5.5 Mutator Methods

    14. Description
    15. Objective
    16. 5.6 Writing Methods

    17. Description
    18. Objective
    19. 5.7 Static Variables and Methods

    20. Description
    21. Objective
    22. 5.8 Scope and Access

    23. Description
    24. Objective
    25. 5.9 this Keyword

    26. Description
    27. Objective
    28. 5.10 Ethical and Social Implications of Computing

    29. Description
    30. Objective
    31. 5.11 Writing Classes Quiz

    32. Description
    33. Objective
  6. Array

    1. 6.1 Array

    2. Description
    3. Objective
    4. 6.2 Traversing Arrays

    5. Description
    6. Objective
    7. 6.3 Enhanced for Loop for Arrays

    8. Description
    9. Objective
    10. 6.4 Developing Algorithms Using Arrays

    11. Description
    12. Objective
    13. 6.5 Array Quiz

    14. Description
    15. Objective
  7. ArrayList

    1. 7.1 ArrayList

    2. Description
    3. Objective
    4. 7.2 ArrayList Methods

    5. Description
    6. Objective
    7. 7.3 Traversing ArrayLists

    8. Description
    9. Objective
    10. 7.4 Developing Algorithms using ArrayLists

    11. Description
    12. Objective
    13. 7.5 Searching

    14. Description
    15. Objective
    16. 7.6 Sorting

    17. Description
    18. Objective
    19. 7.7 Ethical Issues Around Data Collection

    20. Description
    21. Objective
    22. 7.8 ArrayList Quiz

    23. Description
    24. Objective
  8. 2D Array

    1. 8.1 2D Arrays

    2. Description
    3. Objective
    4. 8.2 Traversing 2D Arrays

    5. Description
    6. Objective
    7. 8.3 2D Array Quiz

    8. Description
    9. Objective
  9. Inheritance

    1. 9.1 Inheritance

    2. Description
    3. Objective
    4. 9.2 Writing Constructors for Subclasses

    5. Description
    6. Objective
    7. 9.3 Overriding Methods

    8. Description
    9. Objective
    10. 9.4 super Keyword

    11. Description
    12. Objective
    13. 9.5 Creating References Using Inheritance

    14. Description
    15. Objective
    16. 9.6 Polymorphism

    17. Description
    18. Objective
    19. 9.7 Object Superclass

    20. Description
    21. Objective
    22. 9.8 Inheritance Quiz

    23. Description
    24. Objective
  10. Recursion

    1. 10.1 Recursion

    2. Description
    3. Objective
    4. 10.2 Recursive Searching

    5. Description
    6. Objective
    7. 10.3 Recursive Sorting

    8. Description
    9. Objective
    10. 10.4 Recursion Quiz

    11. Description
    12. Objective
  11. Recursion - Demo Unit

    1. 11.1 Recursion

    2. Description
    3. Objective
    4. 11.2 Recursive Searching

    5. Description
    6. Objective
    7. 11.3 Recursive Sorting

    8. Description
    9. Objective
    10. 11.4 Recursion Quiz

    11. Description
    12. Objective
  12. Introduction to Programming in Java with Karel the Dog

    1. 12.1 Introduction to Programming With Karel

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

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

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

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

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

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

    20. Description
    21. Objective
    22. 12.8 Super Karel

    23. Description
    24. Objective
    25. 12.9 For Loops

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

    29. Description
    30. Objective
    31. 12.11 If Statements

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

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

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

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

    44. Description
    45. Objective
    46. 12.16 Karel Challenges

    47. Description
    48. Objective
    49. 12.17 Karel Quiz

    50. Description
    51. Objective
  13. AP Test Practice

    1. 13.1 AP Practice Test 1

    2. Description
    3. Objective
  14. Java Pretest

    1. 14.1 Java Pretest

    2. Description
    3. Objective
  15. Java Posttest

    1. 15.1 Java Posttest

    2. Description
    3. Objective
  16. Teacher Feedback

    1. 16.1 Teacher Feedback

    2. Description
    3. Objective
  17. Additional Exercises

    1. 17.1 Unit 3

    2. Description
    3. Objective
    4. 17.2 Unit 4

    5. Description
    6. Objective
    7. 17.3 Unit 5

    8. Description
    9. Objective
    10. 17.4 Unit 7

    11. Description
    12. Objective
  18. Elevens

    1. 18.1 Elevens

    2. Description
    3. Objective
  19. Magpie

    1. 19.1 Magpie Lab

    2. Description
    3. Objective
  20. Picture Lab

    1. 20.1 Picture Lab

    2. Description
    3. Objective
  21. Consumer Review Lab

    1. 21.1 Introduction

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

    5. Description
    6. Objective
    7. 21.3 Autogenerated Review

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

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

    14. Description
    15. Objective
  22. Celebrity Lab

    1. 22.1 Activity 1: Introduction to Celebrity

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

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

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

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

    14. Description
    15. Objective
  23. Steganography Lab

    1. 23.1 Activity 1: Exploring Color

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

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

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

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

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

    1. 24.1 Practice #1: Java Fundamentals

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

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

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

    11. Description
    12. Objective
  25. Deprecated Activities 08/25/21

    1. 25.1 Deprecated Activities 08/25/21

    2. Description
    3. Objective