Monday, July 17, 2017

How To Part IIA 2017: Pythonic Calculus!

How To Part IIA 2017: 
Pythonic Calculus!
We just had our Graduation Day at the High School. I suppose that's my unofficial start to Summer. I will miss my Seniors, we had a great year together. The whole week before graduation I was finishing up a series of YouTube ScreenCasts about solving this year's AP Calculus Exam Part IIA. This playlist serves as a summary of this year's Final Project! 

Part IIA is the first Free Response section of the AP Calculus Exam. This section consists of 2 AB or 2 BC questions requiring the use of a Graphing Calculator. AB1 and BC1 are the same question. AB2 and BC2 are different. Below you will find the solutions to these Free Response Questions in the following order: AB2, AB1/BC1, BC2. In this fashion, we covered AB only questions first, then AB/BC questions and finally BC only questions, ie in order of increasing difficulty.

For over 2 decades, I have been teaching my students to complete this section using a TI89. Most schools still use a TI83 or TI84. These past few years, my students have been using a class set of TI nSpire CX CAS graphing calculators that were donated to my classroom via DonorsChoose. Thanx to all my donors, my students are indeed very fortunate!

There are 4 functions a Graphing Calculator needs to perform to be allowed on the AP Exam: 

1) Graphing in an arbitrary window, 
2) Solving for the roots of an equation, 
3) Finding Numerical Derivatives and 
4) Finding Definite Integrals. 

All of these capabilities are demonstrated in the ScreenCasts listed below.

However, in this blog post I wish to demonstrate that the use of a Graphing Calculator is, in fact, not necessary. Why don't we toss out the Graphing Calculators and just learn a little bit of coding? 


I'm waiting for Doc Brown from Back To The Future fame to come by and say, "Calculators? Where we're going, we don't need calculators!"

Below you will find all my solutions using a programming language called Python. Python is a great first language to learn and use as it is very intuitive and powerful especially when solving math and science problems! This year I used Jupyter Notebooks on http://cocalc.com to write and interpret my Pythonic code using the Python 3 kernel!

The final YouTube ScreenCast is my 2017 Pythonic Calculus Executive Summary! This video summarizes everything we figured out in python related to solving Graphing Calculator Active Free Response Questions by coding instead! If you want a slower introduction to these numerical methods, please view the first 3 ScreenCasts. These ScreenCasts will take you through the solution of each Free Response Question step by step using Python.

2017AB2a) Definite Integral
2017AB2b) Numerical Derivative
2017AB2d) Definite Integral


2017AB1c/BC1c) Definite Integral


2017BC2a) Definite Integral
2017BC2c) Definite Integral
2017BC2d) Numerical Root
2017BC2d) Numerical Derivative


2017 Pythonic Calculus Executive Summary!

PS, here's a shot from the traffic jam I hit going home after the graduation!
Have A Great Summer 2017!!!

Teaching With Technology,

Tuesday, July 11, 2017

How To Part IIA 2017: SAGE Computer Algebra System!

How To Part IIA 2017: 
SAGE Computer Algebra System!
We just had our Graduation Day at the High School. I suppose that's my unofficial start to Summer. I will miss my Seniors, we had a great year together. The whole week before graduation I was finishing up a series of YouTube ScreenCasts about solving this year's AP Calculus Exam Part IIA. This playlist serves as a summary of this year's Final Project! 

Part IIA is the first Free Response section of the AP Calculus Exam. This section consists of 2 AB or 2 BC questions requiring the use of a Graphing Calculator. AB1 and BC1 are the same question. AB2 and BC2 are different. Below you will find the solutions to these Free Response Questions in the following order: AB2, AB1/BC1, BC2. In this fashion, we covered AB only questions first, then AB/BC questions and finally BC only questions, ie in order of increasing difficulty.

For over 2 decades, I have been teaching my students to complete this section using a TI89. Most schools still use a TI83 or TI84. These past 2 years, my students have been using a class set of TI nSpire CX CAS graphing calculators that were donated to my classroom via DonorsChoose. Thanx to all my donors, my students are indeed very fortunate!

There are 4 functions a Graphing Calculator needs to perform to be allowed on the AP Exam: 

1) Graphing in an arbitrary window, 
2) Solving for the roots of an equation, 
3) Finding Numerical Derivatives and 
4) Finding Definite Integrals. 

All of these capabilities are demonstrated in the ScreenCasts listed below.

However, in this blog post I wish to demonstrate that the use of a Graphing Calculator is, in fact, not necessary. Why don't we toss out the Graphing Calculators and just use a Computer Algebra System like SAGE or SAGECELL or COCALC?


I'm waiting for Doc Brown from Back To The Future fame to come by and say, "Calculators? Where we're going, we don't need calculators!"

Below you will find all my solutions using a Computer Algebra System called SAGE. SAGE is a free online Computer Algebra System hosted on Google Compute Engine that you can use with just about any web-enabled device! The 3 ScreenCasts below will take you through the solution of each Free Response Question step by step using SAGE.

BTW, you do need the Internet to use SAGE on cocalc.com aka Sage Math Cloud. In a recent post I talked about using python on a stand-alone PC without Internet access for testing conditions. However, I don't think that using SAGE would be so bad for use in class even under testing conditions. The teacher/proctor should be able to watch what the students do during the test. 

I have my PC Lab/Classroom set up with all monitors facing the rear of the room. So the teacher/proctor can easily see that all students are on task at all times. 

Further, we administer a math placement exam at the local college. This placement exam is computer adaptive and is administered via the College Board website. We have had no problems using these PCs with Internet Access during testing conditions.


2017AB2a) Definite Integral
2017AB2b) Numerical Derivative
2017AB2d) Definite Integral


2017AB1c/BC1c) Definite Integral


2017BC2a) Definite Integral
2017BC2c) Definite Integral
2017BC2d) Numerical Root
2017BC2d) Numerical Derivative

PS, here's a shot from the traffic jam I hit going home after the graduation!
Have A Great Summer 2017!!!

Teaching With Technology,

Monday, July 10, 2017

How To Part IIA 2017: Good Old Graphing Calculators!

How To Part IIA 2017: 
Good Old Graphing Calculators!
We just had our Graduation Day at the High School. I suppose that's my unofficial start to Summer. I will miss my Seniors, we had a great year together. The whole week before graduation I was finishing up a series of YouTube ScreenCasts about solving this year's AP Calculus Exam Part IIA. This playlist serves as a summary of this year's Final Project! 

Part IIA is the first Free Response section of the AP Calculus Exam. This section consists of 2 AB or 2 BC questions requiring the use of a Graphing Calculator. AB1 and BC1 are the same question. AB2 and BC2 are different. Below you will find the solutions to these Free Response Questions in the following order: AB2, AB1/BC1, BC2. In this fashion, we covered AB only questions first, then AB/BC questions and finally BC only questions, ie in order of increasing difficulty.

For over 2 decades, I have been teaching my students to complete this section using a TI89. Most schools still use a TI83 or TI84. These past 2 years, my students have been using a class set of TI nSpire CX CAS graphing calculators that were donated to my classroom via DonorsChoose. Thanx to all my donors, my students are indeed very fortunate!

There are 4 functions a Graphing Calculator needs to perform to be allowed on the AP Exam: 

1) Graphing in an arbitrary window, 
2) Solving for the roots of an equation, 
3) Finding Numerical Derivatives and 
4) Finding Definite Integrals. 

All these capabilities are demonstrated in the ScreenCasts listed below using a TI84C and a TI nSpire CX CAS:


2017AB2a) Definite Integral
2017AB2b) Numerical Derivative
2017AB2d) Definite Integral


2017AB1c/BC1c) Definite Integral


2017BC2a) Definite Integral

2017BC2c) Definite Integral
2017BC2d) Numerical Root
2017BC2d) Numerical Derivative

PS, here's a shot from the traffic jam I hit going home after the graduation!
Have A Great Summer 2017!!!

Teaching With Technology,

Friday, July 7, 2017

Computing In Math Class ... A Sad State Of Affairs In 2017 ???

Computing In Math Class
... A Sad State Of Affairs
In 2017 ???
What follows is an excerpt of an email I wrote recently. I was writing to a retired colleague who found he needed to retire as he had little to no support in his work bringing computing into the mathematics classroom. He met with resistance primarily due to excessive administrative adherence to Common Core Standards. Ironically, this all occurred at a high school not far from Silicon Valley! The result of all this administrative fervor was a damping of creativity in general and a diminished use of computing in particular by this great teacher! I found his retiring under said circumstances very alarming as he was trying to do what I am trying to do:
"Wow, sorry to hear that, MrX. I find little support for teaching math with tech in general, not to mention pythonically, as noone really understands what we are trying to do or, even worse, don't care enough to even try to educate themselves.
I remember over 20 years ago how much resistance there was when we were trying to introduce the graphing calculator. Now we can't get rid of graphing calculators for something better. Graphing calculators have become the end all and be all of computing in the mathematics classroom, I'm afraid. If I even mention improving the state of computing in math class, I always get a comment about how many graphing calculators we have. Most teachers just pay lip service to using tech and coding in class.
It's ironic just how little the current generation of mathematics teachers cares about coding and algorithmic thinking in the current atmosphere of "the hour of code" push to get computer science into the K-12 curriculum in every school in every state. I have supported the hour of code every year on Grace Hopper's birthday to recruit for AP CompSci. However, I'm worried that the hour of code is pushing the curriculum down people's throats that may not really be ready to teach it. Maybe the powers that be want to water down the discipline in order to get it into schools at any cost even for students of way too young an age?
I am also of retirement age but I refuse to be pushed out! I feel as if I've only just gotten started. I don't know how much longer I can plod on myself but I'll try a year or 2 more I think. I don't get a lot of support but I don't get active abuse. It's strange, when I started teaching, most math departments in my area (Long Island) had at least an intro computing course called "Computer Math" and some even had AP CompSci. I have taught said intro course for over 30 years and the AP course for nearly as long. So I'm sort of tolerated as that crazy mad scientist over there in the corner when I try to bring computing into the math classroom.
It's strange how over the years less and less math teachers have any interest or background in computing. I have trained a few teachers over the years to take over my intro course but they invariably get snatched up by other schools offering better pay and work conditions when they get seen presenting my stuff at local math conferences....
I started teaching High School in 1984. At that time there were 3 or 4 other teachers interested in computing in my dept. I wanted to teach at my current school precisely because the chairman installed his own minicomputer for said curriculum (GIMIX, a Unix knock off complete with dumb terminals, text consoles, BASIC, Pascal and even a text based Adventure game way before Linux was around). So I thought the future of computing in the math dept was bright. I was even encouraged to design and install the first PC Lab/Classroom upgrade. However, less and less teachers, as well as less and less students, showed any interest in pursuing such a course of study.
So, to conclude my rant, I'll say this: I feel your pain but I'm gonna try to carry on 1 year at a time. Next year I'll be adding a bit of Processing to my AP Computer Science curriculum to spice it up a bit. I'll also be using SAGE a bit more in my preCalculus courses. Unfortunately, I don't think I can do that with my AP Calculus class as these students need to be proficient in the use of Graphing Calculators when they take the AP Exam."

Generally Speaking,

Wednesday, June 28, 2017

AP Calculus BC 2016-2017: Life After AP Calculus BC? (June)

AP Calculus BC 2016-2017:
Life After AP Calculus BC?
(June)
Bye Bye AP Calculus BC period 7!
Hope you keep computing!


Life is a bit more laid back around here now that the AP Exam is over! Every Monday and Friday we watch a movie related to Math or Science (Hidden Figures, The Man Who Knew Infinity, The Imitation Game, The Theory Of Everything, Proof, Beautiful Mind, Stand And Deliver)! Tuesday-Thursday every week after the exam is devoted to our final project. 


We are currently solving the AP Exam using SageMathCloud instead of a graphing calculator. Next week we'll start looking at Advanced Differential Equations. Stay tuned, we'll probably have some new "LAC: Life After Calculus" (see below) and "How To Part IIA" (see above) ScreenCasts on my YouTube channel soon!



YouTube Wednesday: SymphonyOfScience!


Teaching With Technology,

AP Computer Science 2016-2017: Life After CompSci? (June)

AP Computer Science 2016-2017:
Life After CompSci?
(June)
Bye Bye, AP CompSci period 6! 
I hope you keep on coding!

Life is a lot more laid back around here now that the AP Exam is over! Every Monday and Friday we play set up a FLOSS LAN Party! Tuesday-Thursday every week after the exam is devoted to our final project. I was going to have the students help me to come up with a new project to add to each lab we did this year using openProcessing. Repl.it came up with a free online course on React Native, so we are trying that out first.


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 repl.it 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!

Backgound
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 https://repl.it or https://c9.io would be fine.

Also, if we want to play with graphics we could use https://www.openprocessing.org/

I'm sticking with repl.it 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, https://ide.c9.io/calcpage/rot13

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 https://repl.it 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 Main.java in the Main class. 

Last, but not least, you can share a live instance of any particular revision of any blogger.g?blogID=8806461199442202628#allposts/postsession you want complete with editor, terminal and runner. Here's an example, https://repl.it/GLAC/93


YouTube Wednesday: SymphonyOfScience!

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

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


Sage Ebay
TpT

Tuesday, June 27, 2017

preCalculus 2016-2017: Final Review, Final Exam, Game Day! (June)

preCalculus 2016-2017:
Final Review, Final Exam, Game Day!
(June)

Bye Bye Period 4 preCalc, U will b missed!

Bye Bye Period 9 preCalc, Have a great Summer!

Final Review!
We had Part01 and Part02 of the Final in-class. The Midterm already covered Trig, Vector and Polar Notation, Conics, Matrices and Series. The Final emphasized Polynomial, Exponential and Rational Functions, Limits, Derivatives and Integrals. Below you will find a number of ScreenCasts reviewing all these topics. Above you will find class pictures taken the last day of school on Game Day after the Final! Hope you guys learned alot. Have a great summer and good luck next year!

Final Review preCalculus 2017!


Teaching With Technology,

Thursday, June 15, 2017

CIS(theta) 2016-2017: June Meeting: NONE!


CIS(theta) 2016-2017: 
June Meeting: NONE!

We didn't have a meeting in June due to In-Class Finals Week followed by NYS Regents Exam Week. So, now is a time to reflect on what we did: 

We installed Ubuntu Linux 64bit Decktop 16.04, then we installed openSSH with public key authentication to connect all the cores and then we installed openMPI to get our compilers. We ended up adding the MPI4PY interpreter and wrote helloMPI.py as well as quadMPI.py but we ran out of time when we encountered bugs in quadMPI. 

Next year we will have to meet 2 times every month so we can get more stuff done! We didn't always get to do that this year. Also, we can focus on just getting a few cores, say 4 PCs with 16 cores running at about 32 GFLOPs, up and running before we scale to 100 cores. 

September is very busy, so we will meet late in the month and just have an organizational meeting but then we should follow a schedule like this:

October: 
Install latest Unbuntu Linux.

November: 
Install openSSH.py and open MPI.py

December: 

Write helloMPI.py and quadMPI.py:
(helloSERIAL.py and quadSERIAL.py first)

January: 
Write mandelSERIAL.py and mandelMPI.py

February: 
Render Mandel Zoom Movie

March: 
POVRay 3D Rendering

April: 
Blender 3D Rendering

May: 
Blender 3D Animation

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

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 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), JamesG(12), JoehanA(12), RusselK(12)

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
TpT