From: Ryan Davis Date: 2007-07-25T07:20:14+09:00 Subject: [ANN/PIMP] Ruby Certificate Program @ University of Washington This Fall 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