Java is one of the most popular programming languages. Knowing it well will get you that 5 on the AP Computer Science exam as well as give you a competitive edge in the tech industry. Professor Tom Quayle will teach you all about this very important programming language in his course. Although it is focused on the AP test, with tons of sample questions and a fully worked out test at the end, it is also suitable for users who are looking to learn Java from the ground up. Professor Quayle explains Java in easy to understand terms and follows up theory with plenty of actual code in a working compiler. Topics span all of Java and include Loops, Classes, Inheritance, Algorithms, and Recursion. Professor Quayle has 15+ years in the programming world, a Master’s degree in Computer Science, and has worked both as a developer, manager of developers, and instructor. Downloadable code examples are also available to help users work along with the lessons.
| I. AP Computer Science |
| |
About the AP Computer Science Exam |
17:11 |
| | |
Intro |
0:00 | |
| | |
Roadmap |
0:16 | |
| | |
| Java Editor |
0:45 | |
| | |
The AP Computer Science Exam |
1:30 | |
| | |
| When It's Administered |
1:31 | |
| | |
| Final Score |
1:49 | |
| | |
| College Credit |
2:08 | |
| | |
Format of AP Exam Questions |
2:20 | |
| | |
| Two Sections |
2:26 | |
| | |
| Section 1 |
2:31 | |
| | |
| Section 2 |
2:40 | |
| | |
| Scoring |
3:23 | |
| | |
Multiple Choice Questions |
3:57 | |
| | |
| Example |
4:04 | |
| | |
| Check Answer in Java Editor |
5:06 | |
| | |
| Keep in Mind |
6:21 | |
| | |
Multiple Choice, Multiple Answers |
6:58 | |
| | |
| Evaluate Each Roman Numeral Separately |
7:08 | |
| | |
| Example Multiple Choice Question |
7:34 | |
| | |
| Java Editor |
8:35 | |
| | |
Free Response Questions |
12:25 | |
| | |
| Example |
12:40 | |
| | |
| Java Editor |
14:35 | |
| | |
AP Java Subset |
17:06 | |
| | |
| What It Is |
17:37 | |
| | |
| Primitive Types |
18:49 | |
| | |
| Arithmetic Operators |
19:11 | |
| | |
| Assignment Operator |
19:46 | |
| | |
| Combined Arithmetic / Assignment Operators |
19:51 | |
| | |
| Increment / Decrement Operators |
20:13 | |
| | |
| Relational Operators |
20:36 | |
| | |
| Logical Operators |
21:06 | |
| | |
| Numeric Casts |
21:44 | |
| | |
| Numeric Wrapper Classes |
22:39 | |
| | |
| Math Library Methods |
23:08 | |
| | |
| String Operations |
23:50 | |
| | |
| User Input |
25:33 | |
| | |
| Output |
27:17 | |
| | |
| Program Invocation |
28:13 | |
| | |
| Arrays |
29:06 | |
| | |
| Lists |
29:52 | |
| | |
| Control Structures |
30:47 | |
| | |
| Methods |
31:27 | |
| | |
| Classes |
32:10 | |
| | |
| Inheritance |
33:09 | |
| | |
| Exceptions |
34:22 | |
| | |
Tips for Taking the Exam |
34:55 | |
| | |
| Before the Exam |
35:04 | |
| | |
| During the Exam |
36:58 | |
| | |
Summary |
39:27 | |
| |
Types, Variables, & Arithmetic Operators |
23:20 |
| | |
Intro |
0:00 | |
| | |
Roadmap |
0:11 | |
| | |
Primitive Data Types |
0:37 | |
| | |
| Int |
1:48 | |
| | |
| Double |
2:42 | |
| | |
| Boolean |
3:53 | |
| | |
Variables |
4:04 | |
| | |
| Declaring a Variable |
4:16 | |
| | |
| Assigning a Value |
6:01 | |
| | |
| Declaring and Assigning on the Same Line |
6:36 | |
| | |
Casting |
7:00 | |
| | |
| Mixing Types |
7:10 | |
| | |
| Automatic Casting |
8:31 | |
| | |
Find Variables - Constants |
9:21 | |
| | |
| Final Variables |
9:40 | |
| | |
| Constants Written in All Capitals |
10:43 | |
| | |
Arithmetic Operators |
11:59 | |
| | |
| Five Arithmetic Operators |
12:10 | |
| | |
| Result Depends on Type of Operands |
13:49 | |
| | |
Assignment Operators |
14:59 | |
| | |
| Compound Assignment Operators |
15:13 | |
| | |
| Examples |
15:43 | |
| | |
Increment / Decrement Operators |
17:08 | |
| | |
| Add 1 (++) |
17:37 | |
| | |
| Subtracts 1 (--) |
18:25 | |
| | |
Summary |
21:41 | |
| |
Equality, Relational, & Logical Operators |
22:34 |
| | |
Intro |
0:00 | |
| | |
Roadmap |
0:11 | |
| | |
Equality and Relational Operators |
1:09 | |
| | |
| Equal to |
1:15 | |
| | |
| Not Equal to |
2:25 | |
| | |
| Relational Operators |
2:40 | |
| | |
Logical Operators |
3:44 | |
| | |
| Three Operators: And, Or, Not |
3:53 | |
| | |
| AND Defined |
4:18 | |
| | |
| OR Defined |
4:50 | |
| | |
| NOT Defined |
5:19 | |
| | |
| Example: And |
5:43 | |
| | |
| Example: Or |
6:23 | |
| | |
| Example: Not |
6:41 | |
| | |
Truth Tables |
7:16 | |
| | |
| Truth Tables for AND |
7:30 | |
| | |
| Truth Tables for OR |
8:05 | |
| | |
| Truth Tables for NOT |
8:47 | |
| | |
Short-Circuit Evaluation |
10:03 | |
| | |
| Example |
10:32 | |
| | |
| This Behavior Can be Useful in Program Design |
12:29 | |
| | |
De Morgan's Laws |
13:53 | |
| | |
| First Law |
14:04 | |
| | |
| Second Law |
14:29 | |
| | |
Operator Precedence |
15:28 | |
| | |
| List of Operators in Highest to Lowest Precedence |
15:38 | |
| | |
| Evaluation on Operators |
17:30 | |
| | |
Summary |
20:26 | |
| |
Input, Output, & Errors |
24:07 |
| | |
Intro |
0:00 | |
| | |
Roadmap |
0:11 | |
| | |
Getting Input from the User |
0:42 | |
| | |
| For AP Questions, Will Look Like One of the Following |
0:54 | |
| | |
| One Method of Getting Input From the User |
2:50 | |
| | |
| Scanner Class |
3:20 | |
| | |
Providing Output to the User |
4:38 | |
| | |
| Only 2 Included in AP Subset |
5:06 | |
| | |
| Example: Print Two Strings on the Same Line |
5:45 | |
| | |
| Example: Print a String and an Integer |
6:16 | |
| | |
| Example: Print a Blank Line |
6:40 | |
| | |
| Java Code Example |
7:04 | |
| | |
Escape Sequences |
11:10 | |
| | |
| Backslash Character Followed by One or More Additional Characters |
11:23 | |
| | |
| Newline Character |
11:49 | |
| | |
| Double Quote Character |
12:39 | |
| | |
| Backslash Character |
13:48 | |
| | |
| Java Code Examples: Printing Escape Sequences |
14:43 | |
| | |
Exception Handling |
16:25 | |
| | |
| Describe As |
16:33 | |
| | |
| Exceptions Within the AP Subset That Provides Structured Way to Handle Errors |
17:18 | |
| | |
| Java Code Example |
19:40 | |
| | |
Summary |
22:21 | |
| |
Conditional Statements |
28:00 |
| | |
Intro |
0:00 | |
| | |
Roadmap |
0:09 | |
| | |
Conditional Statements |
0:55 | |
| | |
| Based on Value of a Boolean Expression |
1:40 | |
| | |
| Switch Statement |
2:42 | |
| | |
The If Statement |
2:59 | |
| | |
| Structure of If Statement |
3:06 | |
| | |
The If-Else Statement |
4:46 | |
| | |
The If-Else Statement |
6:02 | |
| | |
| If expression - False |
6:34 | |
| | |
Nested If-Else Statements |
7:13 | |
| | |
| 'Nest' |
7:28 | |
| | |
Nested If-Else Statements |
7:56 | |
| | |
| First Thing to Determine |
9:28 | |
| | |
| Code |
10:24 | |
| | |
The Extended If Statement |
13:14 | |
| | |
| Code |
15:45 | |
| | |
The Switch Statement |
18:54 | |
| | |
| The Way It Works |
19:37 | |
| | |
| Example: Switch Statement in a Java Program |
22:44 | |
| | |
Summary |
27:03 | |
| |
Loops |
32:29 |
| | |
Intro |
0:00 | |
| | |
Roadmap |
0:07 | |
| | |
Repeating an Action |
0:53 | |
| | |
| Example |
1:03 | |
| | |
Repeating an Action |
1:21 | |
| | |
| Use Brute Force Method |
1:32 | |
| | |
The While Loop |
2:16 | |
| | |
| To Repeat An Action |
2:55 | |
| | |
| Example: While Loop |
4:57 | |
| | |
The Do Loop |
5:53 | |
| | |
| Example: Do Loop |
8:00 | |
| | |
| Distinction of Do Loop & While Loop |
9:04 | |
| | |
The For Loop |
10:30 | |
| | |
| The Way It Works |
10:41 | |
| | |
| Example: The For Loop |
12:43 | |
| | |
The Enhanced for Loop |
14:18 | |
| | |
| The Way It Works |
14:42 | |
| | |
| Example:Enhanced for Loop |
16:32 | |
| | |
Nested While Loops |
19:06 | |
| | |
| Example |
19:33 | |
| | |
| Example: Nested While Loop (Code) |
20:47 | |
| | |
Nested For Loops |
22:36 | |
| | |
| Example |
22:51 | |
| | |
| Example: Nested For Loop (Code) |
23:29 | |
| | |
The Return Statement |
24:30 | |
| | |
| Example |
25:03 | |
| | |
The Break Statement |
26:21 | |
| | |
The Continue Statement |
28:01 | |
| | |
Summary |
30:56 | |
| |
Strings |
42:20 |
| | |
Intro |
0:00 | |
| | |
Roadmap |
0:25 | |
| | |
Literal Strings |
1:27 | |
| | |
| Class: Strings |
1:38 | |
| | |
| String Is Immutable |
2:11 | |
| | |
| Example |
2:53 | |
| | |
| Literal Strings |
3:27 | |
| | |
| String Variables |
4:24 | |
| | |
| Example: String Variable |
5:56 | |
| | |
String Concatenation |
7:03 | |
| | |
| Example |
7:37 | |
| | |
| Example: String Concatenation |
8:26 | |
| | |
String Concatenation |
10:00 | |
| | |
| Assignment Operator |
10:11 | |
| | |
| Example |
10:48 | |
| | |
| Example: String Concatenation |
11:25 | |
| | |
String Length |
13:05 | |
| | |
| Example: String Length |
14:16 | |
| | |
String Comparison |
16:04 | |
| | |
| Equals Method |
16:37 | |
| | |
| Example: String Comparison |
17:08 | |
| | |
String Comparison |
21:40 | |
| | |
| String.Equals: Case-Sensitive |
21:49 | |
| | |
| Equals Ignore Case: Case-Insensitive |
22:14 | |
| | |
| Example: Case-Sensitive and Case-Insensitive Comparison |
22:46 | |
| | |
String Comparison |
25:38 | |
| | |
| Compare To (String.compareTo) |
25:53 | |
| | |
| Example |
27:27 | |
| | |
| Example: Sting Comparison Using the compareTo Method |
28:15 | |
| | |
Taking a Subset of a String |
30:34 | |
| | |
| Substring Method |
30:59 | |
| | |
| 2 Versions |
31:08 | |
| | |
| 1st Version: Takes One Parameter |
31:27 | |
| | |
| 2nd Version: Takes Two Parameters |
32:41 | |
| | |
| Example: Substring |
34:02 | |
| | |
Searching Within a String |
36:04 | |
| | |
| indexOf Method |
36:12 | |
| | |
| 1st Version: Takes One Parameter |
36:26 | |
| | |
| 2nd Version: Takes Two Parameters |
37:27 | |
| | |
Searching Within a String |
38:36 | |
| | |
| lastIndexOf Method |
38:53 | |
| | |
| 1st Version: Takes One Parameter |
39:08 | |
| | |
| 2nd Version: Takes Two Parameters |
39:28 | |
| | |
Summary |
40:43 | |
| |
Arrays |
47:02 |
| | |
Intro |
0:00 | |
| | |
Roadmap |
0:14 | |
| | |
Declaring and Creating an Array |
0:49 | |
| | |
| Array Defined |
0:55 | |
| | |
| 1st Way to Declare and Create and Array |
1:10 | |
| | |
| 2nd Way to Declare and Create and Array |
2:15 | |
| | |
Referring to Elements in an Array |
5:12 | |
| | |
| Integer Expression |
5:39 | |
| | |
| Code Example: Declaring and Creating Arrays |
7:26 | |
| | |
Referring to Elements in an Array |
9:12 | |
| | |
| Example |
9:45 | |
| | |
| Code Example: Looping Through an Array of Ints |
12:23 | |
| | |
Referring to Elements in an Array |
15:35 | |
| | |
| Enhanced for Loop |
15:42 | |
| | |
| Code Example: Looping Through an Array of Strings With an Enhanced for Loop |
17:19 | |
| | |
Referring to Elements in an Array |
19:25 | |
| | |
| ArrayIndexOutOfBoundsException |
19:37 | |
| | |
| Code Example: Array Index Out of Bounds Exception |
21:03 | |
| | |
Resizing Arrays |
23:05 | |
| | |
| Example |
23:33 | |
| | |
| Code Example: Resizing Arrays |
25:15 | |
| | |
Copying Arrays |
28:13 | |
| | |
Passing an Array to a Method |
30:09 | |
| | |
| Example |
30:15 | |
| | |
| When Calling This Method: Pass in an Array |
33:40 | |
| | |
| Code Example: Passing an Array to a Method |
34:06 | |
| | |
Returning an Array From a Method |
36:02 | |
| | |
| Create a Method |
36:12 | |
| | |
| Calling This Method |
38:42 | |
| | |
| Code Example: Returning an Array to a Method |
39:24 | |
| | |
Two-Dimensional Arrays |
42:23 | |
| | |
| Length Method |
43:17 | |
| | |
| Number of Columns |
43:42 | |
| | |
Summary |
45:00 | |
| |
Classes & Objects |
47:33 |
| | |
Intro |
0:00 | |
| | |
Roadmap |
0:46 | |
| | |
Classes and Objects |
2:03 | |
| | |
| Class |
2:17 | |
| | |
| Object |
2:34 | |
| | |
Constructors |
3:43 | |
| | |
Constructors |
5:34 | |
| | |
Methods |
7:11 | |
| | |
| Example: getName Method |
7:44 | |
| | |
Methods |
8:45 | |
| | |
| Example |
9:08 | |
| | |
| Example in Java Program |
10:19 | |
| | |
Data Fields |
12:48 | |
| | |
| Way to Find Data Fields |
13:10 | |
| | |
Data Fields |
13:50 | |
| | |
| Example: Instantiate Two Objects with Different Instance Data |
14:43 | |
| | |
Return Type |
16:21 | |
| | |
| A Primitive Type |
16:37 | |
| | |
| An Object of a Class Type |
16:49 | |
| | |
Return Type |
17:25 | |
| | |
Access Control |
18:19 | |
| | |
| Public, Protected and Private |
19:31 | |
| | |
| Assumptions Made in AP Java Subset |
20:00 | |
| | |
Access Control |
20:58 | |
| | |
| Definition of Public |
21:08 | |
| | |
| Definition of Protected |
21:18 | |
| | |
| Definition of Private |
21:28 | |
| | |
| Guidelines on What to Make Public/ Private |
21:36 | |
| | |
Accessors and Modifiers |
24:47 | |
| | |
| Accessor |
25:35 | |
| | |
| Modifier or Mutator |
26:24 | |
| | |
Static vs. Instance |
27:15 | |
| | |
| Static Member |
27:26 | |
| | |
Example: Static vs. Instance |
27:59 | |
| | |
| Code Example |
30:19 | |
| | |
Passing Data to Method |
34:00 | |
| | |
| Code Example |
36:17 | |
| | |
Getting Data Back From Methods |
37:28 | |
| | |
| To Make Use of a Return Value |
37:53 | |
| | |
| Code Example |
38:51 | |
| | |
Overloaded Methods |
39:39 | |
| | |
| Signature Includes |
40:19 | |
| | |
| Signature Does Not Include |
40:45 | |
| | |
Example: Overloaded Methods |
43:52 | |
| | |
Overloaded Methods |
44:19 | |
| | |
Summary |
45:00 | |
| |
Inheritance & Polymorphism |
31:30 |
| | |
Intro |
0:00 | |
| | |
Roadmap |
0:42 | |
| | |
Inheritance |
1:14 | |
| | |
| Subclass |
1:56 | |
| | |
| Superclass |
2:07 | |
| | |
Inheritance |
3:08 | |
| | |
| Example |
3:36 | |
| | |
Inheritance |
4:44 | |
| | |
| Subclass Does Not Inherit
|
6:05 | |
| | |
Inheritance |
7:06 | |
| | |
| To Override a Method |
7:17 | |
| | |
Inheritance |
8:59 | |
| | |
| Example |
10:24 | |
| | |
Class Hierarchies |
11:31 | |
| | |
| Multiple Level Hierarchies for Subclass |
12:41 | |
| | |
Abstract Classes |
14:35 | |
| | |
| Example |
15:59 | |
| | |
Polymorphism |
20:19 | |
| | |
| Example |
20:34 | |
| | |
Interfaces |
22:33 | |
| | |
Interfaces Example |
25:13 | |
| | |
| Defines 3 Methods |
25:27 | |
| | |
Summary |
29:26 | |
| |
Lists |
33:15 |
| | |
Intro |
0:00 | |
| | |
Roadmap |
0:16 | |
| | |
Lists |
0:52 | |
| | |
| Wrapper Classes |
1:10 | |
| | |
The List Interface |
2:37 | |
| | |
| Cannot Instantiate a List |
3:26 | |
| | |
The ArrayList Class |
5:01 | |
| | |
| The Way It Works |
7:45 | |
| | |
The ArrayList Class |
8:34 | |
| | |
| Primary Methods Needed To Use for ArraryList |
8:53 | |
| | |
| Code Examples |
16:26 | |
| | |
The LinkedList Class |
21:01 | |
| | |
| To Instantiate a LinkedList
|
21:59 | |
| | |
| Code Example |
24:05 | |
| | |
ArrayList vs. LinkedList |
25:25 | |
| | |
| Internal Storage Implementation of ArrayList |
25:35 | |
| | |
| Internal Storage Implementation of LinkedList |
26:01 | |
| | |
| Pros/Cons of Each |
26:23 | |
| | |
Summary |
32:10 | |
| |
Numeric Wrapper Classes & Mathematical Functions |
23:14 |
| | |
Intro |
0:00 | |
| | |
Roadmap |
0:11 | |
| | |
Numeric Wrapper Classes |
0:42 | |
| | |
| To Get Around Storing Limitation |
1:19 | |
| | |
Setting and Getting Values |
2:30 | |
| | |
| Double Class |
3:57 | |
| | |
Comparing Values |
5:07 | |
| | |
| Equals Method |
5:22 | |
| | |
Comparing Values |
7:16 | |
| | |
| CompareTo Method: Integer Class |
7:29 | |
| | |
| CompareTo Method: Double Class |
9:24 | |
| | |
Minimum and Maximum Values |
10:28 | |
| | |
| Integer Class: Publib Static Final |
10:56 | |
| | |
| Double Class |
12:19 | |
| | |
Automatic Conversion |
12:53 | |
| | |
| Autoboxing |
13:12 | |
| | |
| Example |
13:36 | |
| | |
| Get Method |
14:52 | |
| | |
The Math Class |
15:59 | |
| | |
| Math.E |
16:18 | |
| | |
| Math.PI |
16:25 | |
| | |
| Example |
16:34 | |
| | |
The Math Class |
17:07 | |
| | |
Working With Random Numbers |
18:42 | |
| | |
| Example |
19:47 | |
| | |
Summary |
22:14 | |
| |
Algorithms: Iteration |
25:43 |
| | |
Intro |
0:00 | |
| | |
Roadmap |
0:13 | |
| | |
Iteration |
0:36 | |
| | |
| Iteration Defined |
0:39 | |
| | |
| For Loop / While Loop |
0:50 | |
| | |
| Example |
1:11 | |
| | |
Iteration |
3:11 | |
| | |
| Two-Dimensional Range |
3:19 | |
| | |
| Using Two Nested While Loops |
5:00 | |
| | |
Finding Minimum and Maximum Values |
5:54 | |
| | |
Finding Minimum and Maximum Values Examples |
7:50 | |
| | |
Finding Minimum and Maximum Values Example |
12:52 | |
| | |
Inserting in Order |
15:19 | |
| | |
Inserting in Order Code |
17:42 | |
| | |
Loop Invariants |
21:53 | |
| | |
| Example |
23:17 | |
| | |
Summary |
24:37 | |
| |
Algorithms: Recursion |
27:30 |
| | |
Intro |
0:00 | |
| | |
Roadmap |
0:09 | |
| | |
Recursion |
0:44 | |
| | |
Calculating Factorials |
2:49 | |
| | |
| n! and How It's Defined |
3:01 | |
| | |
| Recursive Implementation of the Factorial Function in Java |
3:34 | |
| | |
Calculating Factorials |
4:34 | |
| | |
| Calculate 4! |
4:35 | |
| | |
| Factorial Function in Java |
7:22 | |
| | |
Calculating Fibonacci Numbers |
9:19 | |
| | |
| Fibonacci Numbers Defined |
9:30 | |
| | |
| Recursive Implementation |
10:33 | |
| | |
| Implementation in Java |
10:44 | |
| | |
Calculating Fibonacci Numbers |
11:28 | |
| | |
| Calculate Fibonacci(4) |
11:29 | |
| | |
| Fibonacci in Java |
14:59 | |
| | |
Other Recursive Functions |
17:35 | |
| | |
Other Recursive Functions |
21:32 | |
| | |
| Calculate Mystery(4) |
21:33 | |
| | |
| Mystery in Java |
22:29 | |
| | |
Important Considerations |
23:49 | |
| | |
| Recursive Methods |
25:15 | |
| | |
Summary |
26:41 | |
| |
Algorithms: Sorting |
29:42 |
| | |
Intro |
0:00 | |
| | |
Roadmap |
0:08 | |
| | |
Sorting |
0:55 | |
| | |
| Definition of Sorting |
1:05 | |
| | |
| Cant Sort Any of the Following |
1:14 | |
| | |
Selection Sort |
3:49 | |
| | |
| Definition of Selection Sort |
3:58 | |
| | |
| 'Search-and-Swap' Algorithm |
5:05 | |
| | |
Selection Sort Example |
7:46 | |
| | |
Insertion Sort |
10:57 | |
| | |
Insertion Sort Example |
13:02 | |
| | |
Merge Sort |
15:14 | |
| | |
| Recursive Sorting Algorithm |
16:15 | |
| | |
Merge Sort Example |
18:03 | |
| | |
Quick Sort |
20:34 | |
| | |
| Recursive Sorting Algorithm |
21:36 | |
| | |
Quick Sort Example |
23:35 | |
| | |
Summary |
27:19 | |
| |
Algorithms: Searching |
32:37 |
| | |
Intro |
0:00 | |
| | |
Roadmap |
0:08 | |
| | |
Searching |
0:40 | |
| | |
Sequential Search |
2:22 | |
| | |
| Performed on Any Array |
2:29 | |
| | |
Sequential Search Algorithm Using a For Loop |
4:24 | |
| | |
| Java Example |
6:28 | |
| | |
Binary Search |
8:51 | |
| | |
Binary Search Algorithm Using a While Loop |
12:03 | |
| | |
| Java Example |
16:59 | |
| | |
Binary Search |
20:38 | |
| | |
| Recursive Method |
20:53 | |
| | |
| Java Example: Using Binary Search |
25:34 | |
| | |
Search Considerations |
28:16 | |
| | |
| Binary Search |
29:14 | |
| | |
Summary |
31:14 | |
| |
Program Design & Development |
29:29 |
| | |
Intro |
0:00 | |
| | |
Roadmap |
0:41 | |
| | |
Object-Oriented Programming |
1:20 | |
| | |
| Definition |
1:35 | |
| | |
| Encapsulation |
2:26 | |
| | |
| Polymorphism |
4:43 | |
| | |
Top-Down Design and Development |
5:56 | |
| | |
| Top-Down Design |
6:10 | |
| | |
| Top-Down Development |
6:51 | |
| | |
Reusable Code |
8:47 | |
| | |
| Definition |
8:58 | |
| | |
| Example to Reusable Code |
10:33 | |
| | |
Team Development |
11:36 | |
| | |
Team Development |
15:03 | |
| | |
| Adding Another Developer |
15:23 | |
| | |
Data Structure |
19:28 | |
| | |
| Definition |
19:35 | |
| | |
| Examples |
19:44 | |
| | |
User Interface |
20:53 | |
| | |
| Definition |
21:00 | |
| | |
Specifications |
24:19 | |
| | |
| Definition |
24:29 | |
| | |
| 2 Important Purposes for Specifications |
25:25 | |
| | |
Summary |
27:27 | |
| |
Standard Classes & Interfaces |
32:53 |
| | |
Intro |
0:00 | |
| | |
Roadmap |
0:13 | |
| | |
Object |
1:46 | |
| | |
| Methods |
1:57 | |
| | |
| Equals Method |
2:06 | |
| | |
| toString Method |
2:16 | |
| | |
| What Else To Know |
2:28 | |
| | |
Integer |
3:19 | |
| | |
| Constructor |
3:32 | |
| | |
| Methods |
3:51 | |
| | |
| Constants |
4:28 | |
| | |
| What Else To Know |
5:05 | |
| | |
Double |
6:14 | |
| | |
| Constructor |
6:35 | |
| | |
| Methods |
6:50 | |
| | |
| What Else To Know |
7:06 | |
| | |
String |
8:16 | |
| | |
| Methods |
8:40 | |
| | |
| What Else To Know |
12:10 | |
| | |
Math |
15:24 | |
| | |
| Methods |
15:36 | |
| | |
| What Else To Know |
18:13 | |
| | |
List |
20:02 | |
| | |
| Methods |
20:30 | |
| | |
ArrayList |
22:45 | |
| | |
| What Else To Know |
23:27 | |
| | |
Test-Taking Tips |
26:05 | |
| | |
Summary |
29:47 | |
| II. AP Test Preparation |
| |
Multiple Choice Question Tips & Practice |
55:47 |
| | |
Intro |
0:00 | |
| | |
Roadmap |
0:23 | |
| | |
AP Computer Science Exam Structure |
1:32 | |
| | |
| Two Sections |
1:40 | |
| | |
| Contribution to Score |
3:35 | |
| | |
Multiple Choice Strategies and Tips |
4:50 | |
| | |
Example Question 1 |
9:07 | |
| | |
Example Question 2 |
13:34 | |
| | |
Example Question 3 |
16:12 | |
| | |
Example Question 4 |
21:44 | |
| | |
Example Question 5 |
26:41 | |
| | |
Example Question 6 |
34:12 | |
| | |
Example Question 7 |
39:41 | |
| | |
Example Question 8 |
42:09 | |
| | |
Example Question 9 |
46:31 | |
| | |
Example Question 10 |
50:35 | |
| | |
Summary |
54:49 | |
| |
Free Response Question Tips & Practice |
40:55 |
| | |
Intro |
0:00 | |
| | |
Roadmap |
0:27 | |
| | |
AP Computer Science Exam Structure |
1:15 | |
| | |
| Two Sections |
1:20 | |
| | |
| Contribution to Score |
2:09 | |
| | |
Free Response Strategies and Tips |
3:23 | |
| | |
Free Response Strategies and Tips Continued |
6:17 | |
| | |
Free Response Strategies and Tips Continued |
10:22 | |
| | |
Free Response Strategies and Tips Continued |
13:00 | |
| | |
Free Response Strategies and Tips Continued |
15:42 | |
| | |
Example Free Response Question |
17:41 | |
| | |
| Example Free Response Question Narrative Continued |
18:30 | |
| | |
| Example for Problem |
19:29 | |
| | |
| Example Set-Up for Problem |
19:56 | |
| | |
| Example Set-Up for Problem Continued |
21:48 | |
| | |
| Code |
24:14 | |
| | |
| Code Continued: First Method |
25:36 | |
| | |
| Second Method |
26:28 | |
| | |
| Additional Narrative |
27:04 | |
| | |
| Definition of Part A: What They Want You to Write |
27:33 | |
| | |
| Definition of Part B: What They Want You to Write |
28:50 | |
| | |
| Requirements for Part A |
31:06 | |
| | |
| Part A: One Possible Solution |
31:49 | |
| | |
| Requirements for Part B |
34:06 | |
| | |
| Part B: One Possible Solution |
34:48 | |
| | |
Summary |
39:52 | |
| |
The GridWorld Study |
54:18 |
| | |
Intro |
0:00 | |
| | |
Roadmap |
0:19 | |
| | |
Overview of GridWorld |
0:51 | |
| | |
| Definition of GridWorld |
1:00 | |
| | |
| Important part of AP Exam |
3:14 | |
| | |
| Need to Understand It |
5:16 | |
| | |
Overview of GridWorld: Testable APIs |
8:00 | |
| | |
| API Defined |
8:06 | |
| | |
| Testable APIs |
8:52 | |
| | |
Testable Code |
9:22 | |
| | |
| 4 Classes |
9:57 | |
| | |
Location Class |
10:21 | |
| | |
Location Class: 8 Public Constants That Help with Direction |
11:36 | |
| | |
| Row Numbering |
12:32 | |
| | |
| Column Numbering |
13:13 | |
| | |
Location Class: 7 Public Constants That Represent Turns |
13:31 | |
| | |
Location Class: Methods Useful in Navigating Through the Grid |
15:25 | |
| | |
| getAdjacentLocation |
15:34 | |
| | |
| getDirectionToward |
16:21 | |
| | |
Location Class: 3 Other Useful Methods |
16:58 | |
| | |
| Equals Method |
17:05 | |
| | |
| CompareTo Method |
17:35 | |
| | |
| ToString Method |
18:16 | |
| | |
Grid Interface |
18:41 | |
| | |
| Represents |
18:50 | |
| | |
Grid Interface: Useful Methods |
20:34 | |
| | |
| getNumRows Method |
20:42 | |
| | |
| getNumCols Method |
20:52 | |
| | |
| isValid Method |
21:00 | |
| | |
Grid Interface: Useful Methods |
22:16 | |
| | |
| Put Method |
22:23 | |
| | |
| Remove Method |
22:13 | |
| | |
| Get Method |
23:26 | |
| | |
Grid Interface: Useful Methods |
23:44 | |
| | |
| GetOccupiedLocations Method |
23:55 | |
| | |
| GetValidAdjacentLocations Method |
24:21 | |
| | |
| GetEmptyAdjacentLocations Method |
25:02 | |
| | |
| GetOccupiedAdjacentLocations Method |
25:24 | |
| | |
Grid Interface: Useful Methods |
25:37 | |
| | |
| GetNeighbors Method |
25:44 | |
| | |
Actor Class |
26:27 | |
| | |
| Constuctor: Actor |
27:02 | |
| | |
| GetColor Method |
27:31 | |
| | |
| SetColor Method |
27:38 | |
| | |
| GetDirectionToward Method |
27:46 | |
| | |
| SetDirection Method |
28:09 | |
| | |
| GetGrid Method |
28:27 | |
| | |
| GetLocation Method |
28:40 | |
| | |
| PutSelfInGrid and RemoveSelfFromGrid Method |
28:51 | |
| | |
| MoveTo Method |
30:03 | |
| | |
| Act Method |
30:17 | |
| | |
| ToString Method |
31:24 | |
| | |
Rock Class |
31:46 | |
| | |
| 3 Methods |
31:58 | |
| | |
Flower Class |
32:35 | |
| | |
| 3 Methods |
32:51 | |
| | |
Bug Class |
33:53 | |
| | |
| Includes These Methods |
34:34 | |
| | |
| How the Move Method Works |
36:38 | |
| | |
| CanMove Method |
38:53 | |
| | |
BoxBug Class |
40:49 | |
| | |
| Behavior |
41:00 | |
| | |
| 2 Private Variables |
41:20 | |
| | |
| Constructor for BoxBug |
41:55 | |
| | |
BoxBug Class Methods |
42:16 | |
| | |
Critter Class |
43:41 | |
| | |
| How It Works |
44:03 | |
| | |
| Next Step |
45:38 | |
| | |
| 3rd Step |
47:01 | |
| | |
| Last Step in Act Method |
48:33 | |
| | |
ChameleonCritter Class |
49:00 | |
| | |
| Redefines Some Characteristics of Critter Class |
49:26 | |
| | |
| Another Difference |
51:02 | |
| | |
Summary |
52:25 | |
| |
Multiple Choice Questions About GridWorld |
41:00 |
| | |
Intro |
0:00 | |
| | |
Roadmap |
0:16 | |
| | |
Multiple Choice Strategies and Tips |
0:45 | |
| | |
| Structure |
0:49 | |
| | |
| Points Worth |
1:47 | |
| | |
Some Strategies and Tips |
3:29 | |
| | |
| No Penalty for Wrong Answer |
6:10 | |
| | |
Some Strategies and Tips Specifically on GridWorld Questions |
6:29 | |
| | |
Some Strategies and Tips Specifically on GridWorld Questions |
9:37 | |
| | |
GridWorld Testable APIs and Code |
13:17 | |
| | |
| Testable APIs |
13:25 | |
| | |
| Testable Code |
13:47 | |
| | |
Example Question 1 |
14:32 | |
| | |
Example Question 2 |
17:11 | |
| | |
Example Question 3 |
22:53 | |
| | |
Example Question 4 |
26:17 | |
| | |
Example Question 5 |
34:11 | |
| | |
Summary |
39:47 | |
| |
Free Response Questions About GridWorld |
39:31 |
| | |
Intro |
0:00 | |
| | |
Roadmap |
0:14 | |
| | |
Free Response Strategies and Tips |
0:49 | |
| | |
| Format |
0:56 | |
| | |
| Points |
1:18 | |
| | |
| Quick Reference Guide |
1:49 | |
| | |
| Not Required to Do in Order |
2:48 | |
| | |
| Multiple Parts |
3:33 | |
| | |
| All Answers Must Be Written in Java |
5:00 | |
| | |
| Partially Correct Solutions Can Be Awarded Partial Credit |
7:49 | |
| | |
| Write Neatly |
10:40 | |
| | |
| Don't Waste Time |
12:52 | |
| | |
GridWorld Testable APIs and Code |
14:55 | |
| | |
| Testable APIs |
15:05 | |
| | |
| Testable Code |
15:53 | |
| | |
GridWorld Testable APIs and Code |
16:37 | |
| | |
| GridWorld Free Response Question |
16:41 | |
| | |
| Example |
17:34 | |
| | |
Example Free Response Question |
18:23 | |
| | |
| Question |
18:54 | |
| | |
| Visual Diagram of the Game Board |
20:00 | |
| | |
| Visual Chart |
21:08 | |
| | |
| Narration Continues |
21:56 | |
| | |
| The Piece Class |
22:59 | |
| | |
| Narration Continues |
23:59 | |
| | |
| What You Will Need to Do |
24:28 | |
| | |
| The Rest of the Definition for DropGame |
25:08 | |
| | |
| Part A: Requirements |
25:55 | |
| | |
| Part B: Requirements |
28:44 | |
| | |
| Part A: Question (Again) |
31:54 | |
| | |
| Part A: One Possible Solution |
32:19 | |
| | |
| Part B: Question (Again) |
35:30 | |
| | |
| Part B: One Possible Solution |
35:47 | |
| | |
| Summary |
38:34 | |
| |
Final Tips for Taking the Exam |
27:38 |
| | |
Intro |
0:00 | |
| | |
Roadmap |
0:10 | |
| | |
AP Computer Science Exam Structure |
0:46 | |
| | |
| Two Sections |
0:49 | |
| | |
| Scoring |
1:24 | |
| | |
Multiple Choice Strategies and Tips |
2:15 | |
| | |
| Answer Questions for Descriptive Paragraph First |
2:38 | |
| | |
| No Penalty for Wrong Answer |
3:42 | |
| | |
Free Response Strategies and Tips |
4:00 | |
| | |
| Each Part Graded Separately |
4:57 | |
| | |
| All Answers Written in Java |
5:54 | |
| | |
| Partially Correct Solutions |
8:32 | |
| | |
| Write Neatly |
10:33 | |
| | |
| Draw a Single Line Through Mess-Ups |
13:09 | |
| | |
Additional Resources |
14:49 | |
| | |
| Download the Project Files for GridWorld |
15:20 | |
| | |
| Download Reference Documents |
15:39 | |
| | |
| Remember, You Can Watch This Lesson More Than Once |
15:54 | |
| | |
What to Bring to Your Exam |
16:19 | |
| | |
What Not to Bring to Your Exam |
18:47 | |
| | |
The Night Before Your Exam |
22:00 | |
| | |
The Day of Your Exam |
24:23 | |
| | |
Summary |
26:44 | |
| |
Glossary of Terms to Know |
36:31 |
| | |
Intro |
0:00 | |
| | |
Roadmap |
0:16 | |
| | |
Abstract Class |
1:28 | |
| | |
Array |
2:29 | |
| | |
Casting |
3:43 | |
| | |
Class |
4:39 | |
| | |
Conditional Statement |
5:35 | |
| | |
Constructor |
6:28 | |
| | |
Escape Sequence |
7:18 | |
| | |
Exception |
8:24 | |
| | |
Final Variable |
8:59 | |
| | |
Inheritance |
10:19 | |
| | |
Instance |
11:36 | |
| | |
Interface |
12:33 | |
| | |
Iteration |
13:08 | |
| | |
List |
14:05 | |
| | |
Logical Operator |
15:11 | |
| | |
Loop |
16:20 | |
| | |
Loop Invariant |
17:06 | |
| | |
Method |
17:30 | |
| | |
Numeric Wrapper Class |
18:55 | |
| | |
Overloading |
20:38 | |
| | |
Polymorphism |
21:10 | |
| | |
Primitive Data Type |
23:22 | |
| | |
Public and Private |
24:06 | |
| | |
Random |
25:03 | |
| | |
Recursion |
27:07 | |
| | |
Return Type |
28:08 | |
| | |
Searching |
28:59 | |
| | |
Signature |
30:14 | |
| | |
Sorting |
30:51 | |
| | |
Static |
32:40 | |
| | |
String |
33:37 | |
| | |
Subclass and Superclass |
34:30 | |
| | |
Glossary |
35:37 | |