Thursday, February 28, 2019

AP CompSci A 2018-2019: What Is An Array? (February)

AP CompSci A 2018-2019:
What Is An Array?
(February)

LAB07 ScreenCasts



This month we tackled LAB07 which was all about 1D and 2D static and dynamic arrays. We started by using static 1D array of ints to implement the ROT13 algorithm. Then we used a 1D arraylist of Point Objects to code the Shoelace Algorithm. We are now working with 1D and 2D static arrays of ints to make a Roman Math class! Finally, we will try to generate every possible starting position from Chess960 using the Random class and mixing arrays!

BTW, we're loving our new cs50.io, aka c9.io, ide from the Amazon Cloud (AWS)! Don't forget about the Processing IDE! We just started using OpenProcessing online as they've just added Processing.js which is more compatible with Processing's IDE. The default mode is P5.js (javascript) but we switch to Processing.js (java) and all is well! So, we're computing in the cloud even when we use Processing! IDK, is OpenProcessing is on AWS or the Google Compute Platform (GCP)?

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


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.

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

Beautiful Mind Soundscape:

AP Calculus BC 2018-2019: When Do Series Converge? (February)

AP Calculus BC 2018-2019:
When Do Series Converge?
(February)

UNIT10 ScreenCasts

UNIT10 was all about convergence tests for series of all positive constants. We started by talking about Improper Integrals and P-Series. Then we talked about Geometric Series. Finally we studied the Comparison Test and the Integral Test! 


We're loving our class set of TI nSPire CX CAS Graphing Calculators from Donorschoose


RECOMMENDED AP CALCULUS BC REVIEW:
CRIB SHEET (not given during exam) 
REVIEW BARRONS BOOK (see me)
REVIEW BARRONS ONLINE 

REVIEW DELTAMATH AB CALC FLASH CARDS
REVIEW APCENTRAL (lastest BC FRQs)

REVIEW APCENTRAL (older AB FRQs)
REVIEW APCENTRAL (older BC FRQs)
REVIEW EDX MOOC01 
REVIEW EDX MOOC02 
REVIEW COURSERA MOOC03 


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.

Well, that's all folks!
Teaching with Technology, 
AJG
A. Jorge Garcia

 

Applied Math, Physics & CompSci
PasteBin SlideShare 
MATH 4H, AP CALC: GC or SAGECELL
CSH: SAGE Server
CSH: Interactive Python
APCSA: c9.io
APCSA: openProcessing


Beautiful Mind Soundscape:

preCalculus Honors 2018-2019: What Is A Matrix? (February)

preCalculus Honors 2018-2019:
What Is A Matrix?
(February)

Chapter11 SCREENCASTS



Chapter 11 was all about solving 2x2 and 3x3 systems of equations using matrices! First we worked with augmented matrices and Guass-Jordan Elimination. Then we used discriminants and Cramer's Rule. Finally we worked with Inverse Matrices. We even talked about Linear Programming and the graet John Nash!

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.

Well, that's all folks!
Teaching with Technology, 
AJG
A. Jorge Garcia

 

Applied Math, Physics & CompSci
PasteBin SlideShare 
MATH 4H, AP CALC: GC or SAGECELL
CSH: SAGE Server
CSH: Interactive Python
APCSA: c9.io
APCSA: openProcessing

Beautiful Mind Soundscape:

Friday, February 15, 2019

CIS(theta), 2018-2019 February Meeting: Installing openMPI!

CIS(theta), 2018-2019
February MeetingInstalling openMPI!

CH01SEPTEMBER READING
CH02OCTOBER READING
CH03NOVEMBER READING
CH04DECEMBER READING 
CH05: JANUARY READING
CH06: FEBRUARY READING

FEBRUARY UPDATE: (meeting 5)
We tried to install openMPI but spent forever just updating our Linux OS:
sudo apt-get update
sudo apt-get install

JANUARY UPDATE: (meeting 4)
We un-boxed all the stuff we got from BOCES and Donorschoose and figured out how to boot up 1 RPI per student. We are playing around with these micro-board PCs as replacement PCs at home until our next meeting.

USB Power Supplies

NOOBS Sims

HDMI To VGI Converters

DECEMBER UPDATE: (meeting 3)
We downloaded the latest pelicanHPC ISO and burned a DVD for each of us. Then we booted our PCs from the DVD drive and ran openMPI from RAM. We used flops.f to test our "clusters." flops.f is a FORTRAN program that uses mpirun to stress a cluster by calculating PI using reimann sums for 1/(1+x^2) from a=0 to b=1. 

BTW, I call our PCs "clusters" since they have quadcore processors and openMPI can run on multicore just as well as on a grid. We can't set up a grid based (multinode) Linux cluster anymore as we are not allowed to setup our own DHCP server anymore. We got about 2 GigaFLOP/s per core, so 8 GigaFLOP/s per PC. If we could setup our own DHCP server, we'd get 100 cores running in parallel for about 200 GigaFLOP/s!

Compile:
mpif77 -o flops flops.f
Execute multicore:
mpirun -np 4 flops
Execute multinode:
mpirun -np 100 --hostfile machines flops

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 Hello_World_MPI.py from John Burke's sample MPI4PY (MPI for Python) code.


NOVEMBER UPDATE: (meeting 2)
See below for our Raspberry PI project. We have been waiting for funding for some extra hardware from DonorsChoose and we just got it! Yeah! In the mean time we're playing with PelicanHPC and BCCD DVDs to see how openMPI works so we can set it up the same way on our new Linux Cluster.

OCTOBER UPDATE: (meeting 1)
We've decided to make a Linux Cluster out of Raspberry Pi single board computers! Our school district has been kind enough to purchase 25 RPIs plus some USB and Ethernet cabling, so now we just need some power supplies, routers and SD cards. So here comes DonorsChoose to the rescue! We started a campaign to raise the money to purchase all the remaining equipment from Amazon!



What we want to do is to replace our Linux Lab of 25 quadcore PCs, where we used to do this project,with 25 networked RPI 3.0s. The Raspbian OS is a perfect match for our project! Raspbian is linux based just like our old lab which was based on Ubuntu Linux. Also, python is built-in so we can just add openSSH and openMPI to code with MPI4PY once again! With the NOOB SD card, we start with Linux and python preinstalled!


Once we get all the hardware networked and the firmware installed, we can install an openMPI software stack. Then we can generate Fractals, MandelZooms, POV-Rays and Blender Animations!


SEPTEMBER UPDATE: (meeting 0)
Please see september organizational blog post.

NEW SMARTBOARD SETUP
NOTE: MIC FOR SCREENCASTING!
NOTE: TI nSPIRE CX CAS EMULATOR!!
NEW DECOR IN THE REAR OF ROOM 429
NOTE: SLIDERULE!
NOTE: OLD LINUX SERVERS!!
NEW TAPESTRIES IN ROOM 429
NEW VIEW FROM LEFT REAR SIDE
NOTE: OLD UBUNTU DESKTOP!
NEW VIEW AS YOU WALK IN
NOTE: SIDERULE!

So, what's all this good for aside from making Fractal Zoom or Shrek Movies?
SETI Search
Econometrics
Bioinformatics
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, Super Computing, Scientific Computing or Computing Science. 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) 2018-2019:
Gaius(12), GiovanniA(12), JulianP(12), TosinA(12)

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, 
AJG
A. Jorge Garcia

 

Applied Math, Physics & CompSci
PasteBin SlideShare 
MATH 4H, AP CALC: GC or SAGECELL
CSH: SAGE Server
CSH: Interactive Python
APCSA: c9.io


Beautiful Mind Soundscape: