Sunday, April 30, 2017

AP Calculus BC 2016-2017: Vector & Polar Notation (April)

AP Calculus BC 2016-2017:
Vector & Polar Notation

UNIT 12 
Our last unit before our AP Calculus Review and AP Exam Week and AP Calculus Movie Marathon and AP Calculus Final Project, was UNIT 12 about parametrically defined trajectories. We even extended parametrics to include polar coordinates! We talked about slope, arc length and area applying everything we learned this year.

AP Calculus BC Pep Talk 
Now that we are nearly done, it's time for my yearly pep talk. Not to worry, I'll keep it short! 

Look, we've been doing MCQ Mondays and FRQ Fridays ALL year. You've been doing homework, reading textbooks and watching screencasts ALL year. You've even been practicing nonGC vs GC questions with and without the TI nSpire CX CAS ALL year! 

You are SOOO ready for the exam this May! 

Here's my wish for you on the Monday before the exam and the day of the exam:

Cram All Day!
Sleep All Night!!
Have A Hearty Breakfast!!!

YouTube Wednesday: What is Apophis?

Teaching With Technology,

Saturday, April 29, 2017

AP Computer Science 2016-2017: Recursion & Sorting Algorithms (April)

AP Computer Science 2016-2017:
Recursion & Sorting Algorithms

We are now done with the course! We finished CH10 Inheritance, CH11 Polymorphism, CH19 Recursion and CH20 Searching and Sorting Algorithms! The post on all this is below. First, let's have our Pep Talk again:

AP CompSci Pep Talk 2017
The best way to learn how to code is to watch someone else code and try to do some coding yourself everyday! That's what I try to provide for you in class.

Also, the best way to succeed on the AP CompSci Exam is to read and write code everyday even at home! You should be playing around with everyday now that we have a server we can use in class and at home! 

You also need to get the latest Barron's Review book and read and write a little code in there everyday. You should be reading our textbook power points and trying our lab pdfs everyday! 

Just a little advice from your friendly neighborhood CompSci teacher who's been coding for over 40 years!

Ever since Linux came out (1995?), I have always provided my students with a sftp/ssh server they could log into in class and from home. This was a great solution for us as students could work on labs in class, in extra help, in the library and at home. This made our workflow very efficient so that we could do a lot of programming assignments in a short amount of time. I'm used to giving my students a lot of lab time and coding practice everyday!

In recent years, my district has hired out our tech services to some off campus "experts" in IT and Cyber Security. This new "Tech Dept" has found fit, in its infinite wisdom, to change the school's internet firewall in such a way so as not to permit ssh tunnels in or out. My pleas to the contrary falling on deaf ears. So, now my students cannot login from home. I've been struggling with alternate solutions involving Teamviewer, SplashTop and Chrome Remote Desktop just to name a few. These experiments have had varrying degrees of success but still no joy.

This semester I started playing around wih online java IDEs. I tried many and found Cloud9 actually provided an online Ubuntu terminal very much like what we use in class. However, javac is no longer installed and customer service is not very helpful....

cloud9 is free. However, if you want to setup a teacher account, it costs a modest $1 per month.

Why would you pay if it's free? The problem with cloud9 is the registration process. They require a credit card for identification purposes.

Students can join your Team without a credit card if you have a Teacher Account.

Regarding the APCS Labs (Magpie, etc), I still have my local sftp linux server in class for GUI and graphical work.

Most of the work we do all year is more text based, so using or would be fine.

Also, if we want to play with graphics we could use

I'm sticking with for now as my students are doing well with it and it's easy to share code on my SmartBoard as I teach.

c9 is hard to see on the SmartBoard. You can increase font size in the text editor but not in the terminal???

Actually, you can install default-jdk (openjdk) from the commandline much as you do in a standard Ubuntu terminal with apt-get. Here's an example of some coding I did,

If you want to play with c9 you can make one workspace for the whole year, just make a new directory (aka folder) for each project,

Also, make a "custom workspace" by clicking on the Ubuntu icon. They have different workspaces for c++, python, html website dev, etc.

Your Custom Workspace is basically a plain vanilla install of Ubuntu (virtual machine like Harvard's CS50 uses) that works over a web interface.

So, jdk is not installed. Do this once in the terminal (aka commandline):

sudo apt-get update

sudo apt-get install default-jdk

This installs the latest version of openjdk from the debian repositories which is fine for text based work.

However, we did play around with and found it very useful. Students get their own free accounts. Students can store their work with revision histories. Students get a text editor with syntax completion and syntax color highlights (simple java IDE). Students get an ASCII terminal for output. You can use a variety of programming languages too. 

Teachers can get a teacher account where they can set up online classrooms and assignments but I haven't done that. I'm using my account as the students do. Each new project is saved as a separate session. Each session can have multiple files and classes. One thing to watch out for is that the main method has to be in in the Main class. 

Last, but not least, you can share a live instance of any particular revision of any session you want complete with editor, terminal and runner. Here's an example,

We are now done with the course! We finished CH10 Inheritance, CH11 Polymorphism, CH19 Recursion and CH20 Searching and Sorting Algorithms! Chapters 10+11 were covered with a reading from our text and two take home exams. We've been covering these topics all year! LAB18/CH19 about recursion is covered in the video above. We wrote our own Math class comparing iterative and recursive algorithms. CH20 about searching and sorting was also a reading but it's also covered in the Youtube Wednesday below! We also watched and National Geographic video from 1984: "Miniature Miracle: The Computer Chip." This video is not on Youtube, sorry. I copied to DVD from VHS and show it every year! I used to have it on Youtube, but I was asked to take it down...

YouTube Wednesday: Sorting Out Sorting!

Teaching With Technology,

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

 Applied Math, Physics and CS
2017 NYS Secondary Math PAEMST Nominee

Sage Ebay

preCalculus 2016-2017: Polynomials & Rational Functions (April)

preCalculus 2016-2017:
Polynomials & Rational Functions

Wow, we finished preCalculus! We're starting Calculus soon, stay tuned. We did Chapter 4 about polynomial factoring first. Then we did Chapter 3 about Rational functions. I like to end the course this way as a warm up to Calculus. I get to start talking about limits at a point (holes and vertical asymptotes) and limits at infinity (horizontal asymptotes) before we actually start doing Calculus with the limit of the Difference Quotient! 

BTW, if I had my druthers, I'd do the whole course backwards starting with Chapter 12 about Sequences and Series. That's a great way to start if you are using a Computer Algebra System like SAGE (like Mathematica but based on lists and python) or Octave (like MATLAB based on arrays). I've done that in prior years, I may do that next year with some extra python coding!
YouTube Wednesday: What is Apophis?

Teaching With Technology,

Saturday, April 15, 2017

CIS(theta), 2016-2017: April Meeting: Cancelled?

CIS(theta), 2016-2017: 
April Meeting: Cancelled?

This meeting was cancelled as the students had many other demands on their time such as preparing for their upcoming AP Exams.

So, in lieu of a meeting, I started a RedBubble Store highlighting Computer Generated Art we created on our cluster from prior years. We've had similar stores on Zazzle, Zazzle and DeviantArt in years past. On these sites, you can upload your work and then people who want to support you will by items based on your work like prints, tee shirts, wall hangings, coffee mugs, clocks, etc. We made fractal prints (see above) and ray tracings (see below)!

We will work with sample MPI code next meeting:

InstantCluster Step 7: 
Coding I - Quadrature

InstantCluster Step 8: 
Coding II - Mandelbrot

InstantCluster Step 9: 
Coding III - Mandel Zoom

InstantCluster Step 10: 
Coding IV - POVRay

InstantCluster Step 11: 
Coding V - Blender

InstantCluster Step 12: 
Coding VI - 3D Animation

09/14/2016 (organizational meeting)
10/26/2016 (installing Ubuntu 16.10 64bit)
11/09/2016 (installing Ubuntu 16.10 64bit)
12/14/2016 (Pelican HPC DVD)
01/11/2017 (openSSH Public Keys)
02/08/2017 (openMPI Software Stack)
03/08/2017 (Quadrature)
03/22/2017 (Fractal Plots + Zoom Movie)
(03/29/2017 is a make up day)
04/26/2017 (POVRAY 3D Stills + Animation)
05/10/2017 (Blender 3D Animation)
(05/24/2017 is a make up day)

So, what's all this good for aside from making a Fractal Zoom or Shrek Movie?

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) 2016-2017: 
DanielD(12), JevanyI(12), JuliaL(12), MichaelC(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,
A. Jorge Garcia

 Applied Math, Physics and CS
2017 NYS Secondary Math PAEMST Nominee

Sage Ebay

Saturday, April 1, 2017

PAEMST 2017: 3rd Time's the Charm?

PAEMST 2017: 3rd Time's the Charm?
Once more onto the breach, my friends? Well, I hope that the 3rd time is the charm! I think this will be my last attempt at this application process! Hoping for NYS Finalist this time, at least.

I was nominated to compete for the PAEMST award for the first time around 11/1/2012. I went through the whole application process, all 10 grueling steps of it and uploaded my entry by 5/1/2013. But I was not chosen. 

I was nominated again around 11/1/2014 and finished a whole new application by 5/1/2015. But I was not chosen, not even for NYS Finalist? 

I was nominated again around 11/1/2016. This time I was told I could simply resubmit my 2015 application. So, silly me, I waited until now to resubmit, only to find out that I had to reedit everything! I was able to cut and past my essay and resubmit my video (see above). However, I need new recommendations by 5/1/2017! 

If you are not familiar with PAEMST, please see this blogpost from 8/18/2012. Here's my blogpost about my 2013 application. Here's my blogpost about my 2015 application. BTW, my 2013 video is at the bottom of this post.

As you can see above, I'm resubmitting my 2015 class video. I won't bore you here with all 10 steps in the application. The boring parts involve verification of eligibility, proof of employment, school demographics, demographics for the class that was recorded, parental video consent forms, just to name a few requirements. 

The most important parts, after the video, are copied below for your viewing pleasure:
Essay aka Narrative summarizing the video, 
Supplemantary Documents for the Essay, 
Teacher Resume and 3 Recommendations. 

Everything has been updated except for the recommendations. So, I include here the 2015 recommendations.

Generally Speaking,