Friday, December 30, 2016

AP Computer Science 2016-2017: Boolean Expressions & Predicate Methods (December)

AP Computer Science 2016-2017:
Boolean Expressions & Predicate Methods
(December)


LAB06/CHAP07
We spent a bit of this month finishing Lab05/Chap06 on Conditional Statements, Boolean Expressions, Truth Tables and Predicate Methods! Then we did a WEEK Of Code devoted to Daniel Shiffman's excellent tutorial on Processing. Now we are in the midst of Lab06/Chap07 about Iteration!




YouTube Wednesday: Cliff Stoll on Nova!


Teaching With Technology,
AJG

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

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


Sage Ebay
TpT

Thursday, December 29, 2016

AP Calculus BC 2016-2017: Integral Applications (December)

AP Calculus BC 2016-2017:
Integral Applications
(December)


UNIT06 
This unit was all about applying what we know about Anti-Derivatives! We solved Variable Separable Differential Equations. We calculated the Area Between Two Curves. We found Volumes Of Revolution and Volumes With Known Cross-Sections in terms of the differentials dx and dy! We even derived formulas for Arc Length and Surface Area.





YouTube Wednesday: Fractals on Nova!



Teaching With Technology,

Wednesday, December 28, 2016

preCalculus 2016-2017: Sequences & Series (December)

preCalculus 2016-2017:
Sequences & Series
(December)


CHAPTER12
This chapter was all about Sequences and Series! We talked about summing Arithmetic and Geometric sequences analytically and graphically! We derived the formula for finite Arithmetic and Geometric Series as well as infinite Geometric Series. We graphed sequences and sequences of partial sums using Sequence Mode on the TI-84C. We played around with Pascal's Triangle, Binomial Expansion Theorem and Binomial Probability Distributions. We even looked at Recursively Defined Sequences modeling Annuities and Mortgages!



YouTube Wednesday: Fractals on Nova!

Teaching With Technology,

Thursday, December 15, 2016

CIS(theta), 2016-2017 Dec Meeting: Fire Up The Cluster!


CIS(theta), 2016-2017 
Dec Meeting: Fire Up The Cluster!

This month's meeting was about introducing the idea of a COTS or COW Linux Cluster running MPI. COTS, BTW, stands for Commodity Off The Shelf. In other words, a cluster made of commonly available hardware such as the PCs in my classroom! 

We downloaded the latest ISO of the Pelican HPC DVD which can boot up the whole room in about 5 minutes! We couldn't get all 100 cores running for some reason. However, we did get 88 cores running at bout 44 GFLOPs.

2016-2017 MANDATORY MEETINGS
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 (Fractal Plots)
03/22/2017 (Fractal Zoom Movie)
(03/29/2017 is a make up day)
04/26/2017 (POVRAY Animation)
05/10/2017 (Blender 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
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) 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

Friday, December 2, 2016

preCalculus, Calculus and CompSci Carols, Oh My!


preCalculus, Calculus and CompSci Carols, Oh My!

Happy Holidays!
Here we go again!
It's time for Calculus Carols!


Every year, the day after Thanksgiving Break, I give my Calculus class a Calculus Carols Song Book. Every day, before December Break, we sing one song from the book. We sing every day so as to practice, aka rehearse, the songs for our Caroling Day before break. Every period on Caroling Day, we go all over the school and sing these songs to anyone who would listen! 



The Calculus Carols Song Book includes holiday Filks related to Calculus that previous years' students have contributed or that we just copied off the web. You can listen to some Filks created by my students in the YouTube videos included herein. Unfortunately, we never did get around to including these songs in the song book. We should probably get on that!



What's a Filk you ask? This term is commonly used at Science Fiction and Fact conventions referring to a recognizable tune where the words have been changed to make a statement or to poke fun at something. In our case, we poke fun at math class! Filking is a huge genre onto itself. There's even Filker Of The Year awards at all the top conventions!



However, during the past few years, my preCalculus students also wanted a song book, so we've been developing one of late. Oh, you guessed it, my CompSci students wanted in this year too! So, what you find including in this blog post is a set of 3 song books. One for preCalculus, one for Calculus and another for CompSci class. We wanted a dozen songs in each book but we couldn't find enough songs, so some of the songs overlap from book to book. Be warned, however, the CompSci Carols are mostly Tom Lehrer songs and not all holiday themed. Enjoy!


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

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


Sage Ebay
TpT

Thursday, December 1, 2016

The Hour Of SAGE 2016!


The Hour Of SAGE 2016!

Every year, around Admiral Grace Murray Hopper's birthday, we celebrate CS Education Week and participate in The Hour Of Code. The Hour Of Code started a few years ago and has grown by leaps and bounds! This year it is estimated that 1000s of schools particiapted. Further, 1000000s of students wrote 1000000000s lines of code during their Hour Of Code, many for the first time ever!

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) 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. 

I ran my Hour Of SAGE with all my classes on Monday 12/5/2016 and with all the remaining Honors Math classes on Wednesday 12/7/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 letter I gave to every class except for my current AP CompSci students. I gave them the CSI letter. We used to have an intro programming course based on Python called CSH but we don't have the enrollment to justify it anymore. We also had a class called CRL (Calculus Research 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 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: Then we use 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 (see the first video at the top of this post). With my AP CompSci students I introduced the Processing IDE instead.

STEP05: We finished with a pep talk from President Obama!


STEP06: Last, but not least, I gave out Certificates Of Completion!




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

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


Sage Ebay
TpT

Wednesday, November 30, 2016

AP Computer Science 2016-2017: Conditional Statements (November)

AP Computer Science 2016-2017:
Conditional Statements
(November)


LAB05/CHAP06
We spent a whole month on this lab! We're still not done. We were rudely interrupted by the Hour Of Code which for us turned into a whole week of OpenProcessing.org practice using Daniel Shiffman's excellent tutorial. Anyway, this lab was all about conditional statements, boolean expressions and predicate methods. Please see the YouTube Playlist above.




YouTube Wednesday: Write In C!


Teaching With Technology,
AJG

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

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


Sage Ebay
TpT

Tuesday, November 29, 2016

AP Calculus BC 2016-2017: Anti Derivatives (November)

AP Calculus BC 2016-2017:
Anti Derivatives
(November)


UNIT05 
This unit was all about anti-differentiation. We had great fun with definite and indefinite integrals. We played with a lot of Differential Equations. We even wrote programs to calculate Riemann Sums numerically on our TI nSpire CX CAS Graphing Calculators! Please see the YouTube Playlist above.

YouTube Wednesday: Calculus Rhapsody!



Teaching With Technology,

Monday, November 28, 2016

preCalculus 2016-2017: Vector & Polar Notaion (November)

preCalculus 2016-2017:
Vector & Polar Notaion
(November)


CHAPTER09
This chapter was all about using the Trig we learned in chapters 6-8 in order to talk about vector and polar notation! We started with some Polar Graphs. Then we talked about Complex Numbers as Vectors on the Complex Plane. Last, but not least, we played with Vector Arithmetic in 2D and 3D. We worked with sums, differences, dot products and cross products too. Please see the YouTube Playlist above.



YouTube Wednesday: Mathematicious!

Teaching With Technology,

Tuesday, November 15, 2016

CIS(theta), 2016-2017 Oct + Nov Meeting: Ubuntu Install Fest!


CIS(theta), 2016-2017 
Oct + Nov Meeting: Ubuntu Install Fest!

NOVEMBER UPDATE I **********
We had a huge problem installing Teamviewer. When you go to the download page for Linux you find a discussion of their version for 64bit PCs under "multiarch." So I tried to install the multiarch *.deb file. I couldn't complete the install as there were several unmet dependencies. This is usually not a problem. Just go to the Ubuntu Software Center and search for the listed missing *.deb files or try something like: 
sudo apt-get install libpng12-0

Problem is that some of these files were removed from the Ubuntu 16.10 repositories! So I looked for the missing dependencies on:
http://packages.ubuntu.com
and tried something like:
sudo dpkg -i libpng12-0
Well, I found the missing file under the 16.04 repositories and I installed it. However, Teamviewer's installation still did not complete???

So, I opened a Teamviewer ticket and waited about 2 days to get this response (I'll try it on Monday at school):

"Dear Jorge,

Thank you for contacting TeamViewer.

Please use this workaround to install TeamViewer.

To make all TeamViewer dependencies available on Ubuntu 16.10, make sure you perform the following steps:

1. Add a repository
2. Update the Advanced Packaging Tool
3. Install the library
4. Install TeamViewer
5. Disable the repository (Optional)

The following commands will help you to perform the process:

sudo apt-add-repository "deb http://us.archive.ubuntu.com/ubuntu/xenial main universe" 
sudo apt-get update
sudo dpkg -i teamviewer_i386.deb
sudo apt-get install -f
#optional remove the line 'deb http://us.archive.ubuntu.com/ubuntu/ xenial main universe' from /etc/apt/sources.list using your favorite editor with sudo priviledges

Commands tested on Ubuntu 16.10.2

If you have any other questions please don’t hesitate to contact us.

Best regards,

Christian Cay
Technical support representative"

NOTE: teamviewer_i386.deb is not a 64bit package. So, you will need to start this process in the command line with:
sudo dpkg --add-architecture i386
sudo apt-get update

NOTE: if you FUBAR your dependencies table:
sudo dpkg --configure -a
sudo apt-get install -f

NOTE: if you don't know your Ubuntu version:
lsb_release -a
NOVEMBER UPDATE I **********

NOVEMBER UPDATE II **********
In the mean time, I've been experimenting with Chrome Remote Desktop (CRD). It's a bit of a bear to set up the host PCs in class on Ubuntu, but the clients at home are easy. All you need to do is install the Chrome browser (if you don't already have it) and go to the Chrome Wedapp Store to install CRD. Then login with our AP CompSci gmail address (apcs429@gmail.com) and click on your PC! That was easy, right?

Here's what I had to do on each of our 24 student PCs in class:
1) install Chrome
2) install CRD
3) install *.deb host file listed here.
4) open CRD in chrome://apps
5) enable remote connections

Now, that wasn't too bad, was it? Wait, hang on to your hats! CRD cannot display a 3D Accelerated Desktop like Ubuntu's Unity. So, you have to install a 2D Desktop! 

I tried lxde but it was way too retro! 
sudo apt-get install lxde lxde-common
and add file
~/.chrome-remote-desktop-session
with this one line
exec /usr/bin/startlxde

So, I tried:
sudo apt-get install gnome-session-flashback
which actually installs the Metacity 2D Desktop. To get a Metacity Desktop running in display:0, you need to logout and select the desktop from the login screen. 

There's one last SNAFU! I could not get CRD to start Metacity in another display like I did with lxde (so you can login remotely without bothering the user on that PC). So, I left the host PCs logged into Metacity and made CRD use display:0. 

To accomplish this:
sudo gedit /opt/google/chrome-remote-desktop/chrome-remote-desktop
and set
FIRST_X_DISPLAY_NUMBER=0
also comment out
#while os.path.exists(... % display)
#    display += 1

BTW, if you FUBAR your CRD, just:
sudo service chrome-remote-desktop restart
NOVEMBER UPDATE II **********

We reinstalled the back row of our PC Classroom/Lab with the newest version of Ubuntu Desktop 16.10 Yakkety Yak 64bit!

Wine did not open windows executables from permissions anymore so we needed executable scripts for our TI Graphing Calculator emulators, Wabbit and kArmTI. We may even add Wabbit to the startup apps menu.

Apt-get couldn't find kate or wine-stable on some PCs after a fresh install. That's odd, since all the PCs were installed exactly the same way. Anyway, we'll have to change the software sources in the Ubuntu Software Center (USC) in some cases before we using apt-get or dpkg.

We hit only one major snag. Teamveiwer would not install as Yakkety Yak sees it as a 32bit application. The Teamviewer website says we should download the multiarch version for Ubuntu 16.10 but we still had no joy! We tried using USC to install the *.deb file, maybe we should try:
sudo dpkg -i teamviewerxxx.deb
We may try the instructions here.

STUDENT PC INSTALL STEPS
(01)Download the latest Ubuntu.
(02)Burn the ISO file to DVD with Brasero.
(03)Reboot PC with DVD.
(04)Install to Linux Partition by script.
(05)Reboot Linux Partition.
(06)Tweak Appearance
(07)Tweak Brightness
(08)Configure Network
Method: Manual
Address: 10.5.129.xxx
NetMask: 255.255.0.0
Gateway: 10.5.0.254
DNS: 10.1.1.19
Proxy: Manual/10.0.0.125 (optional)
(09)Configure Printers
10.5.129.31 + jetdirect (laser printer)
10.5.129.27 + jetdirect (color laser printer)
(10)sudo chmod 700 /usr/games/*
(11)sudo apt-get update
(12)sudo apt-get upgrade

(13a)install WINE for the emulators 
sudo apt-get install wine-stable
(13b)install Kate for color laser printer 
sudo apt-get install kate
(13c)install bzflag for Game Day
sudo apt-get install bzflag

(14a)copy WABBIT directory to Home
(14b)copy TI84C.rom to WABBIT directory
(14c)write executable shell script to run
(14d)add to startup menu:
(14d)wine ~/WABBIT/Wabbitemu.exe

(15a)copy KARMTI directory to Home
(15b)copy boot string into KARMTI
(15c)write executable shell script to run

(16a)add firefox tab for SAGE 
(16b)add firefox tab for HOC 
(16c)add firefox tab for SOCRATIVE


OPTIONAL:
(17)install TeamViewer (d/l from website)
or
(17)install SplashTop (d/l frpm website)
or
(17)install Chrome Remote Desktop (CRD)

NOTES: 
1) Teamviewer is not installing on 16.10
2) SplashTop is not free
3) CRD hosts crash alot

====================

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
TpT