Please enable JavaScript to use CodeHS


Introduction to Java (Latte)

Lessons

  1. Introduction to Programming in Java with Karel the Dog

    1. 1.1 Introduction to Programming With Karel

    2. Description
    3. Objective

      Students will be able to…

      • Write their first Karel program by typing out all of the Karel commands with proper syntax.

      • Explain how giving commands to a computer is like giving commands to a dog.

    4. 1.2 More Basic Karel

    5. Description
    6. Objective

      Students will be able to…
      * Identify the direction that Karel is facing
      * Predict what direction Karel will be facing after executing a series of commands
      * Identify a location in Karel’s world using Street, Avenue terminology
      * Create Karel programs th

    7. 1.3 Java Programs and the Run Method

    8. Description
    9. Objective

      Students will be able to…
      * Explain the purpose of the Run Method
      * Explain the first thing that happens in your program when you click the Run button.
      * Write a fully-formed Java program by including a class and a run method.

    10. 1.4 Karel Can't Turn Right

    11. Description
    12. Objective

      Students will be able to…
      * Teach Karel a new command by creating a turnRight() method
      * Utilize the turnRight() method they created to write cleaner, clearer Karel programs
      * Explain the difference between defining and calling a method

    13. 1.5 Methods in Karel

    14. Description
    15. Objective

      Students will be able to…
      * Create methods to teach Karel new commands
      * Utilize these methods to write higher level Karel programs that go beyond the basic toolbox of commands that Karel starts with

    16. 1.6 Top Down Design and Decomposition in Karel

    17. Description
    18. Objective

      Students will be able to…
      * Break a large problem down into smaller, simpler problems
      * Write methods that solve the simpler problems, and use them as building blocks to solve the larger problem
      * Compare programs and identify good vs poor decomposition

    19. 1.7 Commenting Your Code

    20. Description
    21. Objective

      Students will be able to…
      * Explain the preconditions and postconditions of a method
      * Create clear and readable comments in their code that help the reader understand the code
      * Explain the purpose of comments

    22. 1.8 Super Karel

    23. Description
    24. Objective

      Students will be able to…
      * Write programs that use SuperKarel instead of Karel
      * Utilize the new toolbox of commands that SuperKarel provides over Karel
      * Read documentation to understand how to use a library (SuperKarel is an example of this)

    25. 1.9 For Loops

    26. Description
    27. Objective

      Students will be able to…
      * Create for loops to repeat code a fixed number of times
      * Explain when a for loop would be a useful tool
      * Utilize for loops to write programs that would be difficult / impossible without loops

    28. 1.10 While Loops in Karel

    29. Description
    30. Objective

      Students will be able to…
      * Explain the purpose of a while loop
      * Create while loops to repeat code while a condition is true
      * Utilize while loops to solve new types of problems
      * Test their solutions on different Karel worlds

    31. 1.11 If Statements

    32. Description
    33. Objective

      Students will be able to…
      * Use conditions to gather information about Karel’s world (is the front clear, is Karel facing north, etc)
      * Create if statements to only execute code if a certain condition is true

    34. 1.12 If/Else Statements

    35. Description
    36. Objective

      Students will be able to…
      * Explain the purpose of an If/Else statement
      * Create If/Else statements to solve new types of problems
      * Identify when an If/Else statement is appropriate to be used

    37. 1.13 Control Structures Example

    38. Description
    39. Objective

      Students will be able to…
      * Identify the different control structures we can use to modify the flow of control through a program
      * Combine control structures to solve complicated problems
      * Choose the proper control structure for a given problem

    40. 1.14 More Karel Examples and Testing

    41. Description
    42. Objective

      Students will be able to…
      * Analyze a solution to a problem and explain why it works
      * Use control structures to create general solutions that work on all Karel worlds

    43. 1.15 How to Indent Your Code

    44. Description
    45. Objective

      Students will be able to…
      * Explain why it is important to indent code
      * Identify proper indentation
      * Modify a program to have proper indentation
      * Write programs with proper indentation

    46. 1.16 Karel Challenges

    47. Description
    48. Objective
    49. 1.17 Unit 1 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 Unit 2 Quiz

    47. Description
    48. Objective
  3. Methods

    1. 3.1 Java Methods

    2. Description
    3. Objective

      Students can create their own Java methods to solve simple problems.

    4. 3.2 Methods and Parameters

    5. Description
    6. Objective

      Students can write general methods that take parameters as inputs.

      Students can use parameters to generalize their methods to solve general problems.

      Students can identify and fix improper parameter names in Java.

    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 Unit 3 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 Method Overloading

    23. Description
    24. Objective
    25. 4.9 Local Variables and Scope

    26. Description
    27. Objective
    28. 4.10 Key Terms for Classes

    29. Description
    30. Objective
    31. 4.11 Objects vs Primitives

    32. Description
    33. Objective
    34. 4.12 Inheritance

    35. Description
    36. Objective
    37. 4.13 Class Design and Abstract Classes

    38. Description
    39. Objective
    40. 4.14 Polymorphism

    41. Description
    42. Objective
    43. 4.15 Interfaces

    44. Description
    45. Objective
    46. 4.16 Unit 4 Quiz

    47. Description
    48. 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 ArrayList Methods

    11. Description
    12. Objective
    13. 5.5 Arrays vs ArrayLists

    14. Description
    15. Objective
    16. 5.6 The List Interface

    17. Description
    18. Objective
    19. 5.7 2D Arrays (Matrices or Grids)

    20. Description
    21. Objective
    22. 5.8 HashMaps

    23. Description
    24. Objective
    25. 5.9 Binary

    26. Description
    27. Objective
    28. 5.10 Writing BlackJack

    29. Description
    30. Objective
    31. 5.11 Battleship

    32. Description
    33. Objective
    34. 5.12 Unit Quiz

    35. Description
    36. Objective
  6. Final Project

    1. 6.1 Final Project

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

    5. Description
    6. Objective

      Students reflect on what they have learned in the course, celebrate the accomplishment of completing the course, and think about what their next steps are in their computer science education.

  7. Project: Pokemon Simulation

    1. 7.1 Pokemon Simulation

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

    1. 8.1 Mad Libs

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

    1. 9.1 Java Outside of CodeHS

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

    1. 10.1 Quiz Creation

    2. Description
    3. Objective
  11. Computer Ethics

    1. 11.1 Computer Ethics

    2. Description
    3. Objective