
Identify the target audience for APCS, overview of the syllabus and exam format, and the instructor’s project-based, paced approach to teaching Java to beginners.
Install the Java development kit (JDK) from Oracle and set up DrJava, an integrated development environment, on Mac or Windows to compile, run, and debug Java programs.
Explore the AP computer science A course, an intro to Java for high schoolers with screencast lectures and a May exam. Reinforce learning with recaps; attach coding assignment solutions.
Explore section 2’s focus on computers, their components and functions, the evolution of programming languages, Java’s role, and an introduction to object oriented programming with classes and objects for beginners.
Learn the basic parts of a computer and how hardware and software interact, including input, output, memory, arithmetic logic unit, central processing unit, and volatile versus persistent secondary storage.
Explore machine, assembly, and high-level languages, compare their advantages and disadvantages, and learn how assemblers and interpreters translate code; plus Java’s history from James Gosling at Sun Microsystems, 1995.
Explore object-oriented programming with Java, learning how classes, objects, attributes, and behaviors form reusable blueprints, including inheritance, information hiding, class libraries, and UML as design tools.
Review the six logical computer units—input, output, memory, ALU, CPU, and secondary storage—and Java's role in object oriented programming with classes and objects, pseudo code, and UML.
Explore section 3 overview with a hello world program and the basics of Java, including variables, primitive types, input and output, essential for the rest of the course.
Learn the hello world program in Java by compiling and running code that prints hello world to the console, while examining the main method, class structure, strings, comments, and syntax.
Discover how packages group related classes and how import statements bring in packages or specific classes, then review Java program basics like the main method and class structure.
This lecture explains that variables store values and have types, and that identifiers are names for variables, parameters, methods, or classes, with rules for valid characters and naming.
Explore primitive types and strings in java, including int, double, boolean—the three most important primitive types—and learn how strings differ as non-primitive in variable declarations.
Declare and cast variables in int, double, boolean, and string types using semicolon syntax and initialization rules, including int-to-double and double-to-int casting with truncation and rounding, plus final constants.
Explore input and output in Java, using the Scanner to read user input and System.out to print results, while mastering escape sequences and print versus println.
Modify the hello world program to demonstrate escape sequences (backslashes, quotes, tabs) and basic variable declarations (strings and integers), then print outputs using the standard output.
Explore section 3's recap of core Java concepts, including hello world program components, variables and types (int, double, boolean), strings, input and output, and escape sequences, with package import basics.
Explore section 4, a review of operators, including arithmetic and comparison, and how they return true or false. Build readiness for control structures and the AP Computer Science A exam.
Explore arithmetic operators—addition, subtraction, multiplication, division, and modulus—plus increment and decrement, including pre- and post-increment differences and casting to double.
Create a Java addition program that prompts for two integers, computes their sum with the plus operator, and displays the result via the Scanner class and standard output.
Explore relational operators and equality operators in Java, including greater than, less than, and their equal-to forms. Learn how equals (==) and not equals (!=) produce boolean conditions for comparisons.
Write a Java comparison program that reads two integers with a Scanner, compares them with a relational operator, and prints whether the first is greater than the second.
Learn how assignment operators like =, +=, -=, *=, /=, and %= assign and update values, and how logical operators and, or, not form complex conditions with short circuit evaluation.
Explore the order of operations and operator precedence, from parentheses and not to multiplication, division, and modulus, through addition, relational and equality operators, to assignment, with left-to-right and right-to-left rules.
Review section 4 covers arithmetic, relational, equality, and assignment operators, plus modulus and logical operators; it explains the order of operations and prepares students for control structures.
Explore control structures in Java by examining if statements and loops, then apply hands-on practice to build logical programs and understand their role in computer science.
Explore control structures that enable non-sequential execution through conditional and iterative statements, including if, while, and for loops, shaping program logic.
Explore the if statement family in Java, including if, if else, extended if else, and nested if, with boolean conditions, true/false outcomes, and practical examples.
Explore how a Java grader program uses an extended if-else chain and a scanner to map a grade percentage to a letter grade (A–F).
Explore for and while loops as iterative control structures, including start, check, and update statements, nested loops, and comparisons with if statements, plus handling infinity loop.
Learn to build an average program in Java that prompts for unlimited numbers with a while loop, tracks total and count, and computes a double average when -1 is entered.
Explore how Java control structures drive program logic, including if, else, while, and for loops, enabling interactive, reusable code that handles user input and iterations.
Explore classes and objects, review core object oriented programming concepts, and examine methods and instance variables to build a solid foundation for future programming concepts.
Define a class as the unit with methods and fields; an object is an instance with attributes and behaviors. Show object references and the class‑to‑object relationship using a scanner example.
Learn how methods and instance variables define a class and its objects, using a car analogy to show how a blueprinted behavior and object attributes come together.
Explore classes and objects and their relationships, along with methods and instance variables, to build a foundation in object-oriented programming for Java.
Explore the keywords public, private, and static in class declarations. Learn where these modifiers fit in variables, methods, and classes, and the implications of public access for future hands-on programs.
Learn how public declares accessible classes and methods, and how private restricts access to internal components. See how data hiding strengthens software design.
Discover how the static keyword enables memory-efficient class variables and methods. Learn how static fields like a shared college name and static methods run without creating objects.
This recap covers the public, private, and static keywords and how they declare variables, methods, and classes. It notes public accessibility, private access, and static class members for memory efficiency.
Explore various types of methods beyond the main method, learn to declare variables and use operators, and combine concepts to build complex, hands-on programs.
Declare methods by mastering the syntax and parameters, including public access, void return types, and parameter lists. See how method names and inputs shape output with examples like eat food.
This lecture explains a java pass/fail program that reads AP computer science score with scanner and uses a private static checkPassed method to determine pass or fail based on 1–5.
Explore how constructors initialize objects in AP Computer Science A, covering constructors with and without parameters, the new keyword, and constructor overloading.
Explore getter and setter methods, the this keyword for distinguishing instance variables, static and overloaded methods, and invoking object methods with the dot operator.
Explore creating a Java course object with private name fields, overloading constructors, and getter, setter, and print methods, then test them in a CourseTest to observe object behavior.
Explore section 8 recap for ap computer science a, focusing on methods, constructors, object creation, and how multiple methods, setters, getters, and static methods build robust programs.
Explore section 9 to examine the object and string classes, their built-in methods, and practical applications for programs that require no imports.
Explore the Object class as the universal super class and learn how to override the toString method, and compare objects with equals while distinguishing it from the equals operator.
Override the default toString in the Course class to produce readable output like this course is algebra 2, and use equals to compare objects by memory allocation.
Explore constructing string objects, concatenation, and key string class methods such as length, substring, indexOf, equals, and compareTo, including understanding zero-based indexing.
Explore constructing strings and using String class methods like length, substring, indexOf, equals, and compareTo, including string concatenation to print, modify, and compare values.
Explore section 9 recap on object and string classes, and learn to apply their methods to modify objects and strings for improved program functionality.
Explore the wrapper classes and the math class in Section 10, converting primitive types to objects and applying methods like square root and exponent in real Java programs through hands-on practice.
Examine wrapper classes in AP computer science A, focusing on the integer and double classes, boxing and unboxing, and key methods like toString and equals, plus max and min values.
Discover the Java math class, its static methods for square root, absolute value, and power, and the pi constant; practice using Math.sqrt, Math.abs, Math.pow, and Math.PI in live code.
Explore how Math.random() returns a double from 0.0 to 1.0 and how to scale to other ranges by multiplying, adding an offset, and casting to int for integers.
Explore the map and wrapper classes in section 10, focusing on integer and double types converted to objects, and the math class with abs, sqrt, and pow.
Prepare for and ace the AP Computer Science exam!
Learn the basic concepts and functions of the Java programming language to create your own computer programs!
Learn more about computer science with a course with 115 lectures and over 10.5 hours of content FOR FREE!
Content Overview
Suitable for beginning programmers, through this course of 115 lectures and over 10.5 hours of content, you’ll learn all of the Java fundamentals and establish a strong understanding of the concept behind object-oriented programming (OOP). Each chapter consists of exercises, putting your new learned skills into practical use immediately.
Starting with the installation of the Java Development Kit, this course will take you through Java variable types, operators, and how to use them. By creating classes and objects, you’ll a establish a strong understanding of OOP.
With these basics mastered, the course will take you through program flow control by teaching you how to use for loops, while loops, and conditional if-else statements to add complexity and functionality to your programs.
Students completing the course will have the knowledge to create functional and useful Java programs.
Complete with working files and code samples, you’ll be able to work alongside the author as you work through each concept, and will receive a verifiable certificate of completion upon finishing the course.