CS23 - Software Design and Implementation - Spring 2010
The Sensor-Bot Group Final Project
Latest News & Announcements Useful Material  Teams & Robot IPs
There are no lectures during the last two weeks of the course. During this time you will be working in teams programming Gracia robots.
The project will pull on all the skills you have developed so far but will provide a set of new skills needed to do cross development and embedded systems programming and debugging. This completes the hackers toolkit that you can be proud of. We will do distributed programming using sockets, mutable threads for embedded Linux.
We have added a mote sensor to the bot that allows it to interact with a sensor network built across the CS department. We have also added a camera to the bot. You will write the controller that runs on your laptop and the server side on the rob - all in C and Linux. Once your ready your bot will go on a treasure hunt. The final task is the CS23 remote controlled bot race.
This web page contains resources and news affiliated with the final project. Please refer to this web page for announcements and clarifications as you develop your project.
Project Description
The Project Description page contains a high level overview of various aspects of the project, including introduction, goals, major system component decompositions, API functions, gradings and certain rules. Make sure you check it out and are familiar with all the information.
Project Milestones & Requirements
Kick off day - what you should do today?
1) get your bot;
2) review the material on the project web page;
3) set up a team meeting to discuss the design review, who is doing what, set up SVN, essentially, get organized;
4) check out what you need for your design review (see below).
From the introduction webpage: The project is made up of a small team (three or four people) and requires strong collaboration and a problem solving mindset to get the job done. The instructor will put the teams together with each member being responsible to deliver against a part of the overall system design, implementation, testing and integration. The goals of this activity are to help you develop the confidence, skills, and habits necessary to write large computer programs while part of a multi-person team. You will become conversant in software engineering paradigms, and be exposed to various public-domain and open source tools that make the software development process easier. In addition, you will develop vital skills in self-directed learning, problem solving, and communication. The project will have a design and code review as well as the demo.
A project report that captures the design and implementation will be submitted as part of the assessment. The report should be 10 pages max, including
1) Thread design of client and server
2) Design Specs
3) Implementation Specs
4) GUI screen dump
5) Lesson learned
The project potion of the course grade is large: 30% of the overall grade. We give the same grade for the project to all members of a team unless it is clear that people aren't equally pulling their weight. There has not been a year when we didn't give the same grade to all members of a team.
The following set of deadlines are important for the progress of the project. Please note that you need to provide documentation for the design and code reviews and the final project submission.
4-7 PM Thursday May 20 design review. The project review should include requirements, Design Spec (inputs/outputs, data flow, data structures, pseudo-code) and functional decomposition. We are particularly interested in how the functions map to threads on the client (unix machine/laptop) and server (bot); we will discuss the threaded design in the review. We are also interested in who is doing what. The project review material is due 12PM the day before review Send tarball documentation to realcs23@cs.dartmouth.edu
4-7 PM Thursday May 27 code review. The code review should include the Implementation Spec and whatever code is written up until the review point. The code review material is due 12 PM day before review. Send tarball of your source tree to realcs23@cs.dartmouth.edu
4-6 PM Wednesday June 2 demo or die day. Project presentation (design overview, lessons learnt, etc) and demo of project.
24.00 hours Thursday June 3 project reports due.The report written in latex includes description of the project, the Design Spec, functional decomposition of the system, Implementation Spec, lessons learnt. The appendix includes all code and unit tests. All material should be signed into the teams cvs project page. The PDF of the project report should be sent to realcs23@cs.dartmouth.edu
News and Announcements
Demo or Die Signup
Code Review Signup
Design Review Signup
Useful Material
Project Teams