Published using Google Docs
CS 169 Course Website
Updated automatically every 5 minutes

CS 169 Software Engineering - Spring 2012

required books | required software | homework assignments | syllabus | piazza

Why we advise you not to multitask in lecture

We do not control the waitlist.  We cannot cherry-pick people from it nor change the priorities used by the registrar's office to process it.  Therefore we're sorry to say we cannot usefully address any questions about your chances of getting off the waitlist; you must take that up with the registrar.  Thanks for your interest.

 Course Goals:

  Students will:

Course Information, Contact, Materials

Required & Recommended Books

Required:

Recommended:

Courseware

We’ll be testing your code on VirtualBox VM, available for download here. The VM runs Ubuntu and contains working installations of Ruby, Rails, RSpec, etc.

We will be assessing your code using the VM, so we suggest that you develop with it. A version of the VM deployable on Amazon EC2 will also be made available. If you still want to work natively, we will provide a list of everything you need to install.

Courseware-related VM info is already at saasbook.info, and there will soon be info on what to install on your own if you go that route.  Note that the course staff cannot provide support for helping you install stuff on your own.

Homework Assignments

Homework assignments are due at 11:59pm on the due date, which is usually a Friday; check the syllabus to be sure.  Assignments submitted up to 24 hours late are penalized 25%, and submissions up to 48 hours late are penalized 50%.  Assignments received later than 48 hours get zero credit, since we need to post solutions in a timely manner. Some assignments may be completed in pairs if noted.

Homework 1 Due Friday, Jan. 27 at 11:59PM

Homework 2 Due Friday, Feb. 03 Saturday, Feb. 04 at 11:59PM

Homework 3 Due Friday, Feb. 10 Monday, Feb. 13 at 11:59PM

Homework 4 Due Friday, Feb. 17 Thursday, Feb. 23 at 11:59PM

Homework 5 Due Friday, Feb. 24 Thursday, Mar. 15 at 11:59PM

Homework 6 Due Thursday, Mar. 15 at 11:59PM

(note: links will become active when homeworks are posted)

Quizzes

There will be five 30-minute, in-class quizzes. If you cannot attend class on the day of a quiz, please inform the course staff at least 5 days in advance and we will accommodate you.

Solutions to quizzes and homeworks will be distributed in lecture or section.

 Course Project

Students will complete a course project in teams of four or five. Grading will be shared among all members (i.e. the project gets a grade, not each student separate), and we will require specific on each member’s role in the group. The project milestones are described further here.

Demo: May 10th, 8-11 am (the scheduled final exam slot for this class)

Section Materials

1.23.12 (Big Ideas in Software Engineering, Ruby Calisthenics): worksheet

1.30.12 (Quiz 1 Review): worksheet

2.6.12 (SaaS Architecture): slides worksheet

2.13.12 (Rails & BDD): worksheet with solutions

2.27.12 (HW5 excerpt): worksheet

3.12.12 (Teams and Legacy Code): worksheet

4.2.12 (Quiz 5 Review): worksheet solutions slides

Project IP Info

If you are thinking of working on a project that may have future commercial applications (or pitching one that does), please bear in mind the following:

Have a Question?  Here are some really good and really bad ways to get an answer, in order from best to worst:

  1. Search for the answer.  Far too often students ask a question whose answer is available on this very page or on the top of assignment handouts.  And the Internet is a wondrous place: see Online Resources below for some ideas besides the obvious (Wikipedia, Google, ...)
  2. Ask a fellow classmate.
  3. Ask on Piazza.  Your question may already have been asked & answered, but if not, ask it and check back for your answer
  4. Ask a TA in discussion section, lab, or office hours (see above for hours and places)
  5. Ask Armando, Dave, or Koushik during office hours, or during lecture if there’s time
  6. Worst way ever: Email the course staff at cs169-s12-staff@lists.eecs.berkeley.edu (must send from a berkeley.edu address).  Communication by email doesn't scale to 100+ students. This way is the SLOWEST way to get an answer, compared to all the above. 
  7. Well, maybe there's one way that's worse than that:  Email course questions to Armando, Dave, or Koushik personally.  They're not as smart as the rest of the staff (well, Koushik is), and they get too much email as it is.  Of course, emailing for an appointment because you cannot attend regular office hours is fine.

Info for Auditors, Spectators, etc.

Due to limited resources, we will only be able to grade homeworks/exams and allow project participation and coaching for students who are registered for credit for the class.  Students auditing or wishing to sit in on the lectures are welcome to do so, space permitting, but thanks for understanding that we have to devote our resources to those taking it for the full 4 units.

Highly Recommended Resources, both online and in print:

Books highlighted in yellow are available free online, either because they are published under no-fee licenses or because they are available to UCB students via O'Reilly Safari Online (in the latter case you must access it from an on-campus IP address or configure your Web proxy to access it from off-campus.)