Sunday, November 1, 2020

The Hour Of Processing & SAGE!

 The Hour Of Processing & SAGE!


Every year, around Admiral Grace Murray Hopper's birthday (12/9/1906), we celebrate CS Education Week aka CSED Week, and participate in The Hour Of Code. The Hour Of Code started a few years ago and has grown by leaps and bounds! Last year it was estimated that thousands of schools participated world wide. Further, 100s of thousands of students wrote millions of lines of code during their Hour Of Code, many for the first time ever!

I like to tell my students, "Grace Hooper's why we have nice things!" Back in the day of the first electronic computers using Vacuum Tube technology in the 1940s, she invented the concept of coding and programming languages. First, she developed the language A, then she created B, and finally COBOL which is still used today in banking and on Wall Street! So, if it weren't for Gracie, you wouldn't have apps on your SmartPhones! We'd have DumbPhones! 

Admiral Hopper also worked in Naval Intelligence during WWII. For example, top secret files were made public in the late 1990s describing her work on the Manhattan Project. She used some of her first programs on a computer called the Harvard Mark I to solve some really pesky equations leading to the development of the first Atomic Bomb. If it weren't for Grace, the war in the Pacific would have lasted many more years. She single handedly shortened WWII by several years and saved many allied lives! Almost sounds like one of the Hidden Figures from the Space Race years?

In many ways, Grace's story parallels that of Alan Turing, a mathematician who worked for British Military Intelligence during WWII. He built a computer named Christopher out of gears and pulleys, reminiscent of Babbage's Analytical Engine and Ada Lovelace's (12/10/1815, btw) first programs, cracking the Enigma Code used by the Nazis in the European Theater! Alan is also credited with saving millions of lives and shortening WWII by several years!

Many of the activities at the Hour Of Code website are based on the Blockly or Scratch programming languages using online IDEs and target younger students. I've used these in the past but thought I'd do my own this year based on Python and SAGE (see above) as well as Java and Processing tailoring my presentation to a High School audience. 

Python is a very popular programming language used to teach Mathematics and to do real Science. SAGE started out as a supercomputer at first at Harvard, then at Washington State University, funded by the NSF free for you to use wherever you have an internet connection. Now, SAGE runs on the Google Compute Platform (GCP) so we are computing in the cloud! You can use SAGE on your cellphone or tablet using an app and you can use SAGE on your cellphone, tablet or PC using an internet browser. Recently, a commercial version of SAGE has been made available at https://cocalc.com with many more options such as Jupyter Notebooks and LaTEX document support..

I run my Hour Of SAGE or Dan Shiffman's Hour Of Processing with all my classes on Monday of CSED Week and with all the remaining Honors Math classes on Wednesday as an in-school field trip. So, here's what I'll do:

STEP01: About a month before CSED Week I ask all the Honors Math teachers if I can take their classes on an in-school field trip. For those teachers that have agreed to participate, I go to each of their classes and speak about taking Computer Science Honors (intro course in python before AP CSA) next year. I will hand out the following letter too. The CSH (Computer Science Honors) letter I gave to every class except for my current AP CompSci students. I gave them the CSI (Computer Science Independent Study) letter. 

In prior years, we also had a class called CRL (Calculus Research Lab aka Scientific Computing Lab) as a co-requisite for AP Calculus using SAGE to complement Calculus class and to introduce the concepts of Scientific Computing aka Computing Science. Now I use SAGE more often in all my Math classes.






STEP02: Then I'll march the whole class to my PC Lab-Classroom to have them do some coding all period! Put yourself in the students' shoes. Most of these students have never coded before and never saw my Lab before (see picture of my room in the banner of this blog). Imagine walking into a dark room. The only source of light was from 24 student PCs and a SmartBoard. On the SmartBoard you see the Hour Of Code or the Hello Processing website masthead with the Game Of Thrones or A Beautiful Mind original sound track playing in the background. Sorry, I tend to be a little dramatic.

STEP03: Then I will show the following motivational video about coding as a profession.

STEP04: In AP CompSci we used SAGECELL to do some coding. I start very simply with the basic arithmetic operators in Python: +, -, *, /, //, % and ** aka ^. We follow by using the same operators algebraically. I finish with coding a simple python script or two related to the math the students are learning tailored to algebra, geometry, precalculus or calculus (please see the second screencast at the top of this post). With my Math students I introduced the Processing IDE instead based on Daniel Shiffman's Hello Processing Hour Of Code (please see first screencast at the top of this post). Last year we used OpenProcessing for the first time in Processing.js (Java based) mode computing on the Amazon Wed Services (AWS), computing in the cloud!

BTW, when you are computing in the cloud, you are really using someone's super computer. We usually use HAC or HPC cloud servers:

High Availablility Clusters (HAC) like DropBox and Google Drive are basically tons of redundant storage space for your files. Not to worry, if one server goes down, another of several redundant servers still has your files! 

High Peformance Clusters (HPC) like GCP and AWS are made up of several processors so you can run complex code faster, usually in parallel! Applications that need this sort of computing power to solve problems in a timely manner include: Weather Simulations, DNA and Genome Sequencing, 3D Movies, Animated Video, Fractal Decryption Algorithms, etc.

STEP05: We finish with a pep talk from President Obama himself! Gotta luv those guest speakers!

STEP06: Last, but not least, I give out Certificates Of Completion! Sorry, I didn't know the students' names in advance, so they have to fill that part out. Alas, our In-School Field Trip has come to an end, as all good things must.
Well, that's all folks.

Generally Speaking,
A. Jorge Garcia

 
Applied Math, Physics and CS
www.patreon.com/calcpage2020

www.youtube.com/calcpage2009

calcpage.redbubble.com

society6.com/calcpage






2015 NYS Secondary Math PAEMST Nominee


Teaching with Technology, 
pastebin youtube slideshare 
mathforum apcommunity sage

(IDEs & Code)
MATH 4H, AP CALC, CSH: SAGECELL
(Curriculae)
CSH: CodeHS
APCSA: Big Java
APCSA: CSAwesome

RECOMMENDED AP COMPSCI REVIEW:
CRIB SHEET (given during exam)
REVIEW BARRONS BOOK (see me)
REVIEW BARRONS ONLINE 
REVIEW APCENTRAL (past FRQs)
REVIEW EDX REVIEW MOOC01 
REVIEW UDEMY REVIEW MOOC02 
REVIEW CODING_BAT 
REVIEW PRACTICE_IT 
REVIEW RUNESTONE 
AUDIT CS50

RECOMMENDED AP CALCULUS REVIEW:
CRIB SHEET (not given during exam) 
REVIEW BARRONS BOOK (see me)
REVIEW BARRONS ONLINE 
REVIEW APCENTRAL (latest AB FRQs)
REVIEW APCENTRAL (latest BC FRQs)
REVIEW APCENTRAL (older AB FRQs)
REVIEW APCENTRAL (older BC FRQs)
REVIEW EDX MOOC01 
REVIEW COURSERA MOOC02

XTRA CREDIT FILKS RUBRIC 
(1 video = up to 5 bonus points):
1) Use a recognizable tune.
2) Karaoke entire song changing up the words (about STEAM).
3) You are Singing, Dancing or Playing an instrument.
4) You upload your video to YouTube and provide the url.
5) YouTube Description includes the lyrics.

XTRA CREDIT ARTICLES RUBRIC
(up to 5 articles = 1 bonus point each):
1) Cover Sheet is a Summary of the article.
2) FullPage, 12 pt, DoubleSpaced, 1" Margin.
3) Article has to be STEAM related
4) Article has to be a current event.
5) Copy of entire article is attached.