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 c9.io or 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 ppts 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 the 1995-1996 school year when Linux came out, 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 in class everyday as well!

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 of campus. My pleas to the contrary fell on deaf ears, I'm afraid! 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 varying 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.

One way around the credit card issue is to audit the CS50 course at cs50.edx.org and then use their version of c9.io via cs50.io instead! Most of the work we do all year is text based, these servers will do! BTW, I think could9 is running on the Amazon cloud.

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

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

I may want to download the Processing IDE directly to my Linux Desktop from https://processing.org

I'm used repl.it for last year (2016-2017) as my students are doing well with it and it's easy to share code on my SmartBoard as I teach.

If you are not using cs50.io but c9.io directly, 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.

Do this once in the bash terminal:

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.

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 and you can share your work! 

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. 


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

Thursday, June 1, 2017

ScreenCasting 2.0

ScreenCasting 2.0 
Recently, there was a discussion on how best to make ScreenCasts for our students on the AP Calculus forum. I'm no expert, but I've been playing with tech in the classroom forever, so here's my 2 cents anyway:

I've been ScreenCasting and "SmartBoarding" for my students for 10 years now, way before Kahn Academy was a household name and long before we had actual SmartBoards at my school! So, I guess I'll say I'm self taught and have learned a thing or two from my mistakes along the way. 

I've used several different solutions, aka hardware and software combinations, over the years and everyone has their own style and preference. So, please feel free to take from this blogpost what you think you can use and leave behind rest. It's your call!

BTW, above you will see one of my first CompSci ScreenCasts ever from 2009! Also, for comparison's sake, here's a blogpost from 2011 entitled ScreenCasting 101. Here's another related blogpost also from 2011 about SmartBoards and Linux!

Please note: I have used Linux, not Windows or Mac, since it came out in 1995. However, I'll try to describe OS neutral solutions. 

BACKGROUND
I started with a BlueTooth tablet and a PC projector both attached to my desktop PC. If I recall correctly, the tablet was a Wacom Graphire 6x8 (10" diagonal) which was nice since it connected easily over BlueTooth using a BlueTooth dongle in a USB port. 

Actually, we got this tablet from a SmartTech rep rebranded as the Smart Airliner Slate. That's how I got a copy of SmartNotebook before anyone else at school! This tablet also had a capacitive surface and the stylus had a magnetic tip which made it easy to hover over the tablet as a pointer without writing. 

The problem with this tablet was that you had to crane your neck to see what was displayed on the PC Projection Screen. Unlike a modern Android Tablet or iPad, you could not see anything on the tablet itself! I also had a cheap lapel Mic (FM 75MHz) from Radio Shack! In addition, I had a nice PC Projector from Donorschoose

Finally, I made my recordings "Live" during class so they were about 40 minutes each at my High School and 1 or 2 hours each at my Community College Summer Session. See above my first AP Calculus BC ScreenCast ever at the High School from 2009!

TODAY
Now I'm trying to make what I call "Shorts" whereby I record only 10-20 minutes after the lesson in question has been taught in class summarizing just the most important points (see preCalculus sample above from 2017). As far as my hardware and software solutions go, I have primarily settled on 2 different styles, one for Math and another for CompSci.

MATH-VERSION-01
When I'm recording a Math lesson I like the freedom I have to draw all over the SmartBoard (see sample preCalculus Midterm Review above from 2017). So I attached a nice USB Mic by Blue Yeti right next to the SmartBoard up in the front of my class. 

Everything I write and say is recorded from the SmartBoard. I know some people use SmartNotebook Recorder but that program makes really huge video files. So, I use SimpleScreenRecorder for Linux. A similar program you can use in Windows, running right off your Chrome browser, is ScreenCast-o-matic (I was a beta tester when they had Linux support) which I use whenever I'm on the road (conferences, summer school, etc). I then upload an MP4 file directly to my YouTube channel and link the video to Edmodo or Blogspot for sharing with my students. 

COMPSCI-VERSION-01
When I record for Computer Science class, I am not usually at the SmartBoard writing equations and drawing diagrams all over the place like a mad scientist (my kids think I'm like Sheldon, as in the mad scientist in TBBT: The Big Bang Theory sitcom on CBS). More often than not, I'm typing code and explaining what I'm doing as I'm typing away (see sample CompSci lesson above from 2014). To accomplish this I add a keyboard and mouse to my SmartBoard, on the PC in the back of the room, and record as above. My room is setup (see masthead) with the Teacher PC that's connected to the SmartBoard in the rear of the room so that I can see everyone is on task as I'm teaching CompSci since all the Student PC monitors face the rear.

MATH-VERSION-02
COMPSCI-VERSION-02
However, lately I've ditched the SmartBoard, PC, Projector, Keyboard and Mouse entirely. Please see the Math (2016 post AP Exam review) and CompSci (recent 2017 classwork) samples above.

BTW, I don't like SmartNotebook much either. Any Pen App that saves your work to pdf to share with students will do. I like to use Xournal, for example. I don't need all the bells and whistles in SmartNotebook. I've said this many times before, but here we go again: Don't drink the Kool Aid!

Anyway, lately I've found that working with a more modern tablet (ie: not the Wacom) to be a much better solution. A modern tabIet, weather it be Andriod or iOS based, has a lot more horsepower under the hood and a high resolution, high contrast color display showing everything you write as you write it. Imagine the luxury! 

I would strongly recommend a high-end tablet if you go this route. I hear a 3-in-1 (with tablet, laptop and tepee modes) like the Lenovo Yoga is very nice. However, the Yoga is a Windows based device. Sorry, I'm not a fan. I like to use FOSS: Free Open Source Software. Technically, I prefer to use FLOSS everyday (Free Linux Open Source Software). BTW, I won't touch iOS either (too proprietary). 

I'm using the Samsung Galaxy NotePro 12.2" Android Tablet (Android is based on Linux). What's nice about this solution is that the S-Pen is very easy to use if you want to do Math Lessons and everything you need to ScreenCast is built into this one device. You don't even need a SmartBoard, projector or mic! The tablet stands in for all those devices in one! However, if you want to type, as in a coding class, you may want to add a BlueTooth Keyboard and a BlueTooth Mouse (the virtual keyboard is hard to use and covers half the screen when in use). 

A high quality mic is built in and there's tons of free apps in the Google PlayStore you can use for writing or typing and saving your notes or code as well as ScreenCasting apps. Right now, for example, I'm using the Autodesk Sketcher app for writing notes that I save to my Dropbox app and link to my Edmodo app. 

Lately, I've been using Repl.it in the Chrome app to type code. I've found the AZ Screen Recorder app very easy to use and I post my ScreenCasts directly to my YouTube channel via the Youtube app. 

I also have emulator apps for the TI-84C (Wabbitemu) as well as the TI-89 (Andie's Graph), TI-92 and even the TI-59 (for us old timers)! If I want the TI-nSpire, I have to use my SmartBoard as I have an emulator that is a Windows program called KARMTI running under WINE on my Ubuntu Linux 64bit Desktop.

HYBRID-SOLUTION
Sometimes I find myself in a situation where I don't have access to a SmartBoard. So, I use my tablet as a "Portable SmartBoard!" With a mirroring app such as TeamViewer or SplashTop (free to use only if all devices are on the same WiFi router) you can mirror your desktop to your tablet while your desktop is displayed on a PC Projector. Then you can control the whole shebang from your tablet using the S-Pen or BlueTooth Keyboard and Mouse!

WHAT-THE-FUTURE-HOLDS
Some classrooms at my school were recently "upgraded" to Epson BrightLink Interactive WhiteBoards which are larger and brighter than our SmartBoards (even bigger and brighter than my extra wide 78" SmartBoard with 885xi projector). 

The Epson whiteboards compete with SmartTech by addressing SmartBoard's shortcomings. For example, you can write on the board and share your notes without even connecting a PC. You don't need any software but there is a software package with extra features that's free! Everything you need is built right into the projector's hardware! Also, the projector can cast an image on any surface, even a table top for group work, so you don't need any special hardware in the board itself, any marker board will do. 

I think I'm going to have to stop referring to all this as ScreenCasting or SmartBoarding, how about Interactive WhiteBoarding?

IDK if I want this "upgrade." I do like the bigger and brighter image. Unfortunately, there's two problems with this hardware solution:

1) Epson's hardware and software are not compatible with SmartNotebook. So, if you drank the SmartTech rep's Kool Aid and wrote tons of notes over the years with SmartNotebook using all it's proprietary bells and whistles.... I'm afraid that you're up a creek without a paddle all on your own, sorry!

2) Also, one writes with an ink layer over a ppt or pdf or just a blank screen and nothing you write on the board shows up on the PC even if it is installed! So, how do you ScreenCast anything? 

Stay tuned for ScreenCasting 3.0 next year, I'll figure it out!

Generally Speaking,