Get ready…it’s almost here.

August 4, 2008

Well, the school year is almost here, which is good.  I’m ready.

And, luckily, it appears that my classroom will also be ready.  After a meeting today with our IT people, it looks like things will be okay for this year’s classes.  Java will flow.  Pythons will frighten Alice.  Students will laugh.  I’ll learn a few things from Kuroneko and Beginnerone and Fonrus….


Two big developments….

July 25, 2008

Read all about it on my other blog.


Two possibilities

July 16, 2008

Lots of stuff happened today at school that will determine how my classes will be for next year.  Right now there appear to be two possibilities:

Option A — I stay in room 509:

Today I found out that room 509 is in a part of SHS that has already been tapped out almost completely, as far as electricity goes.  That means that at most we could add a load of four (yes, only four) computers to that room.  That doesn’t make much sense, so if I am to remain in room 509, all the programming classes I teach would have to have access to one of the school’s computer labs.  There are several problems with this:

1.  Those labs are already being used to capacity and my 4 classes would really tax the system.

2.  The labs are not set up for programming, so Java and Python and all the rest would need to be added.

3.  They run Windows–not the best platform to use for development.

Option B — They move me to room 356:

Room 356 is already wired to support 15 or more computers.  Although there is no internet for them, the power is there, and that’s the main hurdle.  This is a large room that has been used for a variety of classes in the past.  Although it’s already been scheduled for next year, maybe some shifting could be done so I could be in that room.  I would then be able to set up 15 or 16 donated computers to run Ubuntu Linux and get them ready for all the various forms of programming we would want to do.  This is by no means an ideal situation–as setting up all those computers is going to be a lot of work–but once it’s done there should be no need to get help from anyone else during the school year for all the programming classes.

I’m just waiting now on the Principal to decide.  If she chooses 509 I’ll have to make sure all the software gets installed correctly, as I do not have install privledges on those machines.  If she chooses 356 I’ll bring home the 15 or so PCs and start installing Ubuntu onto them, along with all the necessary software (all free, all open source).


Summer is a time to — get ready for next year.

July 8, 2008

Okay, here’s a couple updates.

1.  I’ve decided to bite the bullet and just pay for a decent web host for the new STEM website.  Might as well also put up a good MESA page there and let my students post their page for the Skyline Programming Club.  It would be nice to have access to a decent ammount of space on a district server, but that doesn’t seem possible.  Too much politics and stuff involved.  More and more I’m seeing educational technology as a place where teachers are just going to go out and find off-site hosts and off-site solutions, many of which will be both supported and/or free.

2.  Looks like my programming classes (including the AP Java class) may take place primarily in my classroom.  Right now I’m looking into getting enough wiring put in so that I can have a mini-lab of 10+ computers in my room.  Since these will most likely NOT be networked, I’ll just put Ubuntu Linux on them and they will serve as sleek machines for Java and Python development.  Linux is a great platform for development–let there be no doubt about that.  It will be fun to do a cost analysis of my lab after all is said and done.  Hardware and software for … well, pretty much nothing.

3.  I’ve got to work more on that Java case study….


Bluefish HTML Editor

June 15, 2008

I created a website today.  All from scratch.  Usually the amount of work that I got done would have taken three or four days.  Today, however, I used Bluefish.  The website has vertical navigation, two-column layout, nice footers, etc.

I will often pick on WYSIWYG HTML editors, as I feel they really do more harm than good.  Want someone to create some really godawful HTML code?  Just give them Dreamweaver and let them go to town….

Bluefish, on the other hand, is advertised as being for advanced web developers.  That’s no a great description, really, as Bluefish really is quite easy to use.  You still have complete control over the code, but when you must insert and image or link some of the coding is done for you.

For instance, when I need to enter an image, the code is generated from a GUI interaction.  Then, the code appears on the text editor and you can make sure it’s correct.  This may not sound like much, but its amazing how fast it goes when you don’t worry about typing renaming images or typing in “PicWater_v2_035.jpg”.  Basic text editors offer some support for HTML coding, but Bluefish offers just the right amount and right kind of support.

Bluefish runs on Linux and Macs, so have fun.


Bluej to the rescue!

June 13, 2008

Okay, I’ll admit: I had too much trouble getting that darn AP Computer Science GridWorld Case Study to run.  At first I thought it was a Linux thing, but nope: had the same problems when I tried on Windows XP.

So I checked the Ubuntu forums for help.  That may seem like a strange place to go for help, but the Ubuntu community has the best support system I have ever used.  I try my best to pay them back and actually help a noob once in a while, but it’s tough–there’s so many volunteers on there that are experts at computing, not just Ubuntu.  Anyway, no luck, really.

My next stop was the AP Computer Science discussion list.  Now, a good discussion list should be open to view by outsiders and have a nice big archive that can be searched for help on problems.  Nope.  Step too far out of the open source community and things get secretive.  I had to apply for membership to the group.  Then, after validating my email it told me that I’d have to wait for further approval from a real live human being.  Great.

So I had to think my way though this one.  I opened the jar file and probed the code in it a bit, but there had to be a better way.  [To my credit I did get some other jar files and install them no problem, just to prove to myself that I wasn't nuts.]  I had to think through this one logically.

After looking through some other AP files, I realized that many AP teachers use an IDE like Eclipse with their students.  To their credit, it appears that most of them use it primarily for the case study–for typical programs the students compile and run they seem to use the command line (as do I).

So I figured “what the hell,” and downloaded the Bluej programming environment.  Although it’s not really open source, Bluej’s creator, Michael Koelling is one of the good guys.  He’s avoided releasing the source code for various reasons, but it still stunk when Microsoft tried to steal from him.

Bluej solved the problem.  I imported the GridWorld library and soon I had all kinds of little critters running around on my screen.  I could change their attributes (turning the rocks blue) and their methods (making the bugs disappear).  Overall, it was an object-oriented fun time.


Gridworld case study for AP Computer Science

June 5, 2008

I decided to explore the GridWorld case study yesterday.  The AP Computer Science class uses the Java language and the GWCS is the current case study that students will be tested on.  Basically, it’s a way to show students that all the dry, command line code they do in class is nowhere near what Java can really accomplish (graphics are not covered in the AP Java subset).

Anyway, I haven’t figured out how to get it to work yet, but I will.  Since I use 100% Linux at home, my solution will probably be different from the solution we’ll have to use in class.  It’s good for students to see some of the difficulties involved in packaging and executing code, anyway–you just don’t want to spend two class periods on technical issues.

Students, and anyone interested, can find the GridWorld case study here:

GridWorld

Now to get back to altering the Manifest file to make this jar actually work….


Suggestions for Summer

June 3, 2008

This post is for any of my students that want to do some work and studying over the summer and need some advice on what to study.

In general, any learning you can do over the summer will be helpful to you in the long run.  The only exception I can think of would be learning Visual Basic.  That language teaches bad programming habits that will actually make learning other languages more difficult.

Here are some general suggestions that are not linked to any particular programming language:

1.  Consider reading this book:

http://www.amazon.com/Code-Dv-Undefined-Charles-Petzold/dp/0735611319/ref=pd_bbs_1?ie=UTF8&s=books&qid=1212516723&sr=8-1

The book is Code, by Charles Petzold.  It is an excellent book that will teach you a lot about how computers work.  The books starts by talking about simple electrical circuits and moves on to computers.  You’ll really understand computers if you read this book–especially how they work on the inside.

2.  Have fun.  I’m serious.  Some of you need a break for the summer to recharge your brains.  So if you want to spend some time playing video games, go ahead.  I’ll be playing through GTA IV myself….

3.  Learn Google.  Go to Google and play around in their Labs section for a while, to see what they’re developing there.  Other things to check out: Google Docs, Google Page Creator, and iGoogle.

4. Learn about XHTML and CSS.  If you get those down you can then move on into JavaScript and Php.


Students who will be in the AP Computer Science Class:

This class will feature Java.  You can find out a lot of information on downloading and installing Java at:

http://www.java.com/en/

For thos of you that already know some programming, book mark and explore the Java API:

http://java.sun.com/javase/6/docs/api/

Now, Java is not an easy language to learn on your own.  If you decide to learn Java, please send any questions you have to me, or post them here on this blog.

IMPORTANT: You will not have to know the entire Java API for the AP class.  You are only responsible for a small part of it:

http://www.collegeboard.com/student/testing/ap/compsci_a/java.html

Now–theres a LOT that is NOT included.  Graphics, for instance.  Those of you that already play around with a language probably deal with more than what is included in the subset, so look that over and you can see that we need to learn relatively little–we just have to be very good at using that small amount.

You may want to learn Alice.  Alice is a programming environment that is written in Java and teaches the basics of Object Oriented Programming.  Don’t be put off by the cartoonish look: Alice is used in both High School AP classes and also in College Java classes.  Alice does not have to be installed.  Just get the file, unzip it, and then run the program.  Here it is:

http://www.alice.org/

Also, anything you learn in Python will help you in Java, and Python is much easier to learn.  So studying Python all summer can only help you come Fall.


Birth of a blog….

June 2, 2008

Welcome to Skyline in Code!

This blog will evolve in time, but for now it’s pretty simple.  This is the primary place for me to discuss the upcoming changes in the programming classes, the programming club, and the STEM program at Skyline High School.

My last blog, Cold Front Ramblings, didn’t have such a specific focus, and therefore it tended to wander a bit.  This blog is aimed primarily at my students and anyone else that wants to contribute.  Topics that will be covered include, but are not limited to:

1.  Programming (with Python and Java being our main languages).

2.  The Skyline STEM initiative (including the programming classes).

3.  Making use of free and open source software.

Mostly this will be a place to document news and creations from the programming club.


Getting a Web host.

June 2, 2008

Well, for the last few days Fonrus and I have been working on finding a good host for the STEM and VPA websites.  Although I tend to try to find as much free stuff as possible, it appears we’re going to pay for a good host.  Something running on Linux that is Python-friendly have been two of my own requirements.  Currently we’re looking very closely at:

http://www.westhost.com/

http://www.awardspace.com/