Sunday, November 28, 2010

Let's Do Something Fun This Year: Genetic Algorithms!



I have to admit--the new Computer Science lab has made teaching Computer Science so much easier that I rarely feel the need to complain about things.  Sadly, I also blog a lot LESS than I used to.  And that is unfortunate, because our school is quickly becoming a top-notch Computer Science high school.  The more we end up actually doing, however, the less we seem to document it.  That irony stings a bit.


Heck, even using something as innocent as the Apple Remote Desktop has caused me to rely less on Google and the web in general.  Why upload assignments to our class website when I can just click and drag it onto their desktops?  Also, I can improvise stuff on the fly and share it immediately with my students.

Still, there's something to be said for documenting the great things that we do in education.  So what the heck, might as well share one of those things here.  This year Skyline Computer Science students and members of the Skyline Programming Club are working on two major projects that I am very proud of.

The first is PyKata.  PyKata aims to be an open place for teachers and students to practice writing functions in Python.  Of course we were inspired by JavaBat, and we only hope to make PyKata challenging and fun.  This is a way for Skyline's graduating class of programmers to leave behind something for future programmers at Skyline to use for years to come--not to mention anyone else in the world that uses PyKata.

The second is something that occured to me and a few of my senior programmers: working together on a year-long, school-wide case study.  Since there was a lot of interest in a classic example by Melanie Mitchell, we are going to roll up our sleaves and do some old-school science work.  We are going to attempt to repeat her results--to confirm them.  We are then going to add our own style to her study and take it further.  Whereas Mitchell's study dealt with evolving robots efficient at picking up cans--we'd like to give it the Skyline touch and try evolving other types of bots.  Bots that make beautiful art, for instance.  You will see this project develop mostly during the Spring semester, but to get started, check out the project's main page now.

Thursday, September 9, 2010

Okay, I'll admit....



Programming on a Mac is quite nice.  This year we got a brand new Mac lab (36 iMacs) for our Computer Science classes at Skyline.  Students love them.  They're built for programming.  Their ability for digital media integration is outstanding.  One of my students is currently working on programming the iSight cams to implement facial recognition. 

Best thing yet:  Haven't had to reboot any of these Macs during class.  :-)

Friday, August 20, 2010

The Simple Hello Instructor Assignment

I teach a full schedule of computer science courses, and one section of Geometry that utilizes Geogebra.  The very first assignment I give is exceedingly simple, but tells me more about a student than nearly any other type of icebreaker on the first day: I have them send me an email with a particular subject field (like, for example, "B5 hello"), and have them introduce themselves.

Working at a school progressive enough to use Google Apps Education is a dream come true.  I receive those emails and can do a subject search for the particular subject ("B5 hello").  I see how many students sent an email with that exact subject heading.  Then, I look around for the rest, that usually have slight differences like "B5hello," or "B5 Hello."  I give them credit, but we do discuss how syntax errors occur in text editors when you use "Print()" instead of "print()", for example.

Then I deal with the students that didn't send an email.  Many times there are English Language Learners, and getting a quick handle on their level of English development is pretty important. 

Of course you also quickly find out which students have not had their accounts set up for them yet, and so on....

Friday, July 30, 2010

Mac dev vs. Linux dev

I'm so comfortable on Linux, so adjusting to a Mac has been...well, surprisingly easy overall.

Ran into a snag today, however, when I tried to use gcc to compile a simple C program and there were permission problems.  I'm not EXACTLY sure how I solved it, but basically I had to copy a whole directly and put it elsewhere:

usr/include

had to be copied to

usr/local/include

As nice as Macs are, this reminds me of how a default Ubuntu installation does not contain the necessary C header files.  Not a big problem by any means, but it will be good to document it here for when I have to set up a Mac lab for programming classes.

Thursday, July 29, 2010

GWT

I need to learn more about the Google Web Toolkit.  So I'm studying that now.  Think I'll make a version of Light's Out or something.

Wednesday, July 28, 2010

MacBook Pro Report #2

What a sleek machine this is.

I don't know if my productivity has increased all that much, as I still seem to be in the holy-crap-you-just-connect-it-and-it-works phase with videos and garageband...

Thursday, July 22, 2010

MacBook Pro Report Day One....

Today I got a brand new MacBook Pro that I will be using to teach Computer Science with.  For the last several years I have been exclusively using Linux, as it is my preferred OS.  However, I pushed for and got a new Mac lab approved for this coming year.  Although Linux was my home choice, the labs at school were all running Windows, and not running it very well. 

So after LMAOing for a while using Photo Booth's special effects, I got to work.  This puppy is gonna hafta be a strong programming machine, and what I learn on here will transfer to the new lab.

Earlier today I was visiting two of my students that have a summer internship with a local high tech firm.  One was writing some Python code on a Mac and commented about the default 8 space tabs.  Well, my first priority in setting up my MBPro, then, would be to get Vim configured correctly.

After struggling a little with those pesky End Of Line errors you get whenever going between Macs, Linux and Windows, I got Vim to do all the syntax highlighting and code completion that I have it do on Linux.  I posted my workaround to our programming forums, and called it a day.

Next step: install and configure Eclipse, Scratch, Alice, and so on....