How do I sign up? There is no set procedure. Generally a student who is interested in doing an independent study will speak to a faculty member that they know from a class (and that they like 🙂 and discuss the possibility. It is best if you come with a project in mind or if you are interested int he same kind of things that the professor is interested in. The important thing is that it is all in your hands and you have to take the initiative.
Appropriate Projects – An independent study is not just some hacking fest for credit. You need to demonstrate at the end that you actually studied and learned something new and that it is interesting and deserving of credit and that you can present the results. An independent study can be about something I am passionate about (see below) or something that you are passionate about. There is a lot of flexibility.
Proposal – Before the term begins you need to develop a proposal, which would be 1-2 pages max. It should include:
- Objective: In a few sentences indicate the goal or overall objective of the project.
- Readings: This is the “independent study” part. Books, papers, chapters, etc are all appropriate.
- Description: What is the study? What will you actually “do”?
- Deliverables: one ore more demonstration, paper, report, video. All delivery should be collected in a single GitHub repository which normally will be public.
- Schedule with at least two milestones: midterm (week 7) and final (week 13). For each milestone indicate what you expect to have done.
- Discussion: Additional discussion of the project, including, for example, relevant investigation needed ahead of time, papers or literature, tools required, need for funds if any, etc.
Types – There are several course numbers corresponding to independent studies. As of now, CS98a is an undergraduate independent study. CS99a is the first semester of a Senior Honors Thesis. Cosi210a is for graduate students. Depending on your status you will pick a different course.
One or multiple students – Generally independent studies are done by a single student but multiple students are possible when the scope of the project requires it.
Meetings – We will have weekly meetings during the semester. Once you are well on your way we might move to a meeting every other week.
Rapid iterations and demos – It is important to try to get to demonstrable preliminary results as quickly as possible. I have found that this discipline helps keep an independent study on track and allows us to detect early that a pivot is required.
Deliverables – At the end of the term there will be a deliverable of some kind. We will work out the details, but in general I like the deliverables in the form of a GitHub repository. It could include any models, drawings, images, documents, code, and any other artifacts. Associated with the repository is a multi-page report written as showcase of the results of the project, describe the process, describing future work, including help for someone who would like to continue the project. I would like the repo to be public and open source.
Grading – We will agree on assessment criteria at the start of the project. Generally I ask you to propose how you would like to be assessed and use that as a starting point. There will be a midterm grade which will count for 1/4 of the final grade, and then a end-term grade which will count for 3/4 of the grade.
Project Ideas (add your own!)
- Second Generation Pupper: Continue the Pupper project (see Pupper Report) based on the new hardware architecture.
- Automated Robotics Lab: This is a multi-semester, multi-disciplinary project to create an automated, remote robotics lab. There are several major components to this, each of which could form the basis of an independent study.
- The software infrastructure to provide automated provisioning and management of cloud based programming environments
- The user experience through a web interface to control the whole system
- The physical lab management infrastructure of software, robots and other hardware
- The simplified, platform, ROS and language independent programming environment allowing non-ROS and non-programming experts (typically non-roboticist) to conduct research and experiments involving robots.
- Campus Rover Gen 5: Many of the subproblems of Campus Rover need work:
- new hardware architecture
- outdoor navigation
- building-wide indoor navigatio
- advanced behavior scripting; and more.
- MiniRover Gen 2: We have work in progress to create a fully Brandeis created, inexpensive ROS-based robot. The goal is twice the capability at half the price of our current GoPiGo3 based MiniRover. The hardware is almost ready and the software needs to be converted and adapted and made reliable on the new Robot