================================================================ 08/15/01 to 10/31/02: The primary activities cited from 08/98 to 08/01, namely the workshops and software, continued this year. In addition, we note two other forms of training: - Industrial Training: One company (Lexia) visited our lab for one week to learn how to develop a speech recognition system for learning applications. Several government labs (MITRE, DoD, Nuance) requested remote help in developing systems for their applications. These interactions often involve week-long consultations where we exchange software via email, and debug failed experiments. These are excellent opportunities for our students to learn how to educate others, and to interact with external researchers. - On-line Documentation: This year we spent a great deal of time developing an on-line tutorial on how to use our system. This was primarily developed by undergraduates under the supervision of staff. Students involved in this learned a great deal about effective technical communication. Most of the students started the project with minimal computing skills, so they also acquired valuable computing skills (e.g., web programming) in the process. ================================================================ 08/15/00 to 08/14/01: - Workshop: Students attending our one-week summer workshop receive 5 half-day lectures on theory and implementation details as described below. Participants in our two-day workshop held annually in January receive a half-day training in which they learn how to run large-scale systems. - Software: Both undergraduates and graduate students learn state-of-the-art skills in large-scale software engineering. For example, they learn to develop software using a configuration management tool, and to prioritize problem solving using a problem-tracking tool. Such real world experience makes them invaluable to leading edge software companies. ================================================================ 08/15/99 to 08/14/00: - Workshop: Students attending our one-week summer workshop receive 5 half-day lectures on theory and implementation details, and then spend afternoons in the lab acquiring hands-on skills. Students are led through some lab exercises by a senior graduate student, and then supervised by lab instructors on more open-ended assignments. They work from individual workstations, and can see the lab instructor's work on a projection system at the front of the class. This format has been very successful for training students on our software. ================================================================ 08/15/98 to 08/14/99: Students working on this project develop skills in four major areas: - core technology: speech recognition In the first year of this project, students have been exposed to all major components of a speech recognition system: search algorithms, acoustic modeling, training, and lexicon development. - software engineering: concurrent software development Our students are trained to use a state-of-the-art concurrent development package (CVS). We make heavier us of this than most, and students quickly learn to grapple with the realities of merging code from several developers. Students are also exposed to a strict procedure for software design and development that includes design reviews, code reviews, diagnostic testing, memory and format checking, multiple platform portability testing, documentation, and release. - programming languages: C++, perl, and Tk/Tcl Since our primary programming language is C++, students are quickly trained to be experts in C++. While we emphasize that code be clean, simple, and easy to read, students nevertheless learn about subtle issues of the language, including memory management and compiler optimization. Students also perform some of their work in perl and Tk/Tcl. Tk/Tcl is particularly useful for developing high performance GUI-oriented applications. Perl is used primarily to massage data into our standard formats. - web programming languages: HTML and Java All students must deliver documentation and presentations in html, and hence quickly become proficient web programmers. A significant portion of our project involves the development of Java applets. Our undergraduates, in particular, get a heavy exposure to Java.