Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Java Programming Essentials (College Level Java 1)
Start Here (Introduction to Java Programming AP Edition)
Welcome to Java Programming!!! (1:30)
Overview of this Java Programming Course (7:05)
How to proceed in this course? (13:12)
Think Java
AP Computer Science A Practices by University of Washington
Unit 1 Elementary Programming/Chapter 1: Introduction to Computers, Programs, and Java
Wisdom of Computing Science (Looking at abacus in Computer Science's Terms) (2:39)
What is Computer Science? What is computer and program? (8:10)
Java 101 (6:25)
eC Learning: Quality MOOC STEM Education (1:36)
How to master Java Programming?
Programming Languages Overview (7:58)
Installation of BlueJ Software (our main IDE) (6:36)
Why BlueJ? (13:37)
Hello World ! (7:58)
Coding Style and Habbits
Compile, Link, Go! Ooh, Sorry, it is "Compile, Go Link and Run !!!" (6:54)
Javadoc for Java program documentation (7:00)
Chapter 1 Quiz: Introduction to Computer, Programs and Java
Unit 1/Chapter 2: Elementary Programming
Identifiers (Variables and Methods: Basic Ingredients for Java) (8:33)
Naming Conventions (2:40)
Demo Program: ComputeArea.java (5:10)
Data Types (Integer and Double) (9:48)
[Java Coffee Break] Data (0:51)
Literals and Constants (8:25)
Number System Basics (16:46)
[Java Coffee Break] Binary Number System (1:21)
Read Input from Console with Demo Program ComputeAreaWithConsoleInput.java (6:49)
Operators and Operator Precedence
Demo Program: FahrenheitToCelsius.java (5:34)
Augmented Assignment, Increment and Decrrement Operators (6:01)
Numeric Type Conversion (7:36)
Quiz: Numbers
Lab: Put things together (Continued Fractional Number) (5:14)
Common Error and Pitfalls in Numbers (4:47)
Lab: GetChange.java (6:25)
Chapter 2 Quiz: Elementary Programming
Chapter Project: DisplayCurrentTime.java (3:03)
Unit 1/Chapter 3: Basic Java Application Programming Interface (API)
Boolean Data Type (7:29)
Character Data Type (7:47)
Demo Program: YESNOHappy.java (8:30)
Basic Java API Overview (Math, String, Integer, Double, Scanner, PrintWriter) (2:03)
[Java Coffee Break] Boolean (0:47)
Math Class (7:40)
Demo Program RandomDemo.java (5:14)
Lab: SubtractionQuiz.java (using Math.Random Method) (1:56)
Chapter 3 Quiz 1: Numbers and Math Class
String Class Part 1: Basic Methods (7:46)
Demo Program: Pointers and Interned Strings (5:19)
String Class Part 2: String Read-in and Comparison (8:17)
Demo Program: Student Information
String Class Part 3: substring (6:30)
Lab: Social Security Number (1:51)
Lab: OMG + LOL (2:41)
Print Out Statements (print, println, printf) (8:26)
Formatted Print Out Example (5:01)
Demo Program: FormatDemo.java (7:34)
Lab: ASCII Arts (3:09)
[Java Coffee Break] Application Programming Interface API (1:27)
Chapter Project: StudentGPA.java (3:07)
Chapter 3 Quiz 2: Character Data Type, String Class and Data Type Conversion
Unit 1 Review: Elementary Programming Review
Unit 1 Review (4:21)
Waterfall Model, V-Model, and Spiral Mdoel for Software Development (7:28)
Pseudo Code for Planning (6:22)
Unit 1 Exam: Multiple Choice
Unit 1 Exam: Free Response Questions
Unit 2: Structured Programming/Chapter 4: Decisions
if-Statement, if-else-statement, and if-else-if statement (8:35)
Demo Program: SimpleIfDemo.java (2:07)
Lab: Body Mass Index (2:45)
Demo Program: StudentGPAWithLetterGrade.java (3:45)
Random Number Generation with If (8:13)
Lab: License Plate for Californian State DMV (3:53)
Boolean Algebra Basics (7:55)
Logic Design (15:29)
Lab: Calendar Year (Leap Year and Chinese Zodiac) LeapYear.java (3:59)
Switch-Statement and Conditional Expressions (5:47)
Random Class (5:07)
Demo Program: Simulation Mode (7:49)
Chapter Project: Darts Board Game (4:36)
Chapter 4 Quiz: Multiple Choice Questions
Unit 2/Chapter 5: Loops
while-loop (5:42)
Demo Program: RepeatAdditionQuiz.java (4:25)
Lab: Sum, Average, Maximum and Minimum (User Input Version) (3:44)
Demo Program: FILE I/O (Conversion of a File to Upper Case.) (5:19)
Lab: Bible Word Count (1:58)
Demo Program: Manu Selection (7:12)
Lab: Lottery Checking Game (Using Menu Selection) (7:21)
for-loop (DartsForLoop.java) (7:52)
Lab: Sine and Cosine Table of a Unit Circle (6:37)
Nested Loop (Multiplication Table, Number Ladder, and Pyramids)
Final Words on Loops (8:29)
Final Words on Loops (Numerical Precision in Details) (5:54)
Chapter Project 1: Two Dice Game (Challenge Level 4) (6:36)
Chapter Project 2: Strong Password (Challenge Level 5)
Chapter 5 Quiz: Loops
Unit 2/Chapter 6: Methods
Definition of Method (7:54)
Calling a Method (6:15)
Demo Program: Stats01.java [User-defined min(), max(), avg(), sum()] (6:12)
Unguided Lab Project: Sine
Call by Value (11:19)
Modulariziing Code (Re-use, Abstraction) (12:56)
Demo Program: Static Methods and Modularize RandomCharacter() (15:46)
Overloading of Methods (3:53)
Demo Program: Part1 DNA Study and Computing Theory (12:00)
Demo Program: Part2 Gene.java (DNA Representation and String Methods) (12:38)
Scope of Variables (Local Variables) (3:12)
Chapter Project: Craps.java (Challenge Level 2) (7:15)
Chapter 6 Quiz: Methods
Unit 2 Review: Structural Programming Review
Top Down Design and Bottom Up Implementation (7:42)
Flow Chart Design for Structural Programming Using Dia Diagramming Tool (11:39)
Unit 2 Project: Print Calendar (3:12)
Unit 2 Exam: Multiple Choice Questions
Unit 2 Exam: Free Response Questions
Unit 2: Print Calendar Project and McGraw Hills Review (On-line Session Recording) (83:09)
Unit 3/Chapter 7: Arrays (1-D)
Array Basics (8:47)
Demo Program: AnalyzingNumbers.java (4:46)
Array Processing I: (Basic Traversal and Data Mutation) (9:01)
Unguided Lab Project: Weather Data
Array Processing II: (Array Processing II) (8:57)
Demo Program: Statistics Stats02.java (Array Version) (7:43)
Array Processing III: (for-each-loop) (7:50)
Unguided Lab Project: Health Index
Demo Program: Random Card (5:48)
Lab: Deck of Cards (5:15)
Demo Program: Card Deck Shuffling (Advanced Array Techniques) (15:27)
Unguided Lab Project: NASA
Copying of Arrays (5:31)
Passing Array to Methods and Return Array from Methods (14:35)
Unguided Lab Project: Hurricanes
Linear Search (Basic Algorithm) (3:41)
Demo Program: LetterCount.java (5:10)
Demo Program: Bible's Word Occurrence Count (8:26)
Binary Searching (Index Operations, Basic Algorithm) (7:51)
Arrays Class I (Wrapper Class for array) (8:42)
Arrays Class II (Wrapper Class for array) (6:02)
Lab: StudentScore.java (5:07)
Chapter Project: DeckOfCardsPoker.java (Activity 1) (18:14)
Chapter Project: DeckOfCardsPoker.java (Activity 2) (11:20)
Chapter 7 Quiz: 1-D Array
Unit 3/Chapter 8: N-D Array, ArrayLists with comparison to Arrays and Strings
2D Array Basics (including Ragged Arrays) (8:48)
Processing 2D Arrays I (7:35)
Processing 2D Arrays II (11:32)
Demo/Lab Project: Brighten/Darjen an images using 2-D Array (8:52)
Passing 2D Arrays to Methods (16:52)
Demo Program: Finding the Closest Pair of Points (5:28)
Lab: CombinationNumber.java (12:17)
N-D Arrays (10:34)
Chapter 8 Quiz 1: ND Arrays
ArrayList (10:29)
Demo Program: DistinctNumbers.java (4:17)
Revisit Wrapper Class Double and Integer (8:55)
ArrayList Processing I (13:48)
ArrayList Processing II (17:55)
Design Pattern (AP FRQ format) Using ArrayLists (6:23)
Comparison of String, Array, ArrayList (13:05)
enum Type (Similar to C, Non-AP Topic)
Lab Project: Student List of Washington High School (3:01)
Chapter Project: Sorting the Words in Bible by their Occurrence (5:14)
Chapter 8 Quiz 2: ArrayList
Unit 3/Chapter 9: Objects and Classes
Class Definition and Object Creation (7:48)
[Java Coffee Break] Objects and Data Encapsulation (0:30)
Constructors (Overloading, Overriding) (7:28)
Demo Program: Creation of an Package Complex and a Class Complex in BlueJ (10:46)
Overview of Class and Objects from Program Structure Point of View (9:00)
Unguided Lab Project: Program Styles
Overview of Class and Objects from Data Structure Point of Views (4:27)
Unguided Lab Project: Fuel1
Unguided Lab Project: Fuel2
Lab: add abs(), add(), minus, multiply, divide instance methods to Complex Class (6:13)
Reference Variables (Accessing String, Array, ArrayList, and Objects) (7:23)
Unguided Lab Project: Fuel3
Data Carriers (Arrays, Objects, ArrayLists, and Array of Objects) (4:26)
Demo Program: Array (ArrayList) of Objects (Washington High School Project) (12:37)
Unguided Lab Project: Fuel4
Unguided Lab Project: Fuel5
Scope of Members (Static/Instance, Local/Global) (13:13)
Lab: class (static) variables and methods in Complex class (2:51)
Classes (Data, Utility, Wrapper, Functional, Tester, and Handler) (7:23)
Using Existing Classes (Date, Calendar and Point2D Classes) (6:48)
Complex.Complex Generation of Complex.jar file and Installation (4:49)
Quiz: Objects and Classes up to static variables and methods
Visibility Modifiers (3:30)
Classes and Objectes (1): Static Members (10:25)
Classes and Objects (2) : Data Encapsulation 1 (4:56)
Lab: Creation of poker Package and Card Class and Card Tester (4:32)
Classes and Objects (3): Data Encapsulation 2, Passing Objects to Methods (9:02)
Lab: Deck Class and Deck Tester (4:42)
Classes and Objects (4): Immutable Objects and Classes (3:56)
[Java Coffee Break] Static versus Instance Properties (1:33)
this Reference (15:51)
Unguided Chapter Project: Catapult Projectile
Lab: Hand Class and HandTest class (5:27)
Quiz: Visibility, Scope of Variables and this Reference
Special Lecture: Sorting, High Hand and valueOf() method (11:54)
Chapter Project: Poker Game Hand Class (+valueOf()) and Its Tester (5:50)
Chapter 9 Quiz: Objects and Classes
Unit 3 Review: Data Structure and Basic Object Programming
Object-Oriented Programming Planning using Violet UML Editor. (7:52)
Unit Project: Poker Game Board. (simplified 4-player poker game) (4:21)
Unit 3 Exam: Multiple Choice Questions
Unit 3 Exam: Free Response Questions
Conclusion of AP Computer Science Part 1: Java Programming Essentials
Part 1: Final Project (Basic Chess Board) (15:14)
Part 1 Final Exam: Multiple Choice Questions
Part 1 Final Exam: Free Response Questions
Appendix A: AP Computer Science Exam Format and Preparation
AP Computer Science Exam Format (6:15)
AP Java Subset
Counting By Fingers
Appendix B: Software Issues
Java 8 Standard Edition Installation Guide (Stand-alone Version) (7:43)
IntelliJ IDEA, Java 10 and Android Studio (24:22)
Java JDK 11 (6:36)
Eclipse IDE Installation (15:14)
DrJava IDE Installation Guide (Optional) (10:05)
Why BlueJ? (Extra Materials)
Appendix C: Extra Quizzes
Solo@Learn Java Tutorial
Design Patterns
Design Pattern 1: All Even, Exists Odd Quantifiers Evaluation
Design Pattern 2: Digit By Digit Traversal
Lab 1: Student GPA (24:58)
Lab 2: Darts (43:36)
Lab 3: Vending Machine Interface (33:42)
Lab 4: Finding Maximum (16:26)
Lab 5: System Time [Part 1] (60:53)
Lab 5: System Time [Part 2] (61:34)
Lab 10: Indexing [Part 1] (69:48)
Lab 10: Indexing [Part 2] (69:18)
Lab 17: Traffic Lights [Part 1] (69:21)
Lab 17: Traffic Lights [Part 2] (37:10)
Teach online with
Design Pattern (AP FRQ format) Using ArrayLists
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock