15
10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike https://outlook.office.com/owa/?ItemID=AAMkADk5MzVhY2JiLTFhYTUtNDlkNi05NGMzLTdiYmZhMGU3Y2NmMgBGAAAAAADrx7%2fFabcNSKphoHQNzacRBwBpTqM6as3qR7v6%2bpLKfVwbAAAE… 1/15 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov Greeng West Ada Comp Sci Advisers & Friends, Our new school year is off to a terrific start! Our first major change is that all of our Centennial Comp Sci kids are running virtual machines this year -- -- totally their own, password protected, customized for themes and fonts, with just their specific SW installed. -- they can install this VM on their Win, Mac or Linux machine at home, totally free, and have their exact Centennial machine at home! -- the ova is backed-up offsite (MyCloud, OneDrive ...) for full disaster recover. -- we are running Linux Mint 19 VM's on a Mint 19 base machine, using Oracle VirtualBox; it looks like this -- Mcclendon Mike Tue 10/9/2018 11:47 AM

West Ada Comp Sci Newslett er Oct 2018 / TAC 14 Nov · 10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

  • Upload
    others

  • View
    4

  • Download
    0

Embed Size (px)

Citation preview

Page 1: West Ada Comp Sci Newslett er Oct 2018 / TAC 14 Nov · 10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

https://outlook.office.com/owa/?ItemID=AAMkADk5MzVhY2JiLTFhYTUtNDlkNi05NGMzLTdiYmZhMGU3Y2NmMgBGAAAAAADrx7%2fFabcNSKphoHQNzacRBwBpTqM6as3qR7v6%2bpLKfVwbAAAE… 1/15

West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov

Gree�ng West Ada Comp Sci Advisers & Friends,

Our new school year is off to a terrific start! Our first major change is that all of our Centennial Comp Sci kids are running virtual machines this year --

-- totally their own, password protected, customized for themes and fonts, with just their specific SW installed.-- they can install this VM on their Win, Mac or Linux machine at home, totally free, and have their exact Centennial machine at home!-- the ova is backed-up offsite (MyCloud, OneDrive ...) for full disaster recover.-- we are running Linux Mint 19 VM's on a Mint 19 base machine, using Oracle VirtualBox; it looks like this --

Mcclendon MikeTue 10/9/2018 11:47 AM

Page 2: West Ada Comp Sci Newslett er Oct 2018 / TAC 14 Nov · 10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

https://outlook.office.com/owa/?ItemID=AAMkADk5MzVhY2JiLTFhYTUtNDlkNi05NGMzLTdiYmZhMGU3Y2NmMgBGAAAAAADrx7%2fFabcNSKphoHQNzacRBwBpTqM6as3qR7v6%2bpLKfVwbAAAE… 2/15

We are also running dual networks this year -- "Blue" for our in-classroom network totally controlled by kids & teacher, "Red" for connec�on to theInternet through the West Ada "Lightspeed" filter that tracks everything the kids do, or a�empt to do; The kids start the network selec�on by aphysical switch, shown in the lower right of this picture --

Page 3: West Ada Comp Sci Newslett er Oct 2018 / TAC 14 Nov · 10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

https://outlook.office.com/owa/?ItemID=AAMkADk5MzVhY2JiLTFhYTUtNDlkNi05NGMzLTdiYmZhMGU3Y2NmMgBGAAAAAADrx7%2fFabcNSKphoHQNzacRBwBpTqM6as3qR7v6%2bpLKfVwbAAAE… 3/15

Here is our Blue network, totally configured, controlled, and op�mized for our classroom instruc�on by kids & teacher --

Page 4: West Ada Comp Sci Newslett er Oct 2018 / TAC 14 Nov · 10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

https://outlook.office.com/owa/?ItemID=AAMkADk5MzVhY2JiLTFhYTUtNDlkNi05NGMzLTdiYmZhMGU3Y2NmMgBGAAAAAADrx7%2fFabcNSKphoHQNzacRBwBpTqM6as3qR7v6%2bpLKfVwbAAAE… 4/15

Page 5: West Ada Comp Sci Newslett er Oct 2018 / TAC 14 Nov · 10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

https://outlook.office.com/owa/?ItemID=AAMkADk5MzVhY2JiLTFhYTUtNDlkNi05NGMzLTdiYmZhMGU3Y2NmMgBGAAAAAADrx7%2fFabcNSKphoHQNzacRBwBpTqM6as3qR7v6%2bpLKfVwbAAAE… 5/15

Programming Pathway -- 12th Grade -- "Advanced Programming"

We started the year with Bourne Again Shell Programming.

Project 1. Interac�ve BASH for update, upgrade, autoclean, autoremove...Project 2. Interac�ve BASH for crea�ng tarball backups of any directory based on tar cvfz ...Project 3. Then came a project to search and remove files that needlessly fill their SSD's, based around $ sudo du -hsx * | sort -rh | head -20

This, for example is par�al code from Rocky Mtn senior Michael C --

#!/bin/bash ... full_run () { clear sudo du -hsx * | sort -rh | head -10 echo "Do you want to do 'modify' the files, 'change' directory, or 'exit'? (modify, change, exit)" read response if [ "$response" == "modify" ]; then file_op�ons elif [ "$response" == "change" ]; then echo "Which directory do you want to go to?" read directory cd $directory full_run elif [ "$response" == "exit" ]; then exit 0 fi clear

Page 6: West Ada Comp Sci Newslett er Oct 2018 / TAC 14 Nov · 10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

https://outlook.office.com/owa/?ItemID=AAMkADk5MzVhY2JiLTFhYTUtNDlkNi05NGMzLTdiYmZhMGU3Y2NmMgBGAAAAAADrx7%2fFabcNSKphoHQNzacRBwBpTqM6as3qR7v6%2bpLKfVwbAAAE… 6/15

echo "Do you want to run this again? (y/n)"

read run1 if [ "$run1" == "y" ]; then full_run else exit 0 fi

clear } ...

Then we changed to a new unit on Regular Expressions, beginning with email pa�erns. Most kids started with this --

$ sudo egrep '.+\@.+\..+' email.txt ... and ended with this --

$ sudo egrep '[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Za-z]{2,4}' email.txt

Then we went to simple Social Security Number pa�erns, like this at first --

$ sudo egrep '^[0-9]{3}-[0-9]{2}-[0-9]{4}$' ssn.txt

Then finishing by searching for SSN's using the full requirements (no zero blocks, no 9xx block...), and we some�mes used perl op�ons --

$ sudo grep -P '^(?!219-09-9999|078-05-1120)(?!666|000|9\d{2})d{3}-(?!00)\d{2}-(?!0{4})\d{4}$' ssn.txt

We are now finishing this SysAdmin programming unit with a short intro to sed: The project is to search for SSN's, and redact them with a field of x's;most kids are building their code around this --

sed -re 's/^[0-9]{3}-[0-9]{2}-[0-9]{4}$/xxx-xx-xxxx/' $selec�on > ssnRedact.txt

Go�a love BASH, grep, regex, sed -- so totally comp sci cool to the max!

Today we started one of our larger units for the year: Django with Python. Most of the kids were able to install a Python virtual environment using

Page 7: West Ada Comp Sci Newslett er Oct 2018 / TAC 14 Nov · 10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

https://outlook.office.com/owa/?ItemID=AAMkADk5MzVhY2JiLTFhYTUtNDlkNi05NGMzLTdiYmZhMGU3Y2NmMgBGAAAAAADrx7%2fFabcNSKphoHQNzacRBwBpTqM6as3qR7v6%2bpLKfVwbAAAE… 7/15

$ pipenv install django==2.1

but this did not work for a handful of machines, and we are still troubleshooting. We face this situationfrequently, and it can be challenging to solve!

If all of this looks really interes�ng to you, you are most welcome to be a classroom volunteer and lead us on a project! -- this class meets 07:45 - 09:15am on B days.

Programming Pathway -- 11th Grade -- "AP Computer Science (Java) -- Concurrent Credit with BSU CS 121"

This class has started faster than any previous class, as we con�nue receiving benefits from our "Pathways" program. Pathway means 4 years ofclasses, grades 9-12, where each class builds upon the previous class; The alterna�ve would be a "Cluster" program, with classes not directly chainedin a sequence. So all of the kids in this class have had at least 3 semesters of comp sci prior to this one, and most kids have had 6 semesters -- so ofcourse we are able to start much faster, and will go much deeper than any previous class.

Project 1: Geometry program -- enter sides, radius, etc. and calculate surface area, volume, angles and similar. The GUI for this first project is justSwing JOPs (JOp�onPanes), and kids would makes classes for triangles, spheres, cuboids .... Triangles is the most interes�ng, as you input the lengthsof the 3 sides for any triangle, acute, right, or obtuse then use Heron's formula to find the area:

And use Law of Cosines to find each angle -- I was very pleased that hardly any kids blinked at using inverse cosines and radian-to-degree conversionthis early in the school year:

Project 2: Using Swing JFrames, make a converter that inputs a base-10 number and converts it to base 2, 8, and 16; and also calculate geometry suchas a sphere -- enter the radius to compute surface area and volume. Most kids had no problem with this, except 4/3 pi r^3 tripped up many kids whodid not at first realize that (4/3) is not the same as (4d/3d) or (4.0/3.0).

Project 3: This is a JFrame calculator, mostly emphasizing func�ons, and here is a very nice example from Centennial junior Coleby K:

Page 8: West Ada Comp Sci Newslett er Oct 2018 / TAC 14 Nov · 10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

https://outlook.office.com/owa/?ItemID=AAMkADk5MzVhY2JiLTFhYTUtNDlkNi05NGMzLTdiYmZhMGU3Y2NmMgBGAAAAAADrx7%2fFabcNSKphoHQNzacRBwBpTqM6as3qR7v6%2bpLKfVwbAAAE… 8/15

Next project is a mouse drawing program, con�nuing with Swing (JavaFX comes later).

For our Swing work we are crea�ng JFrames with / with-out inheritance...

public class MouseDraw extends JFrame {

and

public Calculator() { frame = new JFrame("My Cool Func�on Calculator!");

Page 9: West Ada Comp Sci Newslett er Oct 2018 / TAC 14 Nov · 10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

https://outlook.office.com/owa/?ItemID=AAMkADk5MzVhY2JiLTFhYTUtNDlkNi05NGMzLTdiYmZhMGU3Y2NmMgBGAAAAAADrx7%2fFabcNSKphoHQNzacRBwBpTqM6as3qR7v6%2bpLKfVwbAAAE… 9/15

...and Listeners are created with / with-out implemen�ng an interface:

public class Calculator implements Ac�onListener {

and

exitMenuItem.addAc�onListener(new Ac�onListener() { public void ac�onPerformed(Ac�onEvent e) { exitMenuItemAc�onPerformed(e); } });

Great stuff! -- If you would like to lead us on a class project, this class meets 11:40 - 1:05 on A days.

Web Pathway -- 12th Grade -- "Advanced Web Design"

This is our full-stack MERN class, brand new this year and now comple�ng our grade 9-12 Web Design & Development sequen�al pathway program. The kids started by installing Node.js and npm, then used Node with SQL to CRUD a MySQL DB -- like this preliminary test program:

var mysql = require('mysql');

var con = mysql.createConnec�on({ host: "localhost", user: "root", password: "toor", database: "mydb" });

con.connect(func�on(err) { if (err) throw err;

Page 10: West Ada Comp Sci Newslett er Oct 2018 / TAC 14 Nov · 10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

https://outlook.office.com/owa/?ItemID=AAMkADk5MzVhY2JiLTFhYTUtNDlkNi05NGMzLTdiYmZhMGU3Y2NmMgBGAAAAAADrx7%2fFabcNSKphoHQNzacRBwBpTqM6as3qR7v6%2bpLKfVwbAAA… 10/15

console.log("Connected!"); var sql = "INSERT INTO customers (ID, fname, lname, address) VALUES ?"; var values = [ [null, 'John', 'Lawson', '123 W Main St'], [null, 'Samantha', 'Moore', '456 W Park St'], [null, 'Kaylynn', 'Mar�nez', '789 W Cloverdale Ave'] ]; con.query(sql, [values], func�on (err, result) { if (err) throw err; console.log("Number of records inserted: " + result.affectedRows); }); });

We are nearly finished with Node / MySQL as that was primarily a review from last year and a verifica�on that Node was working successfully. Nowthings will get very interes�ng, as we move on to the NoSQL MongoDB -- and with Express and React coming right behind that! This is the W3 path weare following:

Node.js MongoDB

MongoDB Get StartedMongoDB Create DatabaseMongoDB Create Collec�onMongoDB InsertMongoDB FindMongoDB QueryMongoDB SortMongoDB DeleteMongoDB Drop Collec�onMongoDB UpdateMongoDB LimitMongoDB Join

Like to volunteer and lead us on a project? This class meets 09:20 - 10:45 on B days and we would be most pleased for you to come in!

Web Pathway -- 11th Grade -- "Database Design & Programming"

Page 11: West Ada Comp Sci Newslett er Oct 2018 / TAC 14 Nov · 10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

https://outlook.office.com/owa/?ItemID=AAMkADk5MzVhY2JiLTFhYTUtNDlkNi05NGMzLTdiYmZhMGU3Y2NmMgBGAAAAAADrx7%2fFabcNSKphoHQNzacRBwBpTqM6as3qR7v6%2bpLKfVwbAAA… 11/15

This is our full-stack LAMP class. Introductory SQL and MySQL has always been easy for the kids, but PHP debugging has been hard. One change wewill make this year is to move into PHP much earlier, but with very small steps for easier understanding -- and easier debugging. We will start PHP thismonth. Currently, kids are learning SQL and MySQL through the Linux CLI, and through phpMyAdmin. The very best part of phpMyAdmin right now isthat everything the kids do through a GUI also shows the SQL equivalent, which is a superb supplement to W3Schools. The current DB is for aveterinarian's office, with two tables so far, customer and animal. You can see the Foreign Key on animal, as we prepare for SQL Joins:

phpMyAdmin is only a supplement -- a par�cularly good one! -- as our main focus is always SQL, like this --

CREATE TABLE 'customer' ( 'IDcustomer' int(11) NOT NULL AUTO_INCREMENT, 'fname' varchar(50) NOT NULL, 'mname' varchar(50) DEFAULT NULL,

Page 12: West Ada Comp Sci Newslett er Oct 2018 / TAC 14 Nov · 10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

https://outlook.office.com/owa/?ItemID=AAMkADk5MzVhY2JiLTFhYTUtNDlkNi05NGMzLTdiYmZhMGU3Y2NmMgBGAAAAAADrx7%2fFabcNSKphoHQNzacRBwBpTqM6as3qR7v6%2bpLKfVwbAAA… 12/15

'lname' varchar(50) NOT NULL, 'address' varchar(50) DEFAULT NULL, 'city' varchar(50) DEFAULT NULL, 'state' varchar(2) DEFAULT NULL, 'zip' varchar(10) DEFAULT NULL, 'phone' varchar(15) DEFAULT NULL, 'entrant' varchar(50) NOT NULL, PRIMARY KEY ('IDcustomer') ) ENGINE=InnoDB DEFAULT CHARSET=la�n1;

Would you like to be a classroom volunteer and show us some PHP debugging or other great things?! This class meets 1:12 - 2:15 on A days!

Web Pathway -- 10th Grade -- "Web Design & Development"

We are upda�ng this class this year, something we will do all the �me in Comp Sci as our curriculum matches our changing technology and as ourTechnical Advisers tell us what is important locally! Of course we will have a strong founda�on of HTML5, and CSS3, but our previous lengthy units onJavaScript will be updated to place much more emphasis on frameworks (Angular, React ...) -- the way everyone seems to be developing modernwebsites.

To start the year all kids are using Atom, and we used Grids and media queries right away. Here is the Grid page for Eagle HS soph Julianne G, whichalso has two JQuery effects -- an expansion when "about me" is clicked, and a mouse over effect on the Links �tle for emphasis:

h�p://www.westada.tech/a1/julianneg/

You can see the Grids --

Page 13: West Ada Comp Sci Newslett er Oct 2018 / TAC 14 Nov · 10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

https://outlook.office.com/owa/?ItemID=AAMkADk5MzVhY2JiLTFhYTUtNDlkNi05NGMzLTdiYmZhMGU3Y2NmMgBGAAAAAADrx7%2fFabcNSKphoHQNzacRBwBpTqM6as3qR7v6%2bpLKfVwbAAA… 13/15

And here is the Responsiveness, breaking at 40em to stack the Grids along with color and background changes:

Page 14: West Ada Comp Sci Newslett er Oct 2018 / TAC 14 Nov · 10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

https://outlook.office.com/owa/?ItemID=AAMkADk5MzVhY2JiLTFhYTUtNDlkNi05NGMzLTdiYmZhMGU3Y2NmMgBGAAAAAADrx7%2fFabcNSKphoHQNzacRBwBpTqM6as3qR7v6%2bpLKfVwbAAA… 14/15

We are currently doing a small project with CSS3 transi�ons, followed by a lot more JQuery. Frameworks will come a li�le later...

If you have some great projects for us, come on in 07:45 - 09:15 on A days, or 01:12 - 2:15 on B days.

----------------- TECHNICAL ADVISORY COMMITTEE --------------------------

One of the most important factors influencing our curriculum choices is the input we receive from local computer science experts. Twice a year wehold a Technical Advisory Commi�ee mee�ng, invi�ng local experts to share their thoughts and advice with us. Typically only a handful of people showup, but we listen very closely to what they say. For example, last year Andy and Sco� from TSheets recommended --

-- that we use Atom; and this year all of our Centennial web kids have switched from Aptana to Atom.

Page 15: West Ada Comp Sci Newslett er Oct 2018 / TAC 14 Nov · 10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

10/12/2018 West Ada Comp Sci Newsletter Oct 2018 / TAC 14 Nov - Mcclendon Mike

https://outlook.office.com/owa/?ItemID=AAMkADk5MzVhY2JiLTFhYTUtNDlkNi05NGMzLTdiYmZhMGU3Y2NmMgBGAAAAAADrx7%2fFabcNSKphoHQNzacRBwBpTqM6as3qR7v6%2bpLKfVwbAAA… 15/15

-- that we change from Angular to React -- and we adjusted our curriculum to make that happen, changing from MEAN to MERN.-- that we start introducing RESTful API's -- and that is in our revised curriculum as well.

We are listening, we do respond -- with much apprecia�on!

Our next TAC mee�ng:

Centennial High School, Room Comp Sci 014:00 - 5:00 pmWednesday 14 Nov 2018

Agenda: Last year was very specific drill-down into our new for 2018-19 Advanced Web Design & Programming course -- done! This year we wouldlike a general review of our en�re program, 9th through 12 grade, web and programming pathways. Please share your thoughts with us -- learn moreabout our program, suggest how we can make it even be�er for all of our West Ada kids who in the near future will be your college students,employees, and valued colleagues.

Thank you,

Mike McClendon Computer Science TeacherCentennial High School