[Ruby] PIMP: Ruby UW Certificate Program: new to list and structured learning
Ryan Davis
ryand-ruby at zenspider.com
Tue Jul 24 00:15:13 PDT 2007
On Jul 23, 2007, at 17:01 , Ryan Ward wrote:
> I do have a question as well. I am fairly new to the Seattle area and
> curious if there are any college classes or programs that offer Ruby
> and or Rails classes.
>
> I came across this one, and not sure if anyone knows about these
> classes or if they are any good?
>
> http://www.extension.washington.edu/ext/certificates/rby/rby_crs.asp
You force my hand... For weeks I've been sitting on a todo:
"pimp UW course"
so, pimp I shall... YES, there is a certificate course at the UW
starting this fall. It is 3 quarters long starting at rubynewb, then
rails/web development, then rubyjedi. no, not the real titles. You
are not required to take all three courses. do what feels right. To
take just one:
http://www.extension.washington.edu/ext/certificates/rby/rby_sce.asp
There is space available. apparently, plenty of space... so take make
this a success, if you are interested or suspect someone you know is
interested, PLEASE, help make it happen.
-----
Course syllabus for fall quarter is below:
1. Basics
2. Language Summary
hello world
invoking methods (go see ri)
Basic datatypes: string, range, numbers, regexps, symbols
Control flow structures: if/unless/case/loop/while/until
3. Testing Concepts & Unit Testing
From here on out, the classes and homework will be
driven via tests:
All homework will have impl and tests where the student
needs to write tests for the impl and find any possible
bugs and write impl for the tests to make them pass. By
attacking on both sides, you'll get a better
appreciation for TDD and still have real world examples
of (buggy) code without tests.
4. Language in More Detail
Containers: Arrays, Hashes, Files... Enumerable
More control flow
Iterators & closures (incl syntax for x in y;
break/redo/next/retry)
Exception handling
5. Object-Oriented Programming Concepts
Classes
is-a vs. has-a, instances vs classes
Methods/messages
Modules
include/extend, when to use vs classes
Philosophical: do the simplest thing that could possibly work
6. Playing with Standard Libraries
Libraries (find, time, yaml, marshal)
RubyGems / RAA / rubyforge
tcp chat server
7. Projects Week 1: iTunes Data Mining, Inc.
or self-driven project you'd rather.
8. Projects Week 2: Student Driven
Regular Expressions, CSV, Data Mining
9. Projects Week 3: Extending by playing with Popular Libraries
Hpricot - html/xml parser
Mechanize - web scraper
10. Playing Well with Others
Working with & contributing to the open-source community
More information about the Ruby
mailing list