Curriculum Overview
Comments
 Share
 
Comment only
 
 
Still loading...
ABCDEFGHIJKLMNOPQRSTUVWXYZAAAB
1
Lesson #NameReview
Project (what they should be able to do by the end of class)
Key points
2
Lesson 1Hello, WorldN/APrinting CalculationsIntro to Java languageOverview of curriculumExplanation of JShellPrinting "Hello World"Numeric variables/say what Strings areOperatorsResults vs. Side effectsHave them figure out what % does
3
Lesson 2Tough decisionsDifference between int and doubleComplex grade calculator (determine A-F)Boolean logic/operatorsComparison operatorsThe almighty if statementOr elseChaining else-if'sA case for switches (and a case against)Pseudocode (not pseudoscience)Simple grade calculator (Pass/Fail)
4
Lesson 3Letting your program flowPrint out if number is even or oddFizzbuzz (both while and for loops)While loopsNot getting stuck in an infinite loopPrint out 1-10 with while loopDo-While loopFor loopPrint out 1-10 with for loop
Print out even numbers (both with skipping and with if statements)
5
Lesson 4A method to the madnessSum all odd numbers below 1000Print prime numbers (write isPrime(int i) method)Write once, use many timesMethods are a bit like operators-side effects and resultsWrite void method (only has side-effects)Method to print out 1-10Calling methodsReturning a valueTaking a single parameterWrite method to square a numberisEven(int) method
More than one parameter- exponent method
What happens when you define more than one method with the same name (different parameter lists)- overloading
6
Lesson 5Giving your program some classFind angle between hands on clockPerson/House projectGrouping variables together, instantiating groupMethod to process the "grouped" variables
Moving methods inside the group (adding a class method)
Blueprint analogyReference vs value typesAccessibility modifiersComposition (putting one class inside of another)Mutability vs immutibility, side-effects
7
Lesson 6Strings and yarn (and Javadoc)Create a class for somethingSimple text based calculatorExplain ASCII/ char typeOperations on Strings have no side effectsUse .equals() to compare StringsSwitch statements don't work
Converting Strings to numbers (and the other way)
Go through String methodsFind earliest letter in alphabet
8
Lesson 7An array of... stuffDoes a String contain a letterSequential searchArrays are reference typesArrays of objects hold referencesArrays of primitives hold the value itself
Looping through an array/ changing values
Foreach loop and limitations
9
Lesson 8The shadow of the eclipse/ Basically a gitCalculate average of arrayCreate multi-class eclipse projectInstalling/Launching eclipseWorkspacesEclipse GUI Overview (Perspectives/Views)Projects, main methodCreate github accountsStaging, committing and pushing to gitReverting changes in gitPulling/Fetching
10
Lesson 9Static electricityOpen eclipse and create projectSingleton patternNormal fields aren't shared between instancesCreating objects with static fieldsStatic methods can't access non-static fields
Non-static methods can access static fields
Calling static vs. non-static methodsWhy static (can be) evilHow to correctly use static fields
11
Lesson 10Say it to my interface
Count how many instances of an object there are
Implement the Iterable interface to encapsulate an arrayWhy they are useful (reference an object by functionality)Implementing an interfaceReferencing an object by its interfaceImplementing multiple interfacesAccepting interfaces as parametersCasting from an interfaceStatic methodsDifferent types of interfaces
(If there's time) Overview of some common interfaces
12
Lesson 11A large inheritancePrint out all numbers in an Iterator<Double>Probably a Person or Animal inheritance chain
Abstract classes are like interfaces, but they can have both kinds of methods
You can only extend one class (diamond inheritance problem)
You can also extend non-abstract classes
A subclass can be treated like its superclass
Casting and conversionThe Object classOverriding methodsCalling super methods and constructorsMethods that accept a supertypeThe instanceof operator
Arrays and inheritance
13
Lesson 12Exceptional times call for ExceptionsThe Exception class
Throwing (checked) exceptions (also adding throws declaration)
Catching exceptionsPros/cons of throwing exceptionsWriting your own exceptionUnchecked exceptions/ RuntimeExceptionCatching multiple exceptions/ multiple catch statementsExceptions and inheritanceCommon Exceptions
14
Lesson 13Generic collection #109827Collection/List interfaces, and the angle bracketsUsing lists, find median/mean of listLinkedList vs ArrayListWriting own generic classGeneric methodsDiamond operator, wildcardsInheritanceUsing HashMap
15
Lesson 14Not just regular nums, but enums
16
Lesson 15Going to college (wpilib)Installing wpilibIterativeRobotReading and writing to SmartDashboardUsing Riolog
17
Lesson 16Reading input with sensors
18
Lesson 17Actuators
19
Lesson 18PID
20
Lesson 19Robotbuilder/command-based programming
21
Lesson 20Advanced git/ Writing a robot
22
Lesson 21
Bonus: Anonymous classes and lambda expressions
23
Lesson 22Bonus: Streams
24
25
Notes:
26
Lesson 11 may take longer than planned
27
Should there be homework?
28
Fit in reading javadoc somewhere
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
Loading...
 
 
 
Sheet1