Posts tagged as:

CCSF

This semester I’m going to have my Ruby and PHP classes build a form driven, AJAX-y web application as the final project. This is a bread-and-butter assignment that performs the basic task of storing form data in a database then displaying it. We’ll deal with the ever present Persistence Problem by using a SQLite3 database to store user input, and the AJAX/Javascript layer will be all JQuery.

I’ve created the PHP proof of concept site at http://www.istoasisto.com, and it looks like this:

A classroom project of this size can be completed in four to six weeks, depending on the programming and web skills a student brings to the class. More is always better.

The PHP course will be starting from scratch (no cakePHP, no Drupal, no Joomla), while my Ruby course will be using Rails. I’ll be doing the project in Seaside. When all is said and done, we will count the lines of PHP, Ruby, and Smalltalk to see who get bragging rights for writing the fewest lines of code.

If you want to work along wtih us, your project should have these features:

  • An HTML form.
  • JQuery form manipulation.
  • AJAX via JQuery.
  • Validated form input.
  • Form data stored in a SQLite database.
  • A Recaptcha form.
  • User data safely displayed (potentially harmful characters sanitized).

There are dozens of features we could hang on this skeleton: pagination, search, social features (Twitter, Facebook, Buzz, etc), as well as polls, voting, thumbs-up/down, email, XML export, RSS feeds, Section 508 compliance, and more. I’ll be satisfied if most of my students can achieve basic functionality before semester burnout sets in.

And about that Seaside course—there isn’t one yet. But it is on my TODO list for future courses at CCSF. For the time being, as part of my own Smalltalk education, I’ll take this opportunity to complete the class project using Seaside. Since Smalltalk and Seaside are new to me, I’ll be starting on the same page as my PHP and Ruby students. This will be fun. I’ll be doing this project with Cincom Visualworks Non-Commercial which is free for non-commercial use on Windows, Linux, and Mac OS X.

OK. I’d better get to work on the Ruby part of this project before the Rails team unleashes another new product release just to confuse me.

Happy hacking…

6 comments

This is a heads-up to anyone looking for an introduction to iPhone development. The CCSF Computer Science department is planning to offer just such a course in Fall 2010.

Despite the ghastly economy (and the mandated 20% cut in course offerings at CCSF), the CCSF CS department wants to add an iPhone course to the Fall schedule. The course will be taught by an instructor who currently works as a professional iPhone developer. The course looks like it’s a go, but there is always a concern that further budget cuts will delay this course—and even eliminate other CS courses.

iPhone development is done in the Objective-C language, so the course will include an Objective-C boot camp. This course looks like a winner.

Oh, there’s one caveat, and it’s a big one. You’re going to need an Intel Mac to do the course work.

For those who live in the Anti-Apple World, the CCSF CS department is also looking at at creating an Android course in 2011.

Keep hacking…

7 comments

I teach PHP, Perl, and Ruby at CCSF, and every semester I hear some wild statements from students. Since most of my students are adults with degrees from prestigious universities, and many of them have achieved some success in fields unrelated to programming, they seem to think that their expertise in project management, or web design entitles them to easy success in an introductory programming course. Here are some of the things I hear.

  1. “My multimedia instructor told me that PHP will be easy to learn since I’m an HTML and CSS maven.”
  2. “I’m a Dreamweaver professional, so I’m sure PHP will be a no-brainer for me.”
  3. “My roommate works at Yahoo. I hear her talking to her friends about programming and I’ve picked up PHP by osmosis.”
  4. “I took a C course 20 years-ago, but I never use it. Anyway, I’m sure I’ll be fine with PHP.”
  5. “PHP is just shell scripting, so I’ll do the assignments using shell.”
  6. “I have a CS degree. I can write a compiler in assembler. I’ve programmed mainframes and I know 20 languages, including ALGOL and LISP. I can learn PHP in my sleep. Just one question, what is this HTML stuff?”
  7. “I’m going to build a website like YouTube or Google. I want to use PHP or Java. Which one should I learn?”
  8. “I don’t know anything about programming, but I’m very smart. And I work very hard. There shouldn’t be any problem. What is HTML  again?”

My favorite way of learning anything new is definitely #3: osmosis. It rocks.

Keep hacking…

3 comments