Wednesday, December 10, 2014

CIS(theta) 2014-2015 December Meeting: #HourOfCode!

CIS(theta) 2014-2015
December Meeting#HourOfCode!
Sorry, we had to cancel the November meeting. Anyway, I'm doing the HourOfCode this week with 250 students! So, we did the HourOfCode after school for CIS(theta) too! 

We watched the four tutorial videos on the MIT AppInventor site (formally hosted by Google). Now, everyone needs to get MIT AppInventor working at home so we can do these tutorials ourselves! 

If you have an Android phone, you can get the tutorials running on your phone by simply scanning a QR code with their app. If you don't have a Droid, you'll have to set up an emulator in your browser (instructions are on the website). 

Coding with AppInventor requires a google account (like gmail) and runs an a cloud SAAS server (Software As A Service) via a browser. You will be using a visual programming environment like Blockly or Scratch that runs JavaScript under the hood. 

HWK: Make sure you can show me your progress with AppInventor during the next meeting and how to set it all up on our PCs in Room 429. You need to have the 4 tutorials (3 apps) done by then. If you have trouble, help eachother via our Edmodo page. You also need to think about what kind of app you want to develop.

We can still set up Android Studio software stack which is easier than using Eclipse. However, AppInventor looks even easier than Android SDK. So, let's try this first!

CIS(theta) 2014-2015
October Meeting 2Ubuntu Install Fest!
Here's what we did:
(01)Download the latest version of Ubuntu.
(02)Burn the ISO file to DVD with Brasero.
(03)Reboot PC with DVD.
(04)Install to a Linux Partition following script.
(05)Reboot Linux Partition.
(06)Tweak Appearance
(07)Tweak Brightness
(08)Configure Network
Method: Manual
Proxy: Manual/
(09)Configure Printers
(10)sudo chmod 700 /usr/games/*
(11)sudo apt-get update
(12)sudo apt-get upgrade
(13)install WINE from USC
(14a)add WABBIT folder to the desktop
(14b)add TI-84C.rom to WABBIT folder

We don't use TI-84 much anymore, but it's there just in case! We use SAGE in preCalculus, TI nSpire CX CAS handhelds in Calculus and Java in AP Computer Science.

We had a huge problem when rebooting the new Linux Partition for the first time. The refresh rate was incorrect for our max res 1600x900. So we had to tweak Displays first. Right after boot up, the monitor was unstable and flickered on and off 3 times. If you are quick, you can tweak Displays to 1280x1024 before the monitor goes completely dead! So, now we have a clean install of Ubuntu Linux 14.10 Utopic Unicorn 64bit Desktop and we can add the Android Studio software stack to this next time.

If you google "utopic lenovo thinkcentre blank screen" you will find this. The bug report describes an issue with Lenovo ThinkCentre m-Series nvidia and intel graphics cards not playing well with compiz (a 3d accelerator for the Unity/Gnome desktops). This bug report also gives the following fix.

If you have a stable desktop (ctrl)(alt)T, if not (ctrl)(alt)(F4), to get a terminal and enter:
dconf reset -f /org/compiz
setsid unity
After this procedure you should be able to boot up to a stable desktop and reset the display to 1900x1600.

Next I'll install a new openSSH/jdk server and a new SmartBoard, SplashTop, VLC, avconv server the same way adding these services. Except, for the networking setup, these servers do not use the proxy!

14.10 is turning out to be very buggy. Not only is the X window system unstable but our mouse movement is very erratic and changing settings doesn't help. We are downgrading to Trusty Tapir 14.04.1!

ATTENDANCE (10/30): BryceB, CheyenneC, CliffordD, DanielP, DavidZ, XXXXXX, KeyhanV, NoelS, SafirT

CIS(theta) 2014-2015
October MeetingUbuntu Install Fest!
(1) The plan was to download the latest version of Ubuntu. We tried to download Ubuntu 14.10 but 14.04 is still out! So, we'll burn the latest ISO to DVD and have a major install fest next meeting (10/22).

(2) We collected the Student Application forms for the NCSHS. You only need 2 semesters of CS related classes. You have 4 years worth to choose from: HonorsCS, APCS, CIS(theta) and Robotics! Community Service is helping friends with APCS projects, helping peeps with PC problems and helping me figure our Android Studio!

(3) We talked about installing Android Studio! We won't be installing the Android Software Stack until we update Ubuntu.

(4) This is an independent study class. In other words, you're only going to get out of it what you put into it. You need to do research at home. If possible, install Ubuntu 14.10 at home and the Android Software Stack. Also, try viewing some Android Studio tutorials!

ATTENDANCE (10/8): BryceB, XXXXXX, XXXXXX, DanielP, DavidZ, GabrielT, KeyhanV, SafirT, NoelS


CIS(theta) 2014-2015
September MeetingAdministrativa!
(1) Wreath of the Unknown Server: We visited our first ssh server, Colossus, which is still in the switch room though dormant. I set it up for the first time in 1995 running Slackware Linux. Colossus ran for 12 years straight, 24x7 never having to shut down, reboot or even have anything re-installed!

(2) Planning: We have to wait another 2 weeks (10/8) at which point Ubuntu 14.10 Desktop Edition should be available for a mini install fest. After that, we will look into installing an Android Development stack to make our own apps! Maybe we'll try Android Studio.

(3) Display Case Unveiled: We took down a ton of fractal prints and ray tracings from Room 429 to the 2 cases on the 1st floor near the art wing. We decorated both cases as best we could and left before anyone saw us. Must have been gremlins.

(4) NCSHS: We're going to start a chapter of the National Computer Science Honor Society. We talked about the requirements for membership and how to start a chapter. Each chapter is called Omicron Zeta something. This is a pretty new honor society. The first few chapters were called Omicron Zeta Alpha and Omicron Zeta Beta. So, if were are, for example, the 12th chapter, we'd be called Omicron Zeta Pi!

ATTENDANCE (9/24): BryceB, CheyenneC, CliffordD, DanielP, DavidZ, GabrielT, KeyhanV, NoelS, SafirT

What we are researching  (Sept+Oct)

Membership (alphabetic by first name):
CIS(theta) 2014-2015: BryceB, CheyenneC, CliffordD, DanielP, DavidZ, GabrielT, KeyhanV, NoelS, SafirT

CIS(theta) 2013-2014: BryanS, CheyenneC, DanielG, HarineeN, RichardH, RyanW, TatianaR, TylerK

CIS(theta) 2012-2013: Kyle Seipp

CIS(theta) 2011-2012: Graham Smith, George Abreu, Kenny Krug, LucasEager-Leavitt

CIS(theta) 2010-2011: David Gonzalez, Herbert Kwok, Jay Wong, Josh Granoff, Ryan Hothan

CIS(theta) 2009-2010: Arthur Dysart, Devin Bramble, Jeremy Agostino, Steve Beller

CIS(theta) 2008-2009: Marc Aldorasi, Mitchel Wong

CIS(theta) 2007-2008: Chris Rai, Frank Kotarski, Nathaniel Roman

CIS(theta) 1988-2007: A. Jorge Garcia, Gabriel Garcia, James McLurkin, Joe Bernstein, ... too many to mention here!

Well, that's all folks!

Saturday, November 29, 2014

What are you doing for Grace Hopper Day???

UPDATE-01 (11/29/14): Originally posted 12/14/13, what follows is a description of what we did for CS ED Week, aka The Hour Of Code, aka Admiral Grace Murray Hopper Day, aka Lady Ada Lovelace's Birthday last year. This year we are doing much the same thing. Our goal here is twofold. (1) Promote Computer Science Education in general. (2) Recruit more students for the APCS class next year!

UPDATE-02 (12/1/14): Last year was based on this Hour Of Code Tutorial from This year I'd like to try this or this tutorial from I'm having a problem with the new tutorials. They load fine at home, but take forever to load in school. So, I'm downloading the whole thing to run locally on each of my student PCs! I used the following commandline to download the webste recursively, 
wget -mirror -r --html-extension -convert-links

UPDATE-03 (12/5/14): I'm not getting very far with as yet. I'd like to do the tutorials with my AP classes as they saw the tutorials last year. Also, has an Angry Birds tutorial and and a Disney's Frozen tutorial. So, I can do one in the morning with AP Calculus and the other in the afternoon with AP Computer Science as I have some of the same students in each. For students who have not done The Hour of Code with me,'s Karel the Dog is an easier intro. has two new tutorials. One is on mySQL and Harry Potter which is a little dry. The other is on making graphics with JavaScript which is a little challenging. I also like the tutorials because they feature experts in the video tutorials like Bill Gates and Mark Zukerburg teaching about if/then/else branches and repeat/until loops! Here's some videos from

UPDATE-04 (12/8/14): Here's what we did today!

(original post from 12/14/13:)
Here's what I did for the #HourOfCode
(1) I registered myself as a presenter of an Hour Of Code,
(2) I registered all my classes for a tutorial do be done during said hour,
(3) I presented the following info during that hour on Monday 12/9/2013:

Admiral Grace Murray Hopper is one of my personal idols! Not only did she usher in the entire industry of Software Engineering but she single handedly invented Computer Programming Languages and Compilers! She was a Math Professor, a Naval Officer, the developer of COBOL and an all around class act! 

Grace Hopper's birthday was Monday 12/9. To honor her memory, I registered all my classes for an Hour Of Code. Maybe you'd like to participate as well? The Hour Of Code is about exposing as many students as possible to Computer Science in all disciplines. I'm making this presentation during course selection week as well to encourage students to take Computer Science at my High School! Due to budget cuts, teacher layoffs, large class sizes and canceled electives, I'm recommending Honors 9th Graders take AP Computer Science next year. I used to recommend an intro course, but I can't anymore.... 

CSEDWEEK was an unprecedented international effort. Over 15,000,000 students at more than 30,000 locations (mostly schools) in nearly 200 countries were registered to participate sometime during last week and wrote more than 500,000,000 lines of code!

I teach Computer Science and see it as a great tool in all disciplines. It's a shame that more students don't take Computer Science in High School. Taking Computer Science can lead to a great major in college and a great profession! I also use Computer Science in all my Math and Science courses in High School and College! 

I've been teaching people how to code since 1975. I've also been teaching AP Computer Science at the High School level since 1984. Finally, I've been teaching computing at the College level since 1993. Needless to say, I'm a vehement advocate for a strong Computer Science Education in particular and a challenging STEM curriculum in general for every High School student

In fact, every single class I teach, every single day of the week, is devoted to some aspect of STEM! STEM stands for "Science, Technology, Engineering and Math." Actually, I try to incorporate STEAM into my classroom: "Science, Technology, Engineering, Arts and Math." By Arts I do mean Art (fractals, 3D graphics, animation) but I also try to tie in plenty of History, Literature and Culture. 

Mine is one of the few High Schools in the USA to offer a Computer Science curriculum! CS50 at Harvard, see playlist above, covers a lot of the same material we cover here at Baldwin Senior High in my AP Computer Science class. They use Scratch, C, php and JavaScript whereas we use Python, SAGE, MPI and Java, but the concepts are the same!

Sadly, the United States is falling far behind other countries in training professionals for jobs in the 21st Century that will require this skill more and more! So, in answer to this growing demand, here's what I teach (in addition to Math and Science):

Intro to Computer Science (python):

AP Computer Science A (java):

CIS: Computing Independent Study 
(MPI with FORTRAN, C, C++ and python):

Calculus Research Lab (SAGE):
aka Scientific Computing Lab (Octave):
aka Computing Science Lab (R): 

HOUR OF CODE Instructions for Monday's tutorial:
(1) Each student should go to
(2) Sign up for CodeHS using this code: F2B9
(3) Start learning!

You will be completing a tutorial on programming for beginners. Fun will be had by all!

Course Selection Week DropBox!

Well, that's all folks.

Generally Speaking,

Teaching Math 4R: Chapter 9 Quarter II Weeks 1&2 Vectors! 11/10/14-11/21/14

Teaching Math 4R:
Chapter 9
Quarter II Weeks 1&2 Vectors!
Yeah, Quarter II has begun! We started the unit on vectors by talking about complex numbers in CIS(theta), aka polar form, and 2D vector form. We also talked about adding, subtracting and multiplying, via the dot product, 2D vectors. Next week, we'll talk about 3D vectors and the cross product!

Don't forget to start rehearsals! 

Since we're doing Conic Sections and Planet Orbits in preCalculus, it's time for our Astronomy related YouTubes! We had 2 guest speakers talk about the Asteroid Apophos and its flyby in 2029!
Week1: Neil deGrasse Tyson!
Week2: Bill Nye the Science Guy?

Math 4R: preCalculus + SAGECELL
YouTube descriptions include links to code and notes if you need them.

Teaching Math 4R:
Chapter 10
Quarter I Weeks 9&10 Conics!
Yeah, Quarter I is done! We finally finished Conic Sections using the Completing The Square algorithm to get Standard Forms for Parabolas, Ellipses and Hyperbolera! For those graphs that we could not use the Completing The Square algorithm, we used SAGE and polar_plot(). We also talked about parametrically defined trajectories and SAGE's parametric_plot().

Since we're doing Conic Sections and Planet Orbits in preCalculus, it's time for our Astronomy related YouTubes! We started by talking about really big and really small numbers and metric prefixes.
Week9: NEW Powers of Ten.
Week10: Original Powers of Ten.

Math 4R: preCalculus + SAGECELL
YouTube descriptions include links to code and notes if you need them.

Teaching Math 4R:
Chapter 10
Quarter I Weeks 7&8 Conics!
We finished the Matrix unit (CH11) with nonLinear Systems and Linear Programming. Then we started Conic Sections (CH10). In fact, we're having a quiz right now, as I type, on the Standard Form Equations for Parabloas, Ellipses and Hyperbolera! We are focusing on conics with horizontal or vertical symmetry right now. Next week, we'll deal with what I call Twisted Conics using Polar Mode. Then, the following week, we'll revisit the concept of foci and do some real world problem solving!

If it's October, it's gotta be Admiral Grace Murray Hopper!
Week7: Letterman interview.
Week8: Walter Isaacson on CBS Sunday Morning (from my DVDR). 

Math 4R: preCalculus + SAGECELL
YouTube descriptions include links to code and notes if you need them.

Teaching Math 4R:
Chapter 11
Quarter I Weeks 5&6 Matices!
During these past 2 weeks, we started solving 2D and 3D Systems using Matrix Arithmetic and Matrix Algebra! In fact, we are having a quiz this week using Cramer's Rule of Determinants as well as Matrix Inverses to solve these systems. I make a point of doing 2D problems totally by hand (no calculator or CAS). We are doing 3D systems on SAGE!

If it's October, it's gotta be Admiral Grace Murray Hopper!
Week5: CBS Rewind 60 Minutes interview.
Week6: Full interview on DVD.

Math 4R: preCalculus + SAGECELL
YouTube descriptions include links to code and notes if you need them.

Teaching Math 4R:
Chapter 11
Quarter I Weeks 3&4 Systems!
OK, let me go back to my weekly or biweekly summaries. The day by day summary is too time consuming to write and I think too tedious to read! So, this will be a 2 week 
summary as this past week was quite short 
(Thursday and Friday was Rosh Hashanah).

We finished Chapter 12 on Sequences and Series with the Binomial Expansion Theorem. Then we started Chapter 11 on solving 2D and 3D Systems of Equations. Next week, this will lead to the development of Matrix Arithmetic and Matrix Algebra. We will even get into some Linear Programming! I hope you are getting a lot out of our ScreenCasts (see below) which include SageCell WorkSheets in the YouTube Descriptions.

We also celebrated "The Great TI 84+ UnBoxing of 2014!" We unboxed and distributed 24 out of the 48 84s that were donated to our class. I'm still waiting on some calculator rental forms to give out the remaining 24 GCs. BTW, these are not really rental forms as no one pays a dime until the end of the year if the GC is lost or damaged (like a book card really). So, over the past several years we've upgraded our emulators from Ziggie (VTI-83 and TILEM-83) to Frodo (WABBIT-84) to SAGE!

If it's September, it's gotta be Tom Lehrer!
Week3: Elements ala SheldonPotter not to mention Gilbert and Sullivan?
Week4: Lobachevsky channeling Danny Kaye!

YouTube descriptions include links to code and notes if you need them.

Teaching Math 4R:
Chapter 12
Quarter I Week 2 Sequences and Series!
MONDAYLesson 1201A Recursion
Now we redo 1201 by looking at sequences and series defined recursively.

TUESDAYLesson 1202 Arithmetic Seqs

Today we talked about adding finite arithmetic sequences. 

WEDNESDAYLesson 1203 Geometric Seqs

Then we derived a formula for summing finite and infinite geometric sequences. BTW, if it's September, YouTube Wednesday must include Tom Lehrer's New Math!

THURSDAYLesson 1204 Induction Proofs

Finally, used Peano's Postulates to prove sums by induction! 

FRIDAYLesson 1204 Induction Practice

We went over the homework as a review for a QUiz on Monday.


YouTube descriptions include links to code and notes if you need them.

Teaching Math 4R:
Chapter 12
Quarter I Week 1 First Week Back!
I don't usually do a day by day rundown of the week, but here goes nothing!

MONDAY: Labor Day (nothing to report)

TUESDAY: Superintendent's Conferences where we spent all day in meetings except for the last 2 hours of the day when we finally got to set up our rooms. I spent those 2 hours moving 100 textbooks, arranging and tweeking 25 PCs, finding 25 chairs and placing 6 tables. Then I found that my SSH server's RAID drive crashed, so I had to setup openSSH on an alternate server I used to have for FTP. That's OK since I don't need the FTP server much anymore. I use the SSH sever for my AP Computer Science students to login from home and finish their Java projects. I share files with my students through Edmodo. I upload my files on DropBox, SageCell and YouTube aka my cloud!

WEDNESDAY: First Day of Classes

The first day of every quarter starts with the "Ceremony Of The Seats" (new seating assignments). The students come into a dark room except for the PC monitors and the SmartBoard. On the SmartBoard I'm playing an MP3 of the sound track to "A Beautiful Mind" over VLC. Since this isn't an MP4, VLC adds some wild special effects on the SmartBoard so it's all cool. Then I walk to each seat and call each student using my SmartPhone as a flashlight as if I'm an usher in the Movie Theater. It's all very dramatic. Then we hand out books and book cards, go over the syllabus and fill out some biographical forms. Sorry, there's no instruction the first day of classes.
YOUTUBE: Since it was Wednesday, after all, I had to show a FILK or two! So, at the end of the period I snuck in our own student made Frozen and then the infamous Mathmaticious!

THURSDAYLesson 1200 Intro to SAGE

Finally, we say goodbye to Ziggie (TI-83) and play around with SAGECELL! All we did was some basic Arithmetic and Algebra but I think we got across the power of a robust Computer Algebra System, aka CAS, such as SAGE!

FRIDAYLesson 1201 Sequences & Series

We dive right into sequences and series using for loops and list comprehensions in python!
TECH NOTE: I recorded these ScreenCasts last year. The audio isn't great as I was using a BlueTooth Mic I inherited after Hurricane Sandy. It took me a while to get all my equipment replaced, sorry.


YouTube descriptions include links to code and notes if you need them.

Teaching Math 4R:
Ziggie must die - No more TI-83!
Quarter I Week 0 August Preparation:
PreCalculus is all new this year:
(1) My preCalculus for Juniors classes will start the school year with Chapter 12 this year! We start with Chapter 12 so we don't waste a lot of time reviewing topics from Chapters 1 and 2 which are about solving Linear Equations and Quadratics! So, when midyear is upon us, we can switch to Calculus without skipping important topics at the end of the preCalculus text. As such, we cover as much preCalculus as we can in the Fall Semester and as much AP Calculus AB material as we can in the Spring in preparation for Calculus next year!

(2) We are using a Computer Algebra System called SAGE instead of the TI-83. We used to call the TI-83 "Ziggie." Hence the title of this post: Ziggie must die! The grand experiment this year is to see how well students learn the Math while learning to code in python at the same time! Well, it's not such a grand experiment as we've been using SAGECELL for several years now. What's different is that we won't be using the TI-83 this year as we just don't need it anymore!

(3) We will be learning a lot of python in class. You can learn some python code on your own too with this online, interactive textbook!

(4) Here's a taste of our first day:

Well, that's all folks!