Teaching Statement, Exercises of Computer Networks

I primarily teach courses on networks, systems and computing for development. In each class, I strongly emphasize the philosophy of “learning by doing” to ...

Typology: Exercises

2022/2023

Uploaded on 05/11/2023

lakshmirnarman
lakshmirnarman 🇺🇸

5

(5)

221 documents

1 / 2

Toggle sidebar

This page cannot be seen from the preview

Don't miss anything!

bg1
1
Teaching Statement
Lakshminarayanan Subramanian (New York University)
My teaching philosophy is driven by the goal of exciting students and empowering them to develop new solutions to real-
world problems. I primarily teach courses on networks, systems and computing for development. In each class, I strongly
emphasize the philosophy of “learning by doing” to inculcate a practical approach to learning.
Graduate Teaching
I have taught several graduate level courses (MS and PhD) at NYU: (a) Networks and Distributed Systems; (b) Networks and
Mobile Systems; (c) Distributed Systems; (d) Honors Operating Systems (OS); (e) Information and Communication
Technologies for Developing Regions (a course on computing for development); (f) What if a Computer Lies? (a class on
computer security). The Networks and Distributed Systems course was co-designed with Prof. Jinyang Li (when we started
together at NYU in Fall 2006) and we later separated the content across two classes to provide more in-depth coverage:
Networks and Mobile Systems (more networking-focused) and Distributed Systems (more systems-focused). All the
graduate-level classes I have taught at NYU have been research oriented where we discuss research papers in every class.
In addition, every class has a combination of challenging labs and a final research project where I work closely with student
groups on specific research-oriented problems. Since many students (especially MS students) are relatively new to research,
I often provide tangible problems based on my current research efforts and continuously interact with student groups on a
weekly basis. Overall, many course projects have been successful and have developed into long-term research projects. In
fact, through this process I have been lucky to identify some really good Masters students whom I have been able to motivate
to pursue a PhD at NYU or other schools.
In the Networks and Distributed Systems class, we designed four challenging labs on: (a) programmable software routers; (b)
Internet routing data analysis lab; (c) Transmission Control Protocol (TCP) and Domain Name System (DNS) measurements;
(d) Indoor wireless measurements. Each of these labs provided an in-depth understanding of specific aspects of large-scale
network design and how different components of the Internet architecture actually work. In the Networks and Mobile Systems
class, we worked with the Project Hawaii group in Microsoft Research (Redmond); we distributed Windows 7 smart phones
and Azure Cloud services accounts to students and each student developed a cloud-based mobile service as part of the
class. Many projects from both these classes have resulted in research papers by students. The Distributed Systems class
is a highly programming-intensive course where students are expected to build a complete multi-server file system over a
string of nine labs (designed by Jinyang Li based on an MIT class taught by Robert Morris). The Honors OS class is a
research-focused class on advanced topics in operating system design and students are expected to design a large system
as part of their class project; this class is often small and allows me an opportunity to work individually with each student on a
specific research challenge. In the security class, each student performed a detailed research survey of a specific topic within
computer security – this led to nearly 15 detailed surveys across varied security topics. Jinyang Li and I helped to establish a
once a semester departmental showcase that has become a platform for students in different courses to display their course
projects. The showcase currently has over 10 classes participating with roughly 100 different course projects.
Designing the curriculum and teaching for the “Information and Communication Technologies for Developing Regions” was
challenging as well as gratifying. This course was by nature interdisciplinary and focused on how computer systems can play
an important role in addressing pressing problems in developing regions related to healthcare, education, finance, agriculture
and supply chain management. For this course, I had to put together material from different areas: computer science,
economics, public policy, global health and education and students were expected to design “end-to-end solutions” that
addressed a specific real-world challenge often bordering on a different discipline. This course resulted in several interesting
research projects, two of which have been deployed in Africa.
Undergraduate Teaching
I particularly enjoy teaching undergraduate students since one has several highly inquisitive and fresh minds in class which
can be very inspiring; often, I learn new perspectives from the way they approach problems. I have taught one undergraduate
class on Operating Systems (OS), which was a highly gratifying experience. I redesigned the class based on the
pf2

Partial preview of the text

Download Teaching Statement and more Exercises Computer Networks in PDF only on Docsity!

Teaching Statement

Lakshminarayanan Subramanian (New York University)

My teaching philosophy is driven by the goal of exciting students and empowering them to develop new solutions to real- world problems. I primarily teach courses on networks, systems and computing for development. In each class, I strongly emphasize the philosophy of “learning by doing” to inculcate a practical approach to learning.

Graduate Teaching I have taught several graduate level courses (MS and PhD) at NYU: (a) Networks and Distributed Systems; (b) Networks and Mobile Systems; (c) Distributed Systems; (d) Honors Operating Systems (OS); (e) Information and Communication Technologies for Developing Regions (a course on computing for development); (f) What if a Computer Lies? (a class on computer security). The Networks and Distributed Systems course was co-designed with Prof. Jinyang Li (when we started together at NYU in Fall 2006) and we later separated the content across two classes to provide more in-depth coverage: Networks and Mobile Systems (more networking-focused) and Distributed Systems (more systems-focused). All the graduate-level classes I have taught at NYU have been research oriented where we discuss research papers in every class. In addition, every class has a combination of challenging labs and a final research project where I work closely with student groups on specific research-oriented problems. Since many students (especially MS students) are relatively new to research, I often provide tangible problems based on my current research efforts and continuously interact with student groups on a weekly basis. Overall, many course projects have been successful and have developed into long-term research projects. In fact, through this process I have been lucky to identify some really good Masters students whom I have been able to motivate to pursue a PhD at NYU or other schools.

In the Networks and Distributed Systems class, we designed four challenging labs on: (a) programmable software routers; (b) Internet routing data analysis lab; (c) Transmission Control Protocol (TCP) and Domain Name System (DNS) measurements; (d) Indoor wireless measurements. Each of these labs provided an in-depth understanding of specific aspects of large-scale network design and how different components of the Internet architecture actually work. In the Networks and Mobile Systems class, we worked with the Project Hawaii group in Microsoft Research (Redmond); we distributed Windows 7 smart phones and Azure Cloud services accounts to students and each student developed a cloud-based mobile service as part of the class. Many projects from both these classes have resulted in research papers by students. The Distributed Systems class is a highly programming-intensive course where students are expected to build a complete multi-server file system over a string of nine labs (designed by Jinyang Li based on an MIT class taught by Robert Morris). The Honors OS class is a research-focused class on advanced topics in operating system design and students are expected to design a large system as part of their class project; this class is often small and allows me an opportunity to work individually with each student on a specific research challenge. In the security class, each student performed a detailed research survey of a specific topic within computer security – this led to nearly 15 detailed surveys across varied security topics. Jinyang Li and I helped to establish a once a semester departmental showcase that has become a platform for students in different courses to display their course projects. The showcase currently has over 10 classes participating with roughly 100 different course projects.

Designing the curriculum and teaching for the “Information and Communication Technologies for Developing Regions” was challenging as well as gratifying. This course was by nature interdisciplinary and focused on how computer systems can play an important role in addressing pressing problems in developing regions related to healthcare, education, finance, agriculture and supply chain management. For this course, I had to put together material from different areas: computer science, economics, public policy, global health and education and students were expected to design “end-to-end solutions” that addressed a specific real-world challenge often bordering on a different discipline. This course resulted in several interesting research projects, two of which have been deployed in Africa.

Undergraduate Teaching I particularly enjoy teaching undergraduate students since one has several highly inquisitive and fresh minds in class which can be very inspiring; often, I learn new perspectives from the way they approach problems. I have taught one undergraduate class on Operating Systems (OS), which was a highly gratifying experience. I redesigned the class based on the

undergraduate operating systems class structure followed at Stanford and MIT to make students learn kernel-level OS system implementation details. I designed a set of five labs for this class to cover the following topics: (a) Internals of Linux kernel, configuration files and UNIX file system structure; (b) Basics of installing virtual machines, kernels, kernel modules and how to modify, recompile kernel source; (c) processes, threads and scheduling; (d) locks, synchronization and concurrency control; (e) memory management and paging. One challenge in the lab design was that students in the class came from diverse backgrounds (including students who are not majors in CS). In addition, to test for conceptual understanding, I also prepared review assignments for each of the different OS chapters.

Apart from undergraduate operating systems, there is university-wide interest in the “Information and Communication Technologies for Development” course. I plan to teach this course and also make it accessible to undergraduate students and students from other departments. Specifically, I plan to teach this class in NYU Abu Dhabi (NYUAD) in the near future. In fact, I have been working with Prof. Yaw Nyarko (Economics), as part of our joint Center for Technology and Economic Development (CTED) at NYUAD, to conduct specific workshops (in this 2011-2012 academic year) for NYUAD undergraduates on how technology can impact development. We have designed workshops around: (a) mobile devices and market information systems; (b) solar energy; and (c) food security and technology. I spent a month in the January term in 2011 at Abu Dhabi and organized CTED information sessions for NYUAD undergraduates. We had a large turnout for these sessions and several students expressed a desire to work with CTED. Following this, we organized reading sessions on technology and economic development for NYUAD students and we also had 3 NYUAD undergraduates work with CTED in Summer 2011. I am spending 1.5 months during the 2011-2012 academic year at NYUAD and hope to continue my interactions with these students.

At the undergraduate level, I would also like to teach two specific courses: (a) undergraduate networks; (b) “Build it yourself”

  • an undergraduate systems projects course. The networks class should be a core class at the senior level and will cover basics of different networking principles. The “Build it yourself” class will be tailored to students with limited background in computer science to excite them about computing at an early stage.

Mentoring Students Jinyang Li and I joined NYU in 2006 as the first faculty in the area of networking and distributed systems. I now co-lead three different (partially overlapping) research groups at NYU: (a) Networks and Wide-area Systems (NeWS) (jointly with Jinyang Li); (b) CATER Lab – a multidisciplinary research effort focusing on computing for development challenges; (c) The Center for Technology and Economic Development (CTED) (led by Prof. Yaw Nyarko). As a result, I have had the privilege of working with several outstanding PhD students, postdoctoral researchers and MS students. I currently co-advise the following PhD students: Sunandan Chakraborty, Jay Chen, Aditya Dhananjay, Michael Paik, Nektarios Paisios, Ashlesh Sharma, Matt Tierney and Nguyen Tran. Jay Chen, my first PhD student, recently graduated in July 2011 and is now joining as a visiting assistant professor in NYU Abu Dhabi. Esther Ezra, a postdoctoral researcher I co-advised, has joined the Courant Institute at NYU as a visiting faculty member. Many of my students have done internships in top research labs and companies including Google, Microsoft Research, AT&T Research, Nokia Research, Amazon and VMWare. As part of CTED, I work with Yaw Nyarko on development-centric issues and I constantly interact with several NYU economics PhD students on developmental problems. These interactions have been extremely fruitful and are now beginning to result in several cross-collaboration efforts. I have worked closely with several PhD students at UC Berkeley during my early years at NYU, all of whom are having very successful careers: Sergiu Nedevschi, Rabin Patra and Sonesh Surana have all formed successful startups, Matthew Caesar is an assistant professor at UIUC and Jayanth Kannan has joined Google. I have advised many MS students on class projects, some of which have matured into publications. Many of these MS students now work at top technology and financial companies.

In summary, teaching has been my passion and I have thoroughly enjoyed the graduate and undergraduate level classes that I have taught at NYU. Mentoring PhD and MS students has also been a highly rewarding experience and I feel that I have learnt a lot through my interactions with them. As a teacher and mentor, it gives me immense pleasure to observe the successful career paths of several students who have graduated from NYU.