Completed USAF OSD SBIR ``High Performance Object Oriented Software for Parallel Embedded Systems'' to implement VSIPL++ extensions to support a k - beamformer application in a variety of execution models including use of SSE SIMD instructions and multiple processors. Phase 2 proposal submitted. U.S. Air Force / Office of the Secretary of Defense (OSD) Phase 1 SBIR 03-022 contract with value $98.7K. http://www.sbirsttr.net/afsbir/Awards/Awards_profile.asp?ID=O03B036710&Area=Award%20Detail.
Implemented C++ ABI Testsuite testing compiler conformance to the Itanium C++ Application Binary Interface http://www.codesourcery.com/cxx-abi/ used by G++, Intel, and most other C++ compilers. Implemented using Python, C++, and the QMTest testing framework.
Wrote Advanced Linux Programming book. Developed POOMA scientific computation library, extending container abstractions. Specified and developed the QMTest test regression tool. G++ compiler development work, e.g., speeding template instantiation, memoizing dependences, and bug fixes. Wrote run-time C++ library. Optimized financial program, reducing execution time by a factor of ten. For patent law clients, performed software archaeology, checked for patent infringement, and tested operating systems' standards compliance.
Taught courses in introductory programming (two semesters), operating systems, and simulation. With 44 students, designed and implemented sales tax server prototype. With 12 students, developed models and simulated investment accumulation and contraction.
Taught second-level algorithms course (CS 45) emphasizing mathematical analysis, design principles, and an introduction to NP-completeness to upper-level undergraduate students.
The proposed HTTP 1.1 protocol permits persistent connections between servers and clients. To decide when persistent connections can reduce a server or client's load, we designed and experimentally evaluated policies to predict when to terminate persistent HTTP connections. We also developed a theoretical model for this distributed, multiple-player problem. Supervisor: Edith Cohen.
Teaching assistant for intensive, one-week course teaching all aspects of C++ programming (introduction, data abstraction, inheritance, templates, generic programming, and applicators) to computer professionals. Held laboratory sessions, answered questions, and introduced students to the Stanford computer system. Instructors: Andy Koenig (AT&T Labs) and Barbara Moo (AT&T).
Taught upper-level undergraduate and masters level course (CS 143) about the principles and practices of designing programming language compilers. Led sections; wrote and graded exams, programming assignments, and homeworks; created course policies; held office hours; set grades. Lectures were given via videotape from a previous quarter. Course included students working at San Francisco area computer companies and participating via closed-circuit television.
Taught undergraduate senior and masters level course (CS 242) about the basic elements of programming languages and programming paradigms: functional, imperative, and object-oriented. Same instructor responsibilities as for the compilers course described above.
Led section for compiler optimization course (CS 243), appropriate for undergraduate seniors and masters level students. Also graded homework and programming assignments, and held office hours. Course included students working at San Francisco area companies and participating via closed-circuit television. Instructor: Professor Monica Lam.
Corrected a large transportation modeling program. Wrote an interactive, stated preference survey concerning drivers' responses to road-congestion pricing. Facilitated the survey's administration. Purchased and installed software on a Sun UNIX computer. Adviser: John Polak (Imperial College).
Added color graphics to the user interface of the ParaScope Editor, an interactive tool to find and exploit parallelism in sequential Fortran programs. Supervisors: Ken Kennedy and Scott Warren.
Held office hours to answer students' questions in this undergraduate introduction to the mathematics of computer science. Also graded exams and homeworks. Instructor: Professor Mark Krentel.
Taught laboratory sessions for this introductory programming course, teaching the principles of program design, rules of program evaluation, and an introduction to programming language features. Held office hours, graded exams and homeworks. Instructor: Bruce Duba.
Wrote a computer program to extract status information from the nodes of a hypercube computer. Attempted to export the X Windows System to the hypercube computer. Supervisor: Dave Tolle.
Tutored individual students on vector and multivariate calculus. Held office hours and graded exams and homeworks.