Teaching Statement

Bhaskaran Raman, February 2002

---------------------------------------------------------------------------------------------------------------------------------------------

Teaching Philosophy and Methodology

I have a great passion for teaching and it is a very stimulating experience for me.  I believe that teaching is but a process of mutual learning; and this is especially so in a research environment where we explore the limits of knowledge.  Research exclusive of teaching is likely to be far less fruitful -- this is true of undergraduate teaching as well as graduate teaching.

Teaching requires one to clearly state and explain concepts to the learner.  This acts as a forcing function for the teacher to have these concepts clear in mind.  Teaching requires appropriate abstractions of concepts to enable meaningful learning -- the process of forming such abstractions helps the teacher a great deal in understanding those concepts well.  And these abstractions ultimately help in better understanding of the body of knowledge, and hence facilitate in expanding it through research.

At the undergraduate level, I would like to teach courses with an emphasis on tangible short projects (for introductory courses) and 6-8 week course projects (for senior-level courses).  These would help the students with hands-on experience, with a physical realization of abstract concepts learnt in class.  Also, such projects would foster a healthy model of working in groups and mutual learning.  I have benefited a lot from such projects during my undergraduate years, and would like to follow a similar model in the courses I teach.

In senior level courses and graduate courses, I would seek to enhance the students' perspective by inviting guest lecturers as appropriate.  Further, I would encourage short write-ups and presentations to help the students' develop their communication skills.

At the graduate level, my courses would have a strong research component to them.  In addition to covering the seminal work in the area of research, I would also include material from recent and ongoing research.  Significant design/implementation projects, seeking answers to a research question, would be a part of the course.  In addition, the courses will be based on reading research papers, student seminars, and participatory discussions.

---------------------------------------------------------------------------------------------------------------------------------------------

Teaching Experience

I have always liked to teach.  During the final undergraduate year, I was one of the teaching assistants for the CS110 "Introduction to Computing" course at IIT-Madras -- I had this opportunity on both semesters of that academic year.  My work involved helping students with their programming assignments in the lab.  Along with my class-mate, Vijayshankar Raman, I also designed many of the lab assignments.  We also built an automated system for checking the correctness of students' programs' outputs.  During a few occasions, I also had the opportunity of teaching the students during regular class sessions.

My experience as a teaching assistant continued during my first year at U.C.Berkeley -- again, for both the semesters.  The course was CS61A - an introductory computing class based on the LISP-like "Scheme" language.  Here, apart from helping the students during lab sessions with their programming assignments, my duties involved holding a "discussion session" for the students twice a week.  I prepared appropriate material for the discussion session to strengthen the learning from regular class hours.  These sessions also involved helping students with specific problems they had difficulty in understanding.  Also, twice a semester, along with the other teaching assistants, I conducted review sessions for the students, before their mid-term and end-term exams.  I also worked with the faculty and the other teaching assistants to set appropriate questions for these exams.

---------------------------------------------------------------------------------------------------------------------------------------------

Mentoring Experience

Apart from teaching courses, I have had mentoring opportunities during my graduate career.  While working on the ICEBERG project, I mentored two students.  The first student worked with me for over a year, until he graduated, and was instrumental in developing a Graphical User Interface (GUI) for the preference specification language of the Universal Inbox project (my Master's thesis).  I helped this student understand the research idea, and explained the requirements of a user interface.  The interface itself went through a couple of iterations before it was perfected.  It was a learning process for me understand the appropriate level of my involvement required in the student's understanding and progress.

In the second case, the student was from North Carolina, under the SUPERB program: Summer Undergraduate Program for Engineering Research at Berkeley.  It was a challenge to identify an appropriate project that would: (a) fit the interests and capabilities of the student, (b) would take only a reasonable amount of my time, and (c) would be a significant addition to the research project.  With the help of my research advisor, I chose an appropriate project for her to work on.  My role then was in helping her understand the bigger picture of the project, occasionally helping her with programming.  She implemented a voice-response user interface (not a GUI) for a piece of the Universal Inbox -- a component that read out email to the end-user, via a cellular-phone.  We actually had a real email system, and a real cellular-phone through the ICEBERG GSM testbed.  The project was very successful, and we used it all of our subsequent demonstrations.  This too was a very useful experience for me in learning to select appropriate projects for undergraduates within the scope of the overall research project.

---------------------------------------------------------------------------------------------------------------------------------------------

Courses I'm Interested in Teaching

Given my background, I will be effective in teaching undergraduate courses such as introductory computing/algorithms, senior level networking courses, advanced operating systems/distributed systems courses.  And, graduate level courses such as advanced computer networks, distributed systems/middleware architectures, Internet-scale system design, mobile and wireless networks.  Given the opportunity, I would like to teach a course on the design of Internet-scale middleware architectures.

---------------------------------------------------------------------------------------------------------------------------------------------

Bhaskaran Raman, bhaskar@cs.berkeley.edu