CS30 Regular 2017/18
Block 4 - Semester 2
Computer Science 30 Regular - Complete Lesson Plan
Notes to Teachers
Class 81 - Thursday, June 14
Self Evaluation of Projects
Class 74 Tues, June 6 through Class 80 Wed. June 13
Work time on project
Class 77 - last chance to update Planning Doc with new Criteria for Success
Class 73 - Mon. June 5
Project Credit Class 3B
First 30 minutes - Finish up time
Remainder of the class - Project Planning Doc
Class 71 & 72 - Thursday, May 31- Fri. June 1
Project Credit Class 2
Day 4 and 5 to work on GUI project
Go over new rubric and ask for feedback (on next page). We will do a self mark plus I will mark it.
Java Project Marking Rubric
5 | 4 | 3 | 2 | 1 | |
Technical | Code works without errors All functions work properly Read me or other documentation created to help marking | Code works without errors Some functions may not work as conceived but do not generate errors. No documentation | Errors are in logic but do not cause computer to crash | Major errors | |
GUI & User Experience | GUI is fully implemented Design is thoughtfully created (Layout, fonts & color scheme) User experience is smooth | GUI is fully implemented but lacks in a smooth experience and/or design | GUI is partially implemented, supplemented with non-GUI Or Major flaws in design or lack of thought in design | GUI is uses sparingly. | |
Complexity | Program juggles multiple instance classes. A variety of grade 12 algorithms are used to implement complex menu options. A variety of advanced GUI concepts are implemented Text Files effectively used for long term storage. | Program uses a variety of classes. | Program is sufficiently complex | Program is insufficiently complex for a CS30 project. | |
Class 69 - Tuesday, May 29
Project Credit Class 2
Discuss marking of project
Back up the folder.
Set a goal for the day.
Class 68 - Monday, May 28
Project Credit Class 2
Continue GUIFied Lawn Mower Example
Introduce and work on Java Wrap UP Project
How to Proceed
Stage 1 Analysis
Step 2 Design
Step 3 Impementation
Groups
Hamdi | Will | Spencer |
Dani | Connor | |
Ty | Kevin | Suraj |
Ryan | Jasvinder |
Class 67 - Friday, May 25
Project Credit Class #1b
Only 3 in class due to Grad
Class 66 - Thursday, May 24
Project Credit Class #1
Sunny - Project self evaluation via Classroom
Suraj - Finish Iterative Algorithms basic then OOP
Discuss upcoming Java Wrap Up Project
GUI example
Turn the LawnMowing example into a GUI - Refactor… Copy and then:
Class 65 - Wednesday, May 23
Iterative Algorithms Class 16
Away at Iverson- catch up time.
Sub gave a short lesson on the Java Canvas.
Class 64 - Thursday, May 17
Iterative Algorithms Class 15
Sunny - Project self evaluation via Classroom
No Help assignment
Class 63 - Wednesday, May 16
Iterative Algorithms Class 14
Sunny - Project self evaluation via Classroom
Explain No Help assignment details (on Thursday)
Last 30 minutes - Dice Game GUI example (with slider by request)
Dice Game
public class DiceMain {
public static int[] dieRolls = new int[3];
public static void main(String[] args) {
new DiceJFrame().setVisible(true);
}
}
private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
int bet = jSlider1.getValue();
int winnings = (DiceMain.dieRolls[0]+DiceMain.dieRolls[1]+DiceMain.dieRolls[2])*bet;
jTextField1.setText("You win $ " + winnings);
}
private void rollButtonActionPerformed(java.awt.event.ActionEvent evt) {
DiceMain.dieRolls[0] = (int)(Math.random() * 6 + 1);
DiceMain.dieRolls[1] = (int)(Math.random() * 6 + 1);
DiceMain.dieRolls[2] = (int)(Math.random() * 6 + 1);
die1.setIcon(new javax.swing.ImageIcon(getClass().getResource( DiceMain.dieRolls[0] + ".jpg"))); // NOI18N
die2.setIcon(new javax.swing.ImageIcon(getClass().getResource( DiceMain.dieRolls[1] + ".jpg"))); // NOI18N
die3.setIcon(new javax.swing.ImageIcon(getClass().getResource( DiceMain.dieRolls[2] + ".jpg"))); // NOI18N
}
Class 62 - Tuesday, May 15
Iterative Algorithms Class 13b
In library - show rest of Bitcoin
Work time on other classes when done.
Class 61 - Monday, May 14
Iterative Algorithms Class 13
Discuss Thursday or Wednesday’s no help assignment
Tomorrow we are in room ___. We will watch the end of the bitcoin documentary and then?
Today - finish up time.
Class 60 - Friday, May 11
Iterative Algorithms Class 12
GUI Review - Creating our own GUI from scratch
Work time on assignments
GUI NotePad Class
package GUI_Notepad;
import java.awt.*;
import java.awt.event.*;
import java.io.*;
import javax.swing.*;
public class NotePad_GUI extends JFrame implements ActionListener {
private JPanel innerWindow = new JPanel();
private JButton read = new JButton("Load File");
private JButton write = new JButton("Save File");
private JTextField fileField = new JTextField(20);
private JTextArea textArea = new JTextArea(50,50);
private JLabel label = new JLabel("File name:");
public NotePad_GUI() {
super("Couprie's Block 4 Notepad Extravaganza");
//this.add(innerWindow);
innerWindow.setLayout( new GridLayout(2,2,1,1) );
this.getContentPane().setLayout(new BorderLayout());
this.getContentPane().add("North",innerWindow);
this.getContentPane().add( new JScrollPane(textArea) );
this.getContentPane().add( "Center",textArea);
innerWindow.add(read);
innerWindow.add(write);
innerWindow.add(label);
innerWindow.add(fileField);
//innerWindow.add(textArea);
innerWindow.setBackground(Color.magenta);
textArea.setBackground(Color.yellow);
textArea.setForeground(Color.BLUE);
Font font = new Font("ravie",Font.PLAIN, 20);
textArea.setFont(font);
read.addActionListener(this);
write.addActionListener(this);
}
private void readTextFile(JTextArea textArea, String fileName) {
try {
BufferedReader inStream = new BufferedReader(new FileReader(fileName)); // Open the stream
String line = inStream.readLine(); // Read one line
while (line != null) { // While more text
textArea.append(line + "\n"); // textArea a line
line = inStream.readLine(); // Read next line
}
inStream.close(); // Close the stream
} catch (FileNotFoundException e) {
textArea.setText("IOERROR: File NOT Found: " + fileName + "\n");
e.printStackTrace();
} catch (IOException e) {
textArea.setText("IOERROR: " + e.getMessage() + "\n");
e.printStackTrace();
}
} // end readTextFile
//writes to a text file. Netbeans will look for it at the Project Folder level.
private void writeTextFile(JTextArea textArea, String fileName) {
try {
FileWriter outStream = new FileWriter(fileName);
outStream.write(textArea.getText());
outStream.close();
} catch (IOException e) {
textArea.setText("IOERROR: " + e.getMessage() + "\n");
e.printStackTrace();
}
} // end writeTextFile()
//watches the button and waits until it is clicked
public void actionPerformed(ActionEvent evt) {
String fileName = fileField.getText();
if (evt.getSource() == read) {
textArea.setText("");
readTextFile(textArea, fileName);
} else {
writeTextFile(textArea, fileName);
}
}//end actionPerformed()
}
GUI Notepad MAIN
package GUI_Notepad;
import javax.swing.JFrame;
public class NotePad_Main {
public static void main(String[] args) {
NotePad_GUI window = new NotePad_GUI();
window.setSize(400, 200);
window.setVisible(true);
window.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
}
}
Class 59 - Thursday, May 10
Iterative Algorithms Class 11
Announce No Help Assignment (in lieu of a credit exam) next Wednesday
Merge Algorithms
Thurs - Merge
Fri - Catch up time
Mon - Half GUI review, half catch up time
Tues - Half Gui review, half catch up time
Wed - No help assignment
Class 58 - Wednesday, May 9
Iterative Algorithms Class 10
Work time on Assignment 7 and 10
Public static void int[] concatenateArray(int[] arr1, int[]arr2){
Class 57 - Tuesday, May 8
Iterative Algorithms Class 9
Insertion Sort - 5 minute explanation https://www.youtube.com/watch?v=mXA1ICs3K4Y
Talk about the Selection sort algorithm but explain that any video you see will explain it but it is very similar to the Insertion Sort
Introduce Assignments
Class 56 - Monday, May 7
Iterative Algorithms Class 8
Prep - Copy a student’s sort and search algorithms into my SearchAndSort class
Bubble Sorting Parallel Arrays
Introduce the new assignment -
Class 55 - Friday, May 4
Iterative Algorithms Class 7
Catch up time
Banking on Bitcoin
Class 54 - Thursday, May 3
Iterative Algorithms Class 6
Quick Review of Bubble Sort
Work time on these 2 assignments only
Extra Activity - Watch Ted.com SpaceX interview
Class 53 - Wednesday, May 2
Iterative Algorithms Class 5
Code the DESCENDING order Bubble Sort from http://mathbits.com/MathBits/Java/arrays/Bubble.htm for an integer array.
Introduce them to IA9 - The Search and Sort Objects assignment
Finish Binary Search Activities
Class 52 - Tuesday, May 1
Iterative Algorithms Class 4b
Basic Algorithms Part 2
Introduce Sorting Algorithms without Actually Coding
And then this video: https://www.youtube.com/watch?v=WaNLJf8xzC4 - TED Ed Sorting Algorithms
Create your own sort algorithm
Specific Intro to the Bubble Sort
Code the DESCENDING order Bubble Sort from http://mathbits.com/MathBits/Java/arrays/Bubble.htm for an integer array.
Finish Binary Search Activities
Class 51 - Friday, April 27
Friday diversion - Monster Class example (created for the CS20s and prototyped with this class)
Class 50 - Thursday, April 26
Iterative Algorithms Class 3
Do a couple of other quick Array Algorithms reviews for future assignments
Demo the effects of String.compareTo();
Work on assignments 2 and 3
public class Ex1_BasicAlgorithms {
public static void main(String[] args) {
String[] countries = Files.loadStringArr("Happiness/countries_ranked.txt");
String[] regions = Files.loadStringArr("Happiness/region.txt");
double[] score = Files.loadDoubleArr("Happiness/score.txt");
for(int i=0; i<countries.length; i++){
System.out.println(i+ ". " +countries[i] + " " + regions[i] + " " + score[i]);
}
for(int i=0; i<countries.length; i++){
if( regions[i].equals("Central and Eastern Europe") ){
System.out.println(i+ ". " +countries[i] + " " + regions[i] + " " + score[i]);
}
}
//count the number of countries in Central and Eastern Europe
int counter = 0;
for(int i=0; i<countries.length; i++){
if( regions[i].equals("Central and Eastern Europe") ){
counter++;
}
}
System.out.println("The number of Central and Eastern Europe countries is " + counter);
//total score
//average score
double total = 0;
for(int i=0; i<countries.length; i++){
total+=score[i];
}
double average = total/countries.length;
System.out.println("The total score is " + total);
System.out.println("The average score is " + average);
for(int i=0; i<countries.length; i++){
System.out.println(countries[i] + countries[i].compareTo("Canada"));
}
}//end main
}//end class
Class 49 - Wednesday, April 25
Iterative Algorithms Class 2
Note that basic algorithms have been added to assignment 1 for next year. We may want to do some related review first. See page up for example code
Discuss the credit as a whole
Check on yesterday’s lesson with the sub and the assignment
Introduce the 3 Binary Search assignments and let them roll.
Class 48 - Tuesday, April 24
Iterative Algorithms Class 1
Introduction to Binary Search Algorithms
Review on the whiteboard how a Linear search method worked
Ex1_BinarySearch
Last OOP work time
Class 47 - Monday, April 23
OOP Test
Finish up time
Class 46 - Friday, April 20
Major GUI review - Together, create a JFrame that will allow us to enter a new instance class for LawnMower
Review terms for test on Monday
Check if we need more finish up time
Class 45 - Thursday, April 19 - Sub plans
Day 17 of OOP
Class 44 - Wednesday, April 18- Sub plans
Day 16 of OOP
Activity 1: Work time
These students all have assignments to complete and are all aware of what to be working on. Most will be on one of the following:
Activity 2: Big Data Video - Start showing at about 2:40
Go to this link: Big Data Revolution Documentary or search "Big Data Revolution" - PBS Documentary on youtube.
Fast forward to the 14 minute mark as we already watched the first 14 minutes in a previous class. There are about 40 minutes remaining.
If a students asks to WORK during the video, you can give them permission to do so but it is work or watch, not free time.
Class 43 - Tuesday, April 17
Day 15 of OOP
Discuss exam format for next Monday
Review and add to notes:
Class 42 - Monday, April 16
Day 15 of OOP
Review Inheritance concepts
Class 41 - Friday, April 13
Day 14 of OOP
Work time
Show Bitcoin Documentary or Big Data in second half of class
Class 40 - Thursday, April 12
Day 13 of OOP
Use the Oracle Tutorial to discuss Inheritance.
Discuss with the BankAccount assignment. There are many types of possible child classes of the BankAccount class:
Demo using the Store Example
Work time on Database
Class 39 - Wednesday, April 11
Day 12 of OOP
Work time
Class 38 - Tuesday, April 10
Day 11 of OOP
Prep: set up the student class and get them to copy it first
Lesson on Using CSV files
Work time on Database
TextFiles Example - Instance Class
Change this to an Actor class with name, sales, age, role
public class Student {
public String name;
public double feesPaid;
public int grade;
public String position;
public Student(String n, double f, int g, String p) {
name = n;
feesPaid = f;
grade = g;
position = p;
}
}
TextFiles Example - Main Class
import java.util.ArrayList;
import java.io.*;
public class TextFilesMain {
public static void main(String[] args) {
ArrayList<Student> allStudents = new ArrayList();
loadFile("studentfile.txt", allStudents);
for (int i = 0; i < allStudents.size(); i++) {
System.out.println(allStudents.get(i).name + " $" + allStudents.get(i).feesPaid);
}
allStudents.get(0).feesPaid += 100;
allStudents.add(new Student("Dani", 50, 12, "Chucker"));
saveFile("studentfile.txt", allStudents);
}//end main
public static void saveFile(String filename, ArrayList<Student> tempList) {
try {
PrintWriter file = new PrintWriter(new FileWriter(filename));
for (int i = 0; i < tempList.size(); i++) {
//the next lines are customized for whatever data you are getting.
String toSave = "";
toSave += tempList.get(i).name;
toSave += "," + tempList.get(i).feesPaid;
toSave += "," + tempList.get(i).grade;
toSave += "," + tempList.get(i).position;
file.println(toSave);
}
file.close();
} catch (IOException ex) {
System.out.println(ex.toString());
}
}//end
public static void loadFile(String filename, ArrayList tempList) {
String temp = "";
try {
BufferedReader file = new BufferedReader(new FileReader(filename));
while (file.ready()) {
temp = file.readLine();
String tempArray[] = temp.split(",");
//the next line is customized for whatever class you are creating.
//Here we create a new STUDENT so there are 4 variables
tempList.add(new Student(tempArray[0], Double.parseDouble(tempArray[1]), Integer.parseInt(tempArray[2]), tempArray[3]));
}
} catch (IOException e) {
System.out.println(e);
}
}//end loadFile
}//end class
Class 37 - Monday, April 9
Day 10 of OOP
Note - I am away at Faculty Council, ___ is covering
Work on assignments 3-6
Class 36 - Friday, April 5
Day 9 of OOP
Introduce OOP 5 Crossword Puzzle Assignment (worth less - likely only 10% - so those that are behind should skip)
Work time on Assignments 2 - 5
End of class?
Class 35 - Thursday, April 4
Day 8 of OOP
Introduce the Geometry Assignment
Work time on Assignments 2 - 4
OOP 5 Crossword Puzzle Assignment (worth less - likely only 10% - so those that are behind should skip)
Class 34 - Wednesday, April 3
Constructor Practice
Notes Continued
Visibility Indicators
Static and Abstract Classes
Other Considerations and Terms
Lawn Client Continued
Discuss before adding: How would you automatically generate a client ID number so that it increases each time?
public static int counter = 100000;
accountNum = BankingMain.counter;
BankingMain.counter++;
Finish 3 Bank Account
Class 33 - Tuesday, April 3
Day 6 of OOP
Post Constructor Practice to Classroom
Lawn Mower Major Example
Add to Notes - Visibility Indicators
Assignment 3 Bank Account
Lawn Mower Example - Private and Public
LawnMowerClients
public class LawnClient {
//Instance variables
public String name;
public String address;
public int lawnSize; //in square metres
public boolean hasDog;
private double outstandingFees;
//Contructor methods
public LawnClient(String n, String a, int s, boolean dog){
name = n;
address = a;
lawnSize = s;
hasDog = dog;
outstandingFees = 0;
}
//Instance methods
public void calculateFee(){
double total = lawnSize * 0.25;
if(hasDog){
total += 10;
}
System.out.println("Charging for this mow: $" + total);
outstandingFees += total;
}
public void processPayment(double dollars){
outstandingFees -= dollars;
System.out.println("You still owe us: $" + outstandingFees);
}
public double getOutstandingFees(){
if(outstandingFees > 50 && hasDog){
hasDog = false;//we sent in the thugs
}
return outstandingFees;
}
}//end LawnClient Class
public class LawnMain {
public static void main(String[] args) {
LawnClient c1 = new LawnClient( "Mr. Gardner", "Belgravia Road",80, false );
LawnClient c2 = new LawnClient( "Mr. Smyth", "Ottewell Road",60, true );
LawnClient c3 = new LawnClient( "Mr. Couprie", "199 Street",50, false );
LawnClient[] clientList = {c1, c2, c3};
c1.calculateFee();
c1.calculateFee();
c2.calculateFee();
c2.calculateFee();
c2.calculateFee();
c3.calculateFee();
c1.processPayment(30);
c2.processPayment(60);
c3.processPayment(10);
for (int i=0; i<clientList.length; i++){
System.out.println(clientList[i].name + " still owes $" + clientList[i].getOutstandingFees() );
}
}//end main
Class 32 - Friday, March 23
Day 5 of OOP
Finish Coins, some started Bank Account
Class 31 - Thursday, March 22
Review parts of an instance class by opening notes
STor
StoreProducts Review example
OOP2 Coins example
Class 30 - Wednesday, March 21
Day 3 of OOP
Add to OOP Notes - Instance Classes
Parts of an Instance Class
BikeAThonTeams Brainstorm
Bike-a-thon v1 Major example
Finish Assignment 1
Class 29 - Tuesday, Mar. 20
Notes on Types of Non-Instance Classes (AP student in mind)
Review the setup of the Static Classes
Create a new package called OOP Calculator.
Finish Arduino
Class 28 - Monday, Mar. 19
Day 1 of OOP
Introduction to the Object Oriented Programming Credit
Create a OOP Notes Google Doc
Big Java Review Day 1- Poker Game Example creating a GameUtilities static class
Work on Arduino
TwoCardPoker Main Class
package BigReview;
public class TwoCardPoker {
public static void main(String[] args) {
int[] playerhand = new int[2];
int[] casinohand = new int[2];
playerhand[0] = GameUtilities.getRandom(13) + 1;
playerhand[1] = GameUtilities.getRandom(13) + 1;
casinohand[0] = GameUtilities.getRandom(13) + 1;
casinohand[1] = GameUtilities.getRandom(13) + 1;
String[] playerSuits = new String[2];
String[] casinoSuits = new String[2];
playerSuits[0] = GameUtilities.getSuit();
playerSuits[1] = GameUtilities.getSuit();
casinoSuits[0] = GameUtilities.getSuit();
casinoSuits[1] = GameUtilities.getSuit();
System.out.println("The player has a ");
for (int i = 0; i < playerhand.length; i++) {
System.out.println(GameUtilities.printCard(playerhand[i], playerSuits[i]));
}
System.out.println("The casino has a ");
for (int i = 0; i < playerhand.length; i++) {
System.out.println(GameUtilities.printCard(casinohand[i], casinoSuits[i]));
}
if (GameUtilities.isFlush(playerSuits[0], playerSuits[1]) && !GameUtilities.isFlush(casinoSuits[0], casinoSuits[1])) {
System.out.println("The player wins with a flush");
} else if (!GameUtilities.isFlush(playerSuits[0], playerSuits[1]) && GameUtilities.isFlush(casinoSuits[0], casinoSuits[1])) {
System.out.println("The casino wins with a flush");
} else if (GameUtilities.isFlush(playerSuits[0], playerSuits[1]) && GameUtilities.isFlush(casinoSuits[0], casinoSuits[1])) {
if (GameUtilities.getHighest(playerhand[0], playerhand[1]) > GameUtilities.getHighest(casinohand[0], casinohand[1])) {
System.out.println("The player wins with a higher flush");
} else {
System.out.println("The casino wins with a higherflush");
}
}
else if (GameUtilities.isPair(playerhand[0], playerhand[1]) && !GameUtilities.isPair(casinohand[0], casinohand[1])) {
System.out.println("The player wins with a pair");
} else if (!GameUtilities.isPair(playerhand[0], playerhand[1]) && GameUtilities.isPair(casinohand[0], casinohand[1])) {
System.out.println("The casino wins with a pair");
} else if (GameUtilities.isPair(playerhand[0], playerhand[1]) && GameUtilities.isPair(casinohand[0], casinohand[1])) {
if (GameUtilities.getHighest(playerhand[0], playerhand[1]) > GameUtilities.getHighest(casinohand[0], casinohand[1])) {
System.out.println("The player wins with a higher pair");
} else {
System.out.println("The casino wins with a higher pair");
}
} else if (GameUtilities.getHighest(playerhand[0], playerhand[1]) > GameUtilities.getHighest(casinohand[0], casinohand[1])) {
System.out.println("The player wins with the highest card");
} else {
System.out.println("The casino wins with a highest card");
}
}//end main
}//end poker
GameUtilities Class
//This is a static class
//We will use the methods
package BigReview;
public class GameUtilities {
public static int getRandom(int max){
return (int)( Math.random() * max + 1 );
}//end getRandom
public static String getSuit(){
int num = getRandom(4);
if ( num == 1) return "clubs";
else if (num == 2) return "diamonds";
else if (num == 3) return "hearts";
else return "spades";
}//end getSuit
public static String printCard(int cardNum, String suit){
if (cardNum < 11) return cardNum + " of " + suit;
else if (cardNum == 11) return "jack of " + suit;
else if (cardNum == 12) return "queen of " + suit;
else if (cardNum == 13) return "king of " + suit;
else return "ace of " + suit;
}//end print suit
public static boolean isPair(int num1, int num2){
return num1==num2;
}//end isPair
public static boolean isFlush(String s1, String s2){
return s1.equals(s2);
}
public static int getHighest(int num1, int num2){
return Math.max(num1, num2);
}//
}
Class 24-27
Monday - finish up theory
Tues-Thurs - Arduino Final Project
Class 21 & 22 - Wednesday, Mar. 7 & 8
Careers assignment
Circuit practice
Next Up
Hiding a secret message in an Image
Class 20 - Tuesday, Mar. 6
Split logic gates into 2 assignments
Add a question about flipflops
Return infographic marking
Logic Gates Review and New
Complete the Grade 10 Practice, marking it immediately afterwards
Adders
Start Digital Circuits #2
Class 19 - Monday, Mar. 5
Flippybit - get to 10 to win a candy
Binary Bonanza challenge - beat your last best score to win a candy
Discuss Negative Numbers in Binary and the final 5% assignment
Hex Colors Assignment Takes about 15 minutes to complete
Logic Lab Review
Rules:
Monday | Hex Colors Assignment |
Tuesday | Look for review video in old lesson plans Grade 10 Logic Gates Review Careers Assignment |
Wednesday | Intro to new logic gates, adders and flip flops Digital Circuits Assign |
Thurds | Digital Circuits |
Ffri | Binary, Hex and Logic Quiz |
Class 18 - Wednesday, Feb. 28
Go over the project document part 1 by having them skim through the textbooks, instructables and make magazine
Finish Mr. Piano Man
Flippybit - get to 10 to win a candy
Binary Bonanza challenge - beat your last best score to win a candy
Class 17 - Tuesday, Feb. 27
Prep: Finalize test format and announce
Discuss test - Will be coding only. It will include multiple buttons, and LED and a motor/servo. Will be after the project which will be after Theory which means after next week.
Hex & Binary numbers review and practice
Discuss Project Options
Continue Mr. Piano Man
Class 16 - Monday, Feb. 26
Check on progress of Mr. Piano Man
Discuss Arduino Wrap Up Project Possibilities
Show Students Projects from last year (in notShared folder)
Announce Timeline
We need a type of ‘test’ to end the credit. What do you suggest?
Ask for Arduino volunteer(s) for open house
Class 13-15 - With Sub
Class 12 - Tuesday, Feb 20
Prepare them for the sub by walking through the timeline
Remind them that I will mark Infographic soon (tonight?)
Walk them through the Careers Assignment which will likely happen on Friday. They will access that assignment via CLASSROOM
Class 8 - Tuesday, Feb. 13
Project Idea - watch a POV video
Walk through remaining assignments
Buttons R,P,S demo
Assign 5 Tug of War/Binary Counter
Class 7 - Monday, Feb. 12
Prep: set up document camera
Finish InfoGraphic - Give 20-30 more minutes. Will mark starting mid-week.
Finish Meltdown - both are cut off today
Assign 4 Theory becomes final 10%
Class 6 - Friday, Feb. 8
Work on Infographic
Finish Arduino 3
Work on Arduino 4
Arduino Reminders
LEDs - long lead goes to positive (usually to the Pin), short to the resistor
Remember to use the 'Green-Blue-Brown' resistor for the LED
Arduino New Activities to Add Next year?
Combination Lock Exam or Project
Class 5 - Wednesday, Feb. 7
Prep:
CES 2018 Highlights Video (4:33) https://www.cnet.com/videos/best-tech-of-ces-2018/
Continue Infographic Assignment
Work on Arduino 2&3
Class 4 - Tuesday, Feb. 6
Prep:
Arduino Lesson - What is the Serial Monitor
Serial Monitor Example 1 from http://www.ladyada.net/learn/arduino/lesson4.html
Serial Monitor Example 2
Work time - Finish Assignment 2 and start assignment 3
Tomorrow we will continue work on Infographic
Class 3 - Monday, Feb. 5 - With Sub
Prep:
Activity 1: Information Highway Infographic (40 minutes)
Have them open the assignment via Google Classroom. You can access the instructions here.
You are going to give them about 40 minutes to work on it. They are to aim to complete all of Section 1 and to start on Section 2 during this time.
Activity 2: Arduino Assignment and Video
Have them open the assignment called Arduino Assignment 4 - About the Board via Google Classroom. You can access it here.
Before they begin the assignment itself, watch this video with them. Warn them that it is quite dry but it is only 6 minutes and some of the answers in the Component Table (end of first page) are discussed directly in the video. They may want to record the answers at that time.
Video: Youtube - Arduino Uno tutorial Basic microcontroller overview - Linked here
They are to work on Arduino Assignment 4 for the remainder of the class. If they finish early, tell them to continue working on Assignment 2 which most started but did not finish on Friday.
Complete Info Revolution Infographic Section 1 - first half of class
Arduino - Learning about the board assignment
Complete Learning Assignment
Complete Assignment 1
Class 2 - Friday, Feb. 2
Prep:
Watch this video to explain the board (warning it is dry) : https://www.youtube.com/watch?v=4dXC9XrZT1Q
Set up External LED together.
Complete Info Revolution Infographic Section 1
Can be done in partners IF it is done collaboratively (rather than splitting up the work)
Class 1 - Thursday, Feb. 1
Prep:
Welcome back and discuss the small class size
Go through course outline and discuss the final project
Waterloo CCC - Discuss the exam- I must register tomorrow
Introduction to the Arduino Credit
Unbox and prepare their kit
Complete the learning activities from assignment 1 together in class