Syllabus
Everything you need to know before signing up for Capstone

InstructorsPito Salas
Class TimesTuesday and Thursday 3:30PM - 4:50PM, Friday 2:00pm-4:50pm (recitation)
LocationGZang 124
Office HoursGo to this link to reserve an appointment: https://calendly.com/pitosalas/ftf
PrerequisitesCOSI 12b and COSI 21a
HomeworkHomework assignments for every class; Major Software Engineering project; Team assignments. Success in this 6 credit hour course is based on the expectation that students will spend a minimum of 12 hours of study time per week in preparation for class (readings, papers, discussion sections, preparation for exams, etc.).
Grading0-100 based, weighted by type of submissions. No tests.
Email contact: pitosalas@brandeis.edu

Course Description

You’ve programmed, maybe a lot. But have you ever asked yourself how you would actually build a complete product, from soup to nuts? Surely you have had ideas for products: Using your scarce free time to do fun things? Finding out where your friends are hanging out right now? Or perhaps a business selling your own custom made jewelry?

Welcome to Cosi166b! This course aims to show you that you can build such a product from scratch, working on a team from zero to launch in one semester.

Course Themes

We cover a lot of ground in this course, and quite rapidly. Here are the central themes:

  1. Practice working with a team of other software developers. How do you divide up the work, keep momentum going, make sure you finish, deal with conflict? All these skills and others will contribute directly to your possible future as a software engineer.
  2. System architecure and design. Given your vision for a product, how do you divide it up into layers or levels or services, what does the database do, how do you communicate to your mobile phone, how do you handle logins? These and many many more issues have to be confronted and overcome.
  3. Software engineering. This might turn out to be the largest program you’ve written so far. How do you organize the code, deal with source code management, testing and debugging, finding and choosing the right tools and libraries? Real world software engineers deal with and solve these questions every day and so will you!
  4. Ruby and Rails. You will become expert in one of the most popular languages and frameworks for building web based applications. This is one of several and as a software engineer you will know that the sand is constantly shifting, but for today, it’s a good choice. With this experience you will be equipped to learn any other similar framework when and if that becomes necessary in the future!
Pre-requisites or permission

Cosi12b and Cosi21a are required for admission to this course.

Additional information

Attendance and Participation

On time attendce of all classes are required unless you have arranged something ahead of time with me. Class begins exactly on time and failure to attend classes will result in a reduction in the final grade. There will be assignments for each class and every student is expected to come prepared to discuss them in detail. While attendance is not taken every class, there will be multiple random attendance spot checks which will be used to determine your overall attendance.

Experiential Learning

This is an experiential learning course! You will be working in teams and discovering what that’s like, and how to be effective in that kind of setting. It’s something that will definitely come up in your future work, no matter what direction you take: business, academia, non profits, government, or entrepreneurship. You can count on learning from the challenges, obstacles and successes you encounter.

You will also be asked to be very self-reliant, figuring out things on your own, having to use the web to research tools and techniques to use, sorting through the noise and finding the best solutions. Everything will not be served up on a silver platter. You can count on developing your self confidence and perseverence and hopefully come to see the value of this in your future.

Overall you will be asked to think about what you are learning from these experiences, what you could apply in the future, and how this course may influence the way you think about what you want to do next.

Change Policy

The instructor reserves the right to make changes to this syllabus and the associated curriculum web site if he deems it necessary. Any changes will either be announced in class or through e-mail. All students are responsible for finding out about such changes. Each student must be aware that not all assignments are listed in the syllabus. Students must use their common sense and not look for loopholes in the syllabus because, ultimately, the instructor has the final say in all matters. If you are confused on any assignment, ask the instructor for clarification.

By deciding to stay in this course, you are agreeing to all parts of this syllabus. In fairness to everyone, the syllabus must apply equally to all students without exception.

Add-Drop Policy

Every semester begins with what some people called a shopping period, when you can add and drop courses. Students use this to sample different courses and decide which ones they prefer. There are some important things you need to understand:

NB The course begins for real on the first day of class. Your peers and professors expect that you attend and participate in the class even if y ou are not sure yet whether you will take it.

You are responsible for the material and the assignments starting on day one and you will be graded accordingly. Please don’t ask for special treatment because you missed the first class or the first assignments. There are no makeups. Students who miss the first classes and/or assignment will likely have a lot of trouble as the class continues and likely will be less successful in this course.

If you decide that you will not take the course then please drop it immediately. This will allow other students on the waitlist to get in.

Further detail