Welcome (Fri Sep 1, lecture 1)

Note for first day of class: Each day of class has a page on this web site. The first section of that page is always the homework due on that very day. So in other words, the homework listed here is actually 'pre-work' for day one. We will go over this in a little more detail during class.

Homework due for today

Legend: : Participation | : Early | : PDF | : Portfolio | : Zipped

  1. Complete the requirements of the Required Preparation. This specifically applies to students who are using Windows computers. If you are on Linux or Macintosh, then you are all set.

  2. Begin working on the the first programming assignment: (PA) Movies Part 1. You will be using what you’ve learned about programming in your previous courses. Yes, it’s a new language, but really the basic ideas are exactly the same. We are working on problem solving as much as anything. Come ready to discuss the approach you will take in class. If you’ve already done this in Cosi105 then I have something very special for you!


  • Introduce Pito, where I came from, and why I am excitied about this course. Why do I do this? Look at: FAQ for Pito Salas.
  • Why do I think the content of this course is important?. Why might you find it important and useful?
  • What kinds of specific skills will you learn and practice in this course? Could this course change your life?


NB The prime source for this course is this web site itself!

Discuss Pre-work

  • What’s cool about Ruby? What don’t you like?
  • How far did you get in the pre-work?

30 Minute Quick Assignment

Homework Logistics

  • Yes there’s a fair bit of homework. I do my best to make it obvious why the homework is useful in the context of what we are learning.
  • You are responsible for reading the page for the days’s lecture and locating the homeworks.
  • Latte is used just as a way to submit homeworks
Student Quote "Pay close attention to this. It's not complicated if you do. Still, almost everyone got it wrong the first few times."
  • Some homeworks will have explicit deliverables:
    • They are clearly marked as “deliverable” or “team deliverable”
    • They are idenfitied as X.Y where X is the lecture number and Y is the homework for this lecture.
    • NB: Always Always submit them as pdfs!!! (unless its code, in which case as a .zip)
    • NB: Always Always! include your name and the homework number at the top of the page!


  • Projects are at the core of this course!
  • We will form teams of three or four students.
  • Teams will be formed in collaboration between me and the students.
  • Let’s look at what it’s like to Working in teams
  • Each team will be building a product! I will help you find one!

About you

  • Whether you are officially registered or want to be on the wait list
  • Really quickly Fill in About Me. (This page is protected until the day of class) Obviously this is not graded. The purpose is to help us put together good teams. Do it now please

Next Class