Thursday, December 28, 2017

Computer Science 2017-2018: Conditionals and Predicate Methods (December)

Computer Science 2017-2018:
Conditionals and Predicate Methods 

LAB 5 ScreenCast

LAB05 was all about boolean operators, conditional statements and predicate methods! We touched on loops a bit in Processing and Strings as arrays. Fun was had by all when we started the unit with Rock Paper Scissors Lizzard Spock!

1st YouTube Wednesday: Tom Lehrer

December YouTube Wednesdays

December Carols!

preCalculus (period 9) went to Volleyball!

Well, that's all folks!
Teaching with Technology, 

Wednesday, December 27, 2017

preCalculus 2017-2018: Vector and Polar Notation! (December)

preCalculus 2017-2018:
Vector and Polar Notation! 

Chapter 9 ScreenCasts

Chapter 9 was all about Vector and Polar Notation. First we talked about Complex Number arithmetic on the Complex Plane depicting Complex Numbers as Vectors with a Direction (theta=arctan(y/x)) and Magnitude (r=sqrt(x^2+y^2)). We also converted from Polar to Cartesian forms (x=r*cos(theta), y=r*sin(theta)). We played around with CIS(theta) notation, DeMoivre's Theorem and even touched on Euler's Trig Identity! 

Then we extended our understanding of Complex Vectors to Vector Sums, Vector Differences and Dilating a Vector by a Scalar. Finally we talked about the differences and applications of the Scalar Dot Product and the Vector Cross Product. We even talked about Orthogonality and the Triple Scalar Product!

1st YouTube Wednesday: Tom Lehrer

December YouTube Wednesdays

December Carols!

preCalculus (period 9) went to Volleyball!

Well, that's all folks!
Teaching with Technology, 

Calculus 2017-2018: Work, Ln(x), Exp(x) and DiffEqus! (December)

Calculus 2017-2018:
Work, Ln(x), Exp(x) and DiffEqus! 

UNIT 7 ScreenCast

UNIT07 started with the concept of calculating work in Foot-Pounds or Newton-Meters. Then we finally got to derivatives and integrals involving ln(x), e^x and a^x. We finished off with some Variable Separable DiffEqus involving ln(x) and e^x. We also started talking about Slope Fields and applications of DiffEqus such as Exponential Growth and Decay plus Newton's Law of Heating and Cooling.

1st YouTube Wednesday: Tom Lehrer

December YouTube Wednesdays

December Carols!

preCalculus (period 9) went to Volleyball!

Well, that's all folks!
Teaching with Technology, 

Tuesday, December 26, 2017

CIS(theta), 2017-2018 December Meeting: PelicanHPC!

CIS(theta), 2017-2018 
December MeetingPelicanHPC!

There was no December meeting due to illness, so I'm reposting this BlogSpot post!
Yes, I'm afraid it's true, IT replaced all my Linux Boxes with WimpDoze! So we have to find an alternative to installing MPI on native Linux! How do we run MPI under WimpDoze without installing anything?

Enter pelicanHPC as a our first solution! We demoed an old DVD we had to show how to fire up the cluster. Our experiment demonstrated that we could not boot the whole room anymore, as we used to, as PXE Boot or Netboot requires we setup our own DHCP server. When you boot the DVD on one PC, it sets up a DHCP server so all the other PCs can PXE Boot the same OS. However, our new WimpDoze network uses its own DHCP server. These two servers conflict, so we cannot reliably connect all the Worker bees to the Queen bee. We can't setup grid computing or a grid cluster, but we can still setup SMP. In other words, boot up a single PC with the pelicanHPC DVD and run multicore applications on all the cores on that one PC.

So, here's your homework. Download the latest pelicanHPC ISO file and burn your own bootable DVD. Don't worry if your first burn doesn't boot. You can use that DVD as a "Linux Coaster" for your favorite beverage the next time you play on SteamOS. If you can make this work at home, try to run from John Burke's sample MPI4PY (MPI for Python) code.

Also, here's our second reading assignment. BTW, I was an editor on this book. That's why I recommend it. It's all about setting up and programming a Linux Cluster aka Super Computer with COWS (Commodity Off-the-shelf Work Stations = ordinary PCs). What's unique about this book is that it uses Java for all its coding samples making it an easy read for anyone who has taken AP CompSci!

NEW DECOR (Display Case):
Featuring ChromeCast & Processing!

NEW DECOR (Room 429):
Featuring Tapestry from RedBubble!

So, what's all this good for aside from making Fractal Zoom or Shrek Movies?
SETI Search
Protein Folding
Beal Conjecture
Scientific Computing
Computational Physics
Mersenne Prime Search
Computational Chemistry
Computational Astronomy
Computer Aided Design (CAD)
Computer Algebra Systems (CAS)

These are but a few examples of using Computer Science to solve problems in Mathematics and the Sciences (STEAM). In fact, many of these applications fall under the heading of Cluster Programming or Super Computing. These problems typically take too long to process on a single PC, so we need a lot more horse power. Next time, maybe we'll just use Titan!


Membership (alphabetic by first name):
CIS(theta) 2017-2018:
BrandonB(12), FabbyF(12), JoehanA(12), RusselK(12)

CIS(theta) 2016-2017: 
DanielD(12), JevanyI(12), JuliaL(12), MichaelS(12), YaminiN(12)

CIS(theta) 2015-2016: 
BenR(11), BrandonL(12), DavidZ(12), GabeT(12), HarrisonD(11), HunterS(12), JacksonC(11), SafirT(12), TimL(12)

CIS(theta) 2014-2015: 
BryceB(12), CheyenneC(12), CliffordD(12), DanielP(12), DavidZ(12), GabeT(11), KeyhanV(11), NoelS(12), SafirT(11)

CIS(theta) 2013-2014: 
BryanS(12), CheyenneC(11), DanielG(12), HarineeN(12), RichardH(12), RyanW(12), TatianaR(12), TylerK(12)

CIS(theta) 2012-2013: 
Kyle Seipp(12)

CIS(theta) 2011-2012: 
Graham Smith(12), George Abreu(12), Kenny Krug(12), LucasEager-Leavitt(12)

CIS(theta) 2010-2011: 
David Gonzalez(12), Herbert Kwok(12), Jay Wong(12), Josh Granoff(12), Ryan Hothan(12)

CIS(theta) 2009-2010: 
Arthur Dysart(12), Devin Bramble(12), Jeremy Agostino(12), Steve Beller(12)

CIS(theta) 2008-2009: 
Marc Aldorasi(12), Mitchel Wong(12)

CIS(theta) 2007-2008: 
Chris Rai(12), Frank Kotarski(12), Nathaniel Roman(12)

CIS(theta) 1988-2007: 
A. Jorge Garcia, Gabriel Garcia, James McLurkin, Joe Bernstein, ... too many to mention here!

Well, that's all folks!
Happy Linux Clustering, 

Monday, December 4, 2017

The Hour Of Processing & SAGE 2017!

The Hour Of Processing & SAGE 2017!

What follows is based on my "Hour Of SAGE 2016!" In 2016 I taught SAGE in Math classes and Processing in AP Computer Science class. This year, we did the same thing except, we covered SAGE in my AP CompSci class and Processing in my Math classes. Why? Because this year I've been using SAGE in Math class and Processing in AP CompSci a lot more than in previous years!

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 1000s of schools participated world wide. Further, 100000s of students wrote 1000000s 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 Gracey, you wouldn't have apps on your SmartPhones! We'd have DumbPhones! Also, she 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 Atomic Bomb. If it weren't for Grace, the war in the Pacific would have lasted many more years and we may be speaking Japanese right now. She singlehandedly 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 cracked 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 is a supercomputer at Washington State University funded by the NSF free for you to use where ever you have an internet connection. 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, SAGE has been made available on the Google Compute Platform (cloud computing on the GCP) at with alot more options.

I ran my Hour Of SAGE with all my classes on Monday 12/4/2016 and with all the remaining Honors Math classes on Wednesday 12/6/2016 as an in-school field trip. So, here's what I did on Wednesday:

STEP01: I went to each class and spoke about taking AP CompSci next year. I gave out the following letter too. The CSAP (Computer Science AP) letter I gave to every class except for my current AP CompSci students. I gave them the CSI (Computer Science Independent Study) letter. We used to have an intro programming course based on Python called CSH (Computer Science Honors aka Computer Math) but we don't have the enrollment to justify it anymore. 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: I then 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 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 Processing Hour Of Code (please see first screencast at the top of this post).

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

STEP06: Last, but not least, I gave 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!
A. Jorge Garcia


Applied Math, Physics & CompSci

Thursday, November 30, 2017

Computer Science 2017-2018: Primitive Java Data Types (November)

Computer Science 2017-2018:
Primitive Java Data Types 

LAB 4 ScreenCast

LAB04 was all about declaring and using Primitive Java Data Types. We talked about RAM usage for int vs long and float vs double as well as char and boolean! We talked about integer arithmetic and casting to a double. Take a look at our lab assignments in the PDF below and our classwork in the ScreenCast above for more information!

1st YouTube Wednesday: Tom Lehrer

November YouTube Wednesdays

Well, that's all folks!
Teaching with Technology,