Science, Technology, Engineering, Arts & Math
Teaching & Learning Math & Science with Technology:
Graphing Calculators, Numerical Methods, Computer Algebra Systems & Linux Clusters
Why Shadowfax? Our cluster is so fast that we named it after the Lord Of The Rings character!
Website once known as http://CalcPage.tripod.com (1988 – 2008)
Wow, the entire tech dept descended upon me the other day! All I did was innocently dispatch an email to the tech dept that I needed an ethernet cable extended as I moved my PCs around a bit.
Well, don't ya know, all hell broke loose! First the head of the tech dept emails my chairperson asking what the heck I was doing. Then my chair comes to my PC Classroom asking who the heck I was to do such a thing? Then the assistant principal for tech catches me in the hallway and calls me on the carpet. Finally, the new superintendent for curriculum and tech paid me a visit wondering what I was up to!
I proceeded to show each of these worthies that all I did was move the PC tables toward the front of the room by one measly foot! The only problem was I couldn't move the printers out of the way sufficiently as the ethernet cables were too short. The reason I did all this was to make room for my desk in the back of the room by the teachers' PC. I had to move all my stuff back there as my wireless mic failed so I had to use a standard wired PC mic.
BTW, I was the one who brought PCs to the school for the first time in the 80s. My PC Classroom is used as a model for all the other labs in the district now. There was no tech dept then. I was the only tech guy from 1984 to 1996.
Well, I don't mind telling you that I was just flabergasted!
Wow, I got VTI working in Linux land! So, I'm thinking this would make for a great final project in my Computer Math class which ends soon as its only one semester long.
I've been teaching Computer Math forever. We've used IBM BASICA in DOS, MS QBASIC in Windows, MS VisualBASIC in Windows as well as REALbasic in Linux. This year I used yaBASIC in Linux and thought I'd show my students how to use the skills they just learned to program their TI-83/84 Graphing Calculators for Math class!
That's where VTI comes in. I'll set up a bash script to start VTI for each of my students to run on their Linux desktops and we'll program the TI-83/84 emulator. I don't even have to hand out one single calculator!
Oh well, it was bound to happen! I've been using a Radio Shack 170Mhz wireless Lapel Mic every day since I got it last January. It has worked flawlessly that whole time.
Except, last week, the sound level was cutting in and out. The audio in my recordings was not reliable. Ironically, I think the wire connecting the lapel mic to the belt transmitter was coming loose since I could fix the sound level by shaking it. Take a look at my last youtube recording, embedded above, where the second half of the recording has no sound...sorry.
So, I went back to Radio Shack. Luckily the mic had a one year warranty and I got a whole new system for free. Wow, Radio Shack, you are a life saver, thanx! One little snag: even though they gave me a whole new system, they could not extend the warranty for another year. So, if something goes wrong now, I'm only covered thru mid January.
That's right, you heard it here first! My students have finally got the cluster up and running a hello world program. Thanx go to the whole team who helped install 64-bit Fedora 11 (ArthurD, DevinB, SteveB and JeremyA). I really like the Gnome version of the Fedora CD we installed. However, I was surprised to note that GCC is missing. Its pretty easy to install and update Fedora apps using yum, so we'll have to look into installing GCC.
So, now we have 25 dualcore 64-bit AMD Athlons running at 2GHz per core. We need to run some benchmarks to see how fast Shadowfax is. I was looking at LinPack and MTT for this. Some data sets on there show a 1.2GHz Athlon yeilding 2.4GFlops! So will one of our 2GHz cores yeild 4GFlops, and a dualcore node 8GFlops?
Wow, now it looks like my cluster is moving with me to Room 622! The problem with this scenario is that my current room is 34ft x 26ft, while this new room is only 28ft x 25ft. So, of course, I complained, and was told to pick from 613, 615, 616 or 619. However, these rooms are 28ft x 24ft or smaller!
If I had my druthers, I'd stay right where I am. The logistics of this move are so phenomenal, not to mention the tremendous expense, that maybe it just won't happen.... I can dream, can't I?
Another possiblilty is Room 620. Now, this is not an English room, it looks like Earth Science, so I guess its off limits. But, if I could persuade the powers-that-be to let me have it, its a bit bigger so not a bad choice (28ft x 30ft).
Regardless, to fit in a 30ft or 28ft space as opposed to a 34ft space will necessitate new furniture. Right now I have 2.5 ft x 3.5 ft desks. Half of each desk is taken up by the student's "PC desktop," the other half is the student's "wooden desktop." I have these desks arranged in 3 rows of 8 desks. This arrangement fits lengthwise in the 34ft space I currently have in Room 429 leaving a nice 3-4 ft aisle down the middle. We won't have this luxury in any of the new rooms. Maybe 2ft x 3ft desks will work better?
Video Wednesdays are still going strong! In fact, I think I'm renaming it Youtube Wednesdays since we can use youtube at school now and I use it a lot. Take a look at the two Nova episodes I showed recently (I show a max of 10 minutes each Wednesday).
The first one I showed to my Computer Math and Computer Science classes. It was about Cliff Stoll and the Cookoo's Egg virus. So we talked alot about Computer Ethics and Security. The second one, I showed to my AP Calculus BC class, is about great unsolved questions in mathematics.
OK, we are getting ready for the ICON Art Show at SUNY Stony Brook. ICON is moving back the SUNYSB, so we are hoping they will have an art show (to display our work) and print shop (to sell our prints) again! So, we set up a couple of display cases at school to show off our fractals and ray tracings.
Let's see, I have ICON (Art Show) at SUNY Stony Brook in March, LIMACON (Speaking about teaching with tech) at SUNY Old Westbury in April and PI Day (Art Show) at Suffolk County Community College Grant Campus.
On the first day of Christmas, Newton gave to me an apple falling from a tree.
On the second day of Christmas, Newton gave to me two refracting prisms and an apple falling from a tree.
On the third day of Christmas, Newton gave to me Three Laws of Motion, two refracting prisms and an apple
falling from a tree.
On the fourth day of Christmas, Newton gave to me four flying comets, Three Laws of Motion, two refracting
prisms and an apple falling from a tree.
On the fifth day of Christmas, Newton gave to me five optic rings, four flying comets, Three Laws of Motion,
two refracting prisms and an apple falling from a tree.
On the sixth day of Christmas, Newton gave to me six reflecting telescopes, five optic rings, four flying comets,
Three Laws of Motion, two refracting prisms and an apple falling from a tree.
On the seventh day of Christmas, Newton gave to me seven spectrum colors, six reflecting telescopes, five optic
rings, four flying comets, Three Laws of Motion, two refracting prisms and an apple falling from a tree.
On the eighth day of Christmas, Newton gave to me eight tides of water, seven spectrum colors, six reflecting
telescopes, five optic rings, four flying comets, Three Laws of Motion, two refracting prisms and an apple falling
from a tree.
On the ninth day of Christmas, Newton gave to me nine orbiting planets, eight tides of water, seven spectrum
colors, six reflecting telescopes, five optic rings, four flying comets, Three Laws of Motion, two refracting prisms
and an apple falling from a tree.
On the tenth day of Christmas, Newton gave to me ten feuds with Hooke, nine orbiting planets, eight tides of
water, seven spectrum colors, six reflecting telescopes, five optic rings, four flying comets, Three Laws of
Motion, two refracting prisms and an apple falling from a tree.
On the eleventh day of Christmas, Newton gave to me eleven differential equations, ten feuds with Hooke, nine
orbiting planets, eight tides of water, seven spectrum colors, six reflecting telescopes, five optic rings, four flying
comets, Three Laws of Motion, two refracting prisms and an apple falling from a tree.
On the twelfth day of Christmas, Newton gave to me twelve homework problems, eleven differential equations,
ten feuds with Hooke, nine orbiting planets, eight tides of water, seven spectrum colors, six reflecting telescopes,
five optic rings, four flying comets, Three Laws of Motion, two refracting prisms and an apple falling from a tree.
Merry Calculus! We've been practicing Calculus Carols all week! You should try it. I don't have any on me right now, so I'll have to write some up tomorrow for you. You can customize them as you see fit. We go Calculus Caroling the day before break and bother all the math and science teachers we can find....
Wow, I cannot tell you how upset this move is making me....
It's as if the last 25 years of work that I have done in Room 429 is just to be thrown out the window. Now I'm told that I'm not to have a new lab in Room 622 after all. I'm to go into Room 612, the current English Dept Writing Lab! If memory serves, this lab is on the first floor and is really small without even any room for a projector and consists of several computers I used to have in Room 429 years ago - my own had-me-downs!! What at a huge step backwards obviating many innovations I've brought to the Baldwin school district in general and to my students in particular!!!
Best case scenario is that I don't move at all. If I stay in Room 429 and the rest of the Math dept moves to the 600 wing, so be it, I'll be an island onto myself in a sea of Foreign Language classes (Math is replacing English, but English is replacing Foreign Language)! Room 429 is already the ideal Computer Science/Calculus Research Lab! It isn't just the computers, which are state of the art by the way (25 dualcore 2GHz 64-bit AMD Athlons amounting to a 50 core superCluster or super computer running at 100GHz with 1000GB storage and gigaBit switched Ethernet) . Its the infrastructure too:
(1) I'm running three Linux servers from there (ftp, ssh and apache soon to be SAGE; centauri, colossus and guardian). (2) There's an enourmos amount of power going into that room for PCs, printers, projectors, speakers, mics and AC. (3) I've setup a Windows Smartboard as well as a Linux Smartboard after many hours of research and work on my part these past three years alone. (4) Don't forget, there's three networks in there too for Windows, Linux and the superCluster.
Next best case would be moving to Room 622 with all the hardware listed above moving with me. However, that's a huge undertaking, requiring a large commitment of man-hours and funding. Further, you know that there will be millions of bugs after a move like that severely limiting instructional time after the move.
Third best case is moving to Room 622 and designing a whole new lab from scratch. Wow, imagine the man-hours and funding involved for that! Also, don't forget that Room 622 only has room for 18 students as opposed to the current 24 stations (computer desktop + wooden desktop) in Room 429.
Clearly, the worst case scenario is dumping me into a writing lab! How will I run Linux and java to teach my AP Computer Science classes? How will I run all the superCluster apps for myComputing Independent Study class?? How will we implement SAGE for the new Calculus Research Lab??? How will I display and record my Smartboard lessons in AP Calculus BC????
As you can see, moving the Computer Science/Calculus Research/SmartBoard/superCluster Lab is a really, really bad idea! I've been working to perfect this lab since the 1980s. I've made several hardware/firmware/software/infrastructure/curricular innovations over the course of these past, nearly, three decades that have inspired computer labs all over the district. Said innovations, built into Room 429, will be near to impossible to move or replicate....
Component 1 (tablet): I finally figured out how to get my Smart Airliner Slate/Tablet to work via bluetooth in Linux! After we reinstalled the superCluster with the 64-bit Fedora Linux 11 CD, I could not get my bluetooth USB adapter to pair with the tablet. However, after running a full update/upgrade cycle on Fedora all last weekend on my teacher station, the pairing works automagically! BTW, I understand that Fedora 12 is better in this regard "right out of the box."
Component 2 (video): I had to find a new desktop video recorder, aka screencast app, as Smart Notebook for Linux does not include one. I found a nice java web app at http://www.screencast-o-matic.com that works both in Windows and Linux and produces mp4 files great for sharing on myftpsite and for youtube uploads! However, after the Fedora updates, Mozilla Firefox is acting strangely when it comes to viewing java applets (I have to figure this out still). So, I installed gtk-recordmydesktop with yum and all is well. The only drawback to recordmydesktop is that it produces ogv files that require an add-on in Windows Media Player so my students can download and view these vidoes from my ftpsite. Recall that ogg is to mp3 as ogv is to mp4 but ogv and mp4 are different codecs. Also, youtube accepts ogv files for upload. BTW, screencast-o-matic limits you to a 15 minute recording which is fine for a short class or a 10 minute youtube. However, if you need to record 30-60 minutes, as I do for my ftpsite, you can upgrade to a"pro account" for a modest one time fee of $5 to the author of screencast-o-matic. This new feature is definitely worth $5 so I got my pro account as soon as it was available. Get yours while they last!
Component 3 (pen app): Since I wasn't using Smart Notebook for recording, I thought I'd try out some other new pen apps for writing my notes on the tablet. The one I like the best so far ishttp://xournal.sourceforge.net which has a lot of the features I use in Smart Notebook. I don't use all the Smart Notebook bells and whistles anyway. I just need to be able to write notes on my tablet and export these notes to a pdf file. Xournal does all I need!
Component 4 (CAS): I was thinking I'd have to dump VTI and use SAGE instead to do my graphs and calculations on the fly in class. However, I installed WINE with yum and, believe it or not, VTI works fine. I can still use SAGE in Firefox via http://www.sagenb.org if I like, not to mention http://www.wolframalpha.com too!
Component 5 (audio): My wireless mic worked without a glitch in this new Linux environment, as is to be expected, since the base reciever plugs right into a standard PC Mic socket, so Fedora recognizes my wireless mic as if it were a standard wired PC mic. Now, I can do all my SmartBoard lessons and recordings in Linux without Smart Notebook. Maybe I won't even use Windows at all! Prior to this I did use screencast-o-matic in Linux to record a class without the tablet. However, this was only convenient in AP Computer Science as I don't use a pen app there, but simply type in a text editor or on the command line!
This Tuesday we are enabling sshd servers on all nodes of ShadowFax, our superCluster. We also have to generate all 25 keys for pulic key authentication! This way, we create one common user on each node that you can log into from any node. Once you log into one node with this userid/passwd, you can ssh to any other node using the same userid without even specifying the userid or passwd, just each ip address! This makes it very easy to set up a master/worker cluster model (see last year's cluster blogs). openMPI also needs this as a foundation. I discussed how to set up public key authentication, http://www.knoppix.net/forum/viewtopic.php?t=28933, on the knoppix forum way back in June 2008. Also, we are following these notes http://dvbmonkey.wordpress.com/2009/02/27/getting-started-with-open-mpi-on-fedora about setting up openMPI on Fedora!
Happy Turkey Day everyone! Sorry for the belated greeting, but I've been away from cyberspace these past few days as have many of you. I note a sharp decrease this time of year in the internet chatter related to school in general and this blog in particular. Almost noone is on the forums this 4-day weekend (ap-calc, ap-compsci, ap-physics, ap-stats, etc).
Anyway, we had a bit of a disaster the day before T-Day. Its become somewhat of a tradtion to have a little LAN Party for T-Day-eve. I push my students really hard all year up to this point and promised them a little break. So, we used our brand-spanking-new 64-bit fedora installation on the cluster and added bzflag to the mix. Try as we might, however, we could not get the various bzflag clients to connect to a local bzflag server. We finally had to boot up an old KNOPPIX 32-bit DVD running bzfs and all was well after that. So, something is wrong with our 64-bit ethernet drivers or we have to play with our firewalls or, perhaps, selinux? IDK, but we'll figure it out for the daybefore X-Mas I hope!
Well, its not official, but we are going to try to set up a SAGE Lab course for this Spring! The Spring section will meet every day (during some student's lunch periods). Next year, we hope to have a full year course meeting everyother day.
Now that we have the new Fedora Lab, I think we'll install SAGE on a cluster. Let's see if we can cluster SAGE using dSAGE or mpiPy which is part of the Python distribution included with SAGE.
I think that running SAGE on a cluster will be more efficient than setting up a local SAGE server or even using the online SAGE sever at http://www.sagenb.org as we had originally planned. Its easy to use dSAGE on a multicore PC (SMP) but, setting up SAGE on a grid (much less a hybrid cluster) is not that obvious. We are going to have a little fun experimenting with all this!
SAGE is definitely working out as an alternative to Mathematica. We have used Octave before (alternative to MATLAB) but, the more I use SAGE, the more I am convinced that the students can learn it very quickly and get a lot of use out of it when studying Calculus. We also looked at C, C++, java and R, but I don't think that Calculus Research Lab is going to be a full-blown programming course. However, while using SAGE, we will program some functions in Python ala Mathematical Computing or Scientific Computing (Newton's Method, Riemann Sums, Euler's Method, etc).
Wow, we finally did it! We are KNOPPIX free! Don't get me wrong, I've used KNOPPIX ever since it came out and I loved it. However, even the forums on http://www.knoppix.net and http://knopper.net state that the KNOPPIX CD/DVD is not really meant as a linux install CD/DVD. I used to use it a lot as if it were a Debian install CD/DVD. KNOPPIX is a great live CD/DVD to "try linux before you buy." BTW, our servers are still based on Slackware.
Anyway, the Fedora live CD is also a great install CD. There's an "install to disk" icon right on the desktop when you boot the liveCD. Just click this icon and follow the ensuing script's instructions, its very simple! I chose the "replace existing linux" option, as I was replacing the KNOPPIX partition, so I didn't have to repartition anything. Also, you are asked to create the root passwd and one userid + passwd.
After the CD finishes formatting the linux partition and copying itself to the hard drive, all you have to do is reboot and setup your ethernet preferences (administration/network) and edit /boot/grub/menu.lst if you are running a dual-boot environment. You have to open a terminal and run "su" to gedit /boot/grub/menu.lst and you have to give the root passwd when you edit the ethernet preferences but its very doable.
After all that, I also had to run yum install hpjis so as to be able to use administration/printing to set up my printers.
Thanx a lot to CIS(theta), the Computer Independent Study team (JeremyA, SteveB, DevinB) who helped me install all 25 compute nodes simultaneously saving me a lot of time and hard work! Good job guys, now we have a cool 64-bit base to build our MPI cluster on!
OK, I started thinking about a new PC Classroom. So, even if we don't move the PC Classroom from room 429 to room 622, I think we should do a little remodeling in 429 anyway.
The way I teach in 429, I really don't need a teacher's desk in the front of the room. I usually teach from the back of the room using simply a keyboard when teaching programming or the Smart Airliner when teaching math. This way I can see what everyone is doing so as to make sure everyone is on task.
So, why not create a "teacher center" in the back of the room? In other words, move the teacher's desk to the back with the teacher PC. That way, I don't have to take up a student's station when using the Smart Airliner and I have more space for all my books and notes while teaching.
Also, we could use a 2nd teacher PC in this new "teacher center" so one PC runs Linux only and the other PC runs Windows only all day. Switching back and forth is very time consuming especially if another teacher needs the classroom the following period. We would also need at least a video switch, if not a KVM switch that allows for just one keyboard, one mouse and one monitor controling both PCs, to easily change the PC Projector's source from the Linux PC to the Windows PC.
Now, the students' desks can move forward so there's room for this new "teacher center" in the back of the room and the students can better see the Projector Screen. To further facilitate students' view from the back and sides of the room, I think we could also use flat screen monitors.
Last, but not least, we really need the new Projector Mount ASAP for the new PC Projector we got from http://www.donorschoose.org since we are currently going blind trying to see what's on the Projector Screen now!
The tech dept decided to move my ftp server out of the office as it was getting noisy (needs a new fan). So, to test things out, I just used putty off campus to ssh into the sftp server where my Computer Science students save their work. I had no problem doing so, but when I did the same for the ftp server, putty timed out. So, I sshed back into the sftp server and I tried to ping the ftp server internally but had no luck!
This is a huge problem as I share files with my Computer Science students via ftp. Also, I store all my Smart Recordings of my Calculus classes on the ftp server too.
If only I had my old server back with a larger hard drive, as promised a year ago, I could run all 3 services off the one server (ftp, sftp, apache). You see, I had a third Linux sever, but it was taken out for service over a year ago as it needed a new fixed drive. With a large hard drive, say 250GB or more, I could replace all 3 servers (each current only has 80GB fixed disks). Note, this would only be a temporary fix as I need at least 2 servers for backups and failsafe redundancy.
I've been thinking about the Calculus & Mathematica project by Jerry Uhl et. al. I used some of his work years and years ago in the early days of Mathematica when we had a copy at my HS. This project was very useful for students to learn Calculus at their own pace in a lab setting.
I wonder if anyone is doing something like this in addition to the traditional Calculus AB or Calculus BC class. Alternatively, is someone using something other than Calculus & Mathematica, maybe some other courseware? Any pointers or success stories out there? Inquiring minds want to know!
Today's Aim: Install Fest! Tonight's Reading: Building Parallel Programs, Chapter 5 This Week's Research: PVM and MPI environments Attending Tues: JeremyA, SteveB, DevinB (fedora install fest) Attending Thurs: JeremyA, SteveB, DevinB, ArthurD (bzflag stuff) This Tuesday we are finally reinstalling the Linux Partitions on all the PC clients in our PC Classroom. We have 64-bit AMD Athlon dualcores, so we are using the Fedora 11 64-bit liveCD to do the reinstall over the KNOPPIX 5.3.1 32-bit liveDVD installation we currently have.
We will also have a make-up meeting this Thursday when we will burn a class set of the Fedora 11 Games liveDVD for our BZFlag LAN Party the day before turkey day!
Wow, I hope I didn't try to ram too much into an hour and a half.... Sorry if I went a bit fast, but I had a lot to share with you! Believe it or not, I only just scratched the surface of Scientific Computing. Many colleges are starting departments in this new field which is a merging of Applied Math and Computer Science used in real-world math and science applications on super computers. BTW a super computer can be a single PC with multiple cores setup to use all cores on one problem. Also, a super computer can be Linux Cluster with several PCs linked together to solve one problem. Or, a super computer can be like Shadowfax (avatar below), a mix of both (25 compute nodes, each dual-core) known as a hybrid cluster!
If this is all too new to you, don't feel bad. I've been teaching programming since 1975, I've been perfecting Room 429 (aka Shadowfax) since 1985, I've been using Graphing Calculators since 1990, I've been using Linux since 1995, and I've been trying to get a Scientific Computing Lab course in place at BSHS since 2005. You guys just have to play catch up!
If you are interested in any of this, you should google Scientific Computing, Computing Sciences or Computer Algebra Systems in general as well as the Mathematica, Maple, MATLAB or S-plus programing environments in specific. Also, you can get tutorials on SAGE at http://www.sagemath.org and work online with SAGE at http://www.sagenb.org where you can create your very own free account in seconds or just use your SAGE liveCD!
BTW, remember FLOSS (Free Linux Open Source Software)? SAGE, Octave and R are FLOSS equivalents to Mathematica, MATLAB and S-plus respectively.
This will be a "Show & Tell" session where I show you how I teach math using technology without ever touching a calculator! In Part I, I'll show you the old fashioned way using a TI-83 Graphing Calculator. If you have a TI-83, please use it to follow along! But that's SO last century... So, in Part II, I'll show you how we do things in my classroom now-a-days using a Computer Algebra System! I'll leave it up to you to pick and choose any techniques you think you may use in your classroom.
PART I: I will record a math lesson on something simple like quadratic equations in Windows using Smart Recorder + Smart Notebook + VTI as a Windows Media File for uploading to my FTP site (30 min).
PART II: Then we'll reboot all the PCs in Linux with the SAGE CD and show how the same lesson can be done with a Computer Algebra System. You can follow along using your own PC! I will record this part of the session with http://screencast-o-matic.com and upload it to youtube (30 min).
PART III: In summation, I'll share my website, blog, youtube channel and zazzle digital art. I will also show everyone how to use http://www.sagenb.org with any Mozilla clone so they won't need a SAGE CD (15 min). PARTY FAVORS: Everyone goes home with my URLs and their very own copy of the SAGE CD!
Tonight's Reading: Building Parallel Programs, Chapter 4
This Week's Research: openMOSIX & openMOSIX distros
Attending: JeremyA, SteveB, DevinB, ArthurD
We burned 30 Fedora 11 64bit and 30 SAGE 4.1.1 liveCDs. Surf on over to http://www.sagemath.org to download your own copy of the SAGE CD. We tested all the CDs and found the SAGE CD very responsive for use in my demonstration at Staff Development Day this Tuesday!
BTW, my Computing Independent Study class is nicknamed CIS(theta) - see avatar below.