CDS 270 is an ongoing course that is aimed at exploring the applications of control and dynamical systems (CDS) tools to new domains. This page gives some information about how the course is run and our experiences with teaching.
This course was motivated by the opportunity for control in new application areas and also the desire to find ways to disseminate ideas from control into new communities. This is consistent with two of the major recommendations of the Panel on Future Directions in Control, Dynamics, and Systems (see link at bottom of page).
The course is organized around small teams consisting of CDS and non-CDS students who work on projects of mutual interest in some faculty member's research area. The main goals are for the participating CDS and science/engineering faculty to become more familiar with each other's work and expertise, and to get our graduate students from different groups interacting with each another. The initial output of the course is a paper that could be submitted to a conference (either in control or the application domain). In addition, we hope to explore new research directions that can lead to collaborations and projects between CDS faculty members and other groups around the campus.
The course is "taught" by two faculty who share the responsibilities for identifying topics and running the course. There are no formal lectures for the course, so this course is taught on top of the normal teaching load. Students receive six units for the course (of a 48 unit typical load; equivalent to 1 credit for universities with a 16 credit/term load).
Planning for the course begins in the winter term, when the instructors seek out Caltech faculty who are interested in "sponsoring" a project for the course. We typically identify faculty that we have interacted with before and that we feel would be open to increasing that interaction. We ask them to provide an idea for an area that is of interest to them and for which they CDS tools could apply, plus two students from their group to participate in the course. In addition, we ask the CDS faculty to encourage their students to participate, so that we have enough students to form 4-5 person teams in each topic area. We usually shoot for 6-8 topics each year.
The course is given in the spring term, with the one 90 minute class meeting scheduled per week for 9 weeks. The first class is an organizational meeting where each topic is described briefly. Students are asked to submit a form listing their top three choices for a project. The course instructors use this information to form the teams. The domain experts are typically pre-assigned to the topic that their advisor is sponsoring while the CDS students are assigned based on their knowledge of the types of tools that are likely to be required. The second class of the term is used to announce the groups and to get each group together to start talking about their topic and to pick a time for their next meeting. The instructors go around the classroom to make sure that each group is making progress.
There are no formal classes for the rest of the term. At midterms (week 5), each group gives a short (10 minute) presentation of their progress to date. Sometimes this extends across two weeks. Similarly, at the end of the course, each group gives a 15 minute presentation of their results. The final paper from the group is due at the end of finals week.
So far, the class has been very successful. Eight different Caltech faculty participated in the first two years of the course and several joint projects have developed from these initial interactions (see next section). Several faculty have sponsored projects in multiple years, although we try to rotate around to increase the exposure to new research groups. The CDS students have reacted very positively to the course as a mechanism for increasing their breadth of knowledge about control applications.
A key factor in making the class work is identifying faculty who are willing to sponsor a topic. It is best to meet with the faculty member to talk about the course ahead of time and to work with them in formulating the outline of the topic (the students will fill in the details). Also, the sponsoring faculty member should be willing to spend time during the course to meet with the students and provide some guidance. This keeps the students from heading off in a direction which is too ambitious for a 10 week, 3 unit course.
Another important aspect of the course is getting students with a background in control and dynamical systems to participate. At Caltech, the faculty in CDS strongly encourage all of their students to participtate in the class. For PhD students, this means that they will take the class multiple times during their studies. They can either choose related topics, to build up some background in a specific area, or very different topics, to build some insight into multiple areas.
The format of the course has evolved to the current format to provide some driving events for the course. Early in the course, some groups did not meet regularly, so we set up the second class session to get the groups together and force them to choose a time for their next meeting. Similarly, the midterm presentation provides a clock for the groups so that they have some incentive to meet and come up with some ideas before presenting their ideas to the rest of the class. The final presentation gives a starting point for the report that is due at the end of the term.
Software Control Theory. Jason Hickey, a faculty member in CS, has sponsored projects for two years in robust software. The second year, the team working on the project explored the idea of using feedback as an integral element of software systems, motivated by an example of a sorting algorithm that used feedback to provide robustness to machine loading and software bugs. The group developed models for sorting using Markov chains that were predicted the performance of the algorithm and allowed analysis of its dynamics. In late 2002, a proposal was submitted to NSF based on the work done as part of the class project.
Microbial Ecosystems. Dianne Newman, a faculty member in Geobiology, sponsored a project on the dynamics of microbial ecosystems that are important in corrosion of metals. The students developed some preliminary models of a simplified system using MATLAB and explored the dynamics of the system. This project is expected to lead to the establishment of a reading group in microbial ecosystems that includes approximately 8 faculty from CDS, Environmental Science and Engineering, Biology, and Chemical Engineering.
CDS 101. Based on the interest around the campus in applying CDS tools to new application domains, Caltech has started a new course on "Principles of Feedback and Control" that is intended to provide knowledge of the basic principles and tools in control to a broad audience of scientists and engineers. The course is taught in the fall term, so CDS 270 acts as advertising for the course: non-CDS students who want to learn more about some of the tools that they are seeing in their projects can sign up for the course in the following academic year.
Richard M. Murray, Caltech
Last modified:
2-mar-03