Showing posts with label csed. Show all posts
Showing posts with label csed. Show all posts

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.

Sunday, December 1, 2019

The Hour Of Processing 2019!

The Hour Of Processing & SAGE 2019!

Every year, around Admiral Grace Murray Hopper's birthday, 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! 

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 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 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 will run my Hour Of SAGE with all my classes on Monday 12/9/2019 and with all the remaining Honors Math classes on Wednesday 12/11/2019 as an in-school field trip. So, here's what I'll do on Wednesday:

STEP01: I go to each class 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.






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 HourOfCode website masthead with the Game Of Thrones 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 HelloProcessing Hour Of Code (please see first screencast at the top of this post). This 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 and photos. 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! Applications that need a lot 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! 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.

Monday, October 1, 2018

How Do I Reach These Kids?

How Do I Reach These Kids?

Over the past 35 years, I've tried everything I could think of to make learning fun in my classroom and encourage my students to succeed. I don't know if I want to get into every little gimmick, which ones worked and which ones didn't. 

However, we as teachers all try to cultivate a culture of learning in our classrooms and I think I will list a few that have become traditions in my room for future reference. 

Warning, some of these gimmicks tend to be on the geeky side 'cause, let's face it, I'm a bit of a geek! What follows is a list of the top 10 traditions, in no particular order, that seem to have a life of their own in my classroom in that they resurrect themselves year after year! 

1) Ceremony Of The Seats
The first day of every quarter, even the very first day of school, in fact, starts with the Ceremony Of The Seats! Every single class that day starts with the students walking into a dark classroom. The only light source is the SmartBoard playing the original sound track from the film "A Beautiful Mind" that you hear playing above. Then I lead each student to their seat, one at a time, with my cellphone flashlight like an usher at a movie theater! OK, I'll admit to a little flair toward the dramatic. Instilling a little mystery and wonder in class never hurt anyone, say I!


2) YouTube Wednesdays 
Every Wednesday I show a short clip from YouTube that has at least something remotely to do with STEM in general or a recent lesson in particular. This started a few years ago when I played some FILKs related to Calculus. What's a FILK? It's a recognizable tune where the words have been changed to make fun of something or some sort of statement. As you can see above, I start the year with several FILKs by Tom Lehrer. Then I ease my way into documentaries about Admiral Grace Murray Hopper, then I get into NOVA episodes and the like! I start the year more or less the same way in every class. Then my Math and CompSci classes start watching different documentaries! This works well especially if you keep it short and have a brief class discussion afterward. I also have a ChromeCast running my playlists downstairs in our display case (with no sound so as not to bother nearby classes)! 

Of course, Gracie is my greatest idol because she would always encourage everyone to do things their own way. What we would call "thinking outside the box" today was an everyday event for her. She even had an analog clock on her desk that ran counterclockwise just to show that you don't always have to do everything the same way everyone else does it. I suppose that she was akin to a modern day Henry David Thoreau following the beat of her own drum! For example, she would always say, and I'm paraphrasing, that "it's a lot easier to act first and ask for forgiveness later." In other words, asking for permission before you do something is just putting responsibility on someone else's shoulders. Be a leader! If you think there's a better way to do something, go ahead and do it! Stand up for what you believe! Have the courage of your convictions! That's how I got Linux into my classroom back in the 1990s when Linux first came out. I couldn't stand how programmer unfriendly our Windows OS and Novell Network was. So, one day, I just downloaded and installed Slackware Linux. 

Here's my conversation with my boss the day after installation 24 years ago,
Boss: "Wait, that's not Windows, what is it?"
Me: "Right you are, it's Linux!"
Me: "I don't do Windows, 
Me: "and neither does my maid!"
Boss: "Oh my, how much does it cost?"
Me: "I use FLOSS everyday!"
Me: "Free Linux Open Source Software."
Boss: "Aren't you breaking CopyRight law?"
Me: "Nope, it's CopyLefted!"
Boss: "We can't run that here!
Boss: "Who will maintain it?"
Me: "Well, I will, of course!"
Boss: "What a great idea!"
And it's been that way ever since .... except, last year, IT replaced all my Linux Partitions with WimpDoze!


3) Hour Of Code
My 1999-2000 AP Computer Science class was cancelled due to low enrollment. Ever since then I take a day near Admiral Grace Murray Hopper's birthday (12/9/1906) to conduct an in-school field trip. This Field Trip is not for my own students. I try to get all the other Honors Math teachers on board and have them bring their classes to my room. If I have a lot of Juniors, I will also take a day to do this with my own students. Over the past few years my Field Trip has dove tailed with the Hour Of Code and CS ED Week. Here's a whole other blog post about what we do during the Hour Of Code. This year I'll be using some of the inspirational videos from code.org, but I will be doing my own presentations. My Math classes will be learning about SAGE. Each presentation will include something related to a current lesson as well as an introduction to python. I'll do a bit of Arithmetic, Algebra and Algorithms in each class. Then in Calculus we'll do some Riemann Sum Programs. In preCalculus we'll do some Scalar Dot Products and Resultant Vectors with graphs in 2D and Vector Cross Products with graphs in 3D. In AP Computer Science, I'll introduce Processing. With the Field Trip students we'll solve Quadratic Equations by coding in SAGE and Python.


4) preCalculus and Calculus Carols
Every class in December starts with a little caroling practice! These classes are our rehearsal for the day before XMas Break when we tour the school Caroling for whomever will listen. BTW, we have a preCalculus song book and a Calculus song book each with 12 songs we've collected over the years. Some are original compositions by my students. Some are stolen from the web. So, sue me! Last year we putt together an APCS song book based on Tom Lehrer lyrics!


5) Continental Mathematics League (CML)
CML is a competition a lot like Mathletes but is held in-house and there are several levels. My AP Calculus BC class competes in the Calculus League. There used to be a Computer Science League with AP Review styled questions, but that's over. There's basic Math and CS competitions for Elementary school students. We've participated in this competition for over 10 years. It's great practice for AB Calculus Exam level questions. There's 4 competitions: December, February, March and April. Each one can be done in a class period. The competitions have 6 short answer and 2 longer questions. The long questions are a lot like AP FRQs. The short qustions can be MCQs, T/F or Fill-in. I play classical or instrumental music in the background during quizzes and tests to help concentration. Each year we compete against about 100 schools. Most of these schools are in the USA, but some are International American High Schools. We usually place in the top 3-5 schools in our region that includes NY and NJ. We have our first meet November this year. Wish us luck!


6) CIS(theta) & NCSHS
I've been running a Computing Independent Study (CIS) course every year since 1995! Recent years have been focused on Parallel Computing setting up a cluster we like to call Shadowfax using MPI. First thing we used to do each year is reinstall our whole PC Lab Classroom with the latest version of Ubuntu Linux Desktop 64bit OS. Then we install the MPI compiler software stack. This year we'll have to figure out how to use WimpDoze instead. How about a Raspberry PI cluster? Then we figure out a project that needs all that computing power. In prior years we had 100 cores running at 50 GFLOP/s and we tried to make a Fractal Zoom Movie, but ran out of time. Let's see if we can do it this year. Next month we're gonna fire up the cluster for the first time with the Pelican HPC DVD! These students also usually join our chapter of the National Computer Science Honor Society (NCSHS) Zeta Omicron. We call our chapter Hopper-NY. BTW, the main reason for the existence of this blog is to keep a record of what my students do with Shadowfax in CIS.


7) Screencasting
Whenever I teach a new concept I record a ScreenCast on YouTube and link it to Edmodo or Google Classroom for my students' reference while doing homework. These ScreenCasts are also great for reviewing old topics as needed. Students find these videos useful when they miss class too! I've been ScreenCasting a new PlayList for one class every year since 2009! This blog came about in part to showcase my ScreenCasts. The sample ScreenCast above is a summary of what we did in AP Calculus BC class after AP Exam week last year as a final project. In my ScreenCasts, you see everything I write on my SmartBoard and you hear everything I say as I teach.


8) MCQ Mondays and FRQ Fridays
I've been doing MCQ Mondays and FRQ Fridays with my AP classes for some time now. This is the first year I'm doing so in all my classes! On Mondays, I take an old MCQ Exam (Alg2Trig Regents for preCalc, AB Calculus for BC Calc) and practice a few questions using Socrative. In preCalc this review is a great skill builder. Also, some of my preCalc students need to retake the NYS Regents Exam in January or are preparing for the SAT. In AP Calc, this review is great preparation for the AP Exam in May. I cover each MCQ Exam in about 3 weeks. That's 2 Mondays in a row that count as Formative Assessments. I give 15 minutes to try 10 questions, then we go over those 10 questions. On week 3, I give an actual MCQ Exam in class for a Quiz grade aka a Summative Assessment. On week 4 I return the Scantrons and review the last exam. I haven't started this process with the AP Computer Science students as yet since they need to get more content under their belts first! FRQ Fridays occur at the end of a unit. That Friday I give a preTest to review for the actual test. We go over the preTest in groups with WhiteBoards and then we present our work to the other groups! Then I give a Take Home Exam that's due on Take Home Tuesday the following week.


9) AP Week Movie Marathon
In my AP classes, we do a Movie Marathon after the AP Exams. We usually watch Math Movies. After the AP Exam Weeks are over, we alternate watching movies every other day. In between, we complete a final project. For example, last year we watched Proof, A Beautiful Mind, The Theory of Everything, The Imitation Game and The Man Who Knew Infinity. 



10) SAGE & Processing Tuesdays
I've been using SAGE in class for years. Every Tuesday in Math class we use SAGE instead of a Graphing Calculator to do our work. Above, you can see one of my ScreenCasts using SAGE in PreCalculus. SAGE is a Computer Algebra System (CAS) that can do everything a Graphing Calculator can do plus it will do all your Arithmetic, Algebra, Geometry, Trigonometry and Calculus giving you exact answers in simplest form! You can even do 3D graphs from your browser on SAGE! In Computer Science class we use Processing on Tuesdays as well to make coding graphics and animations a snap! 

Oh, one more thing: I name my Graphing Calculators after Science Fiction and Fantasy characters. See if you can name each TV show or movie:


TI81 O B Wan
TI82 Klaatu
TI83 Ziggie
TI84 Frodo
TI85 Johnnie 5
TI86 Spock
TI89 Hal 9000
TI92 Colossus
TI200 Voyager
TI nSpire CX CAS Castiel

So, how do you reach your kids? I hope I've inspired you to "think outside the box" yourself. Maybe I gave you a few ideas you can use in your classroom? Time to get creative with your kids. Go find the beat of your drum!

Well, that's all folks!
A. Jorge Garcia

 

Applied Math, Physics & CompSci