Teaching Philosophy

Overview: Teaching and working with students are the two essential aspects of academic life. Students' questions are often the primary source of my new research ideas and possible solutions. Nothing is more fulfilling than explaining complex concepts to my students in a way they can understand to the extent that they can explain them to anyone else. Since 2002, I have been tutoring and teaching kids to college students. Besides, I keenly observed my classroom teachers on their pedagogical methods. The following paragraphs shed more light on my teaching philosophy.   


Passion: My passion for teaching originated during my undergraduate years when I tutored two primary school kids. While educating, I felt forced to think in an entirely different way. It improved my understanding of the material tremendously. Later, I used this to prepare for all India entrance exams, i.e., I pretended to teach the material to a layman. The process made me learn the material more excitingly, timely, and profoundly. At the same time, I realized that I do not understand something well enough if I cannot explain something in simple terms. Another major motivating factor was the scarcity of CS teachers because the industry had more appealing jobs. Moreover, I learned from my parents that teaching is one of the noblest professions and is one of the best instruments to touch lives.  


Style: While teaching a topic, I generally attempt to answer questions about it, why we even study it, and how it works. Some of the steps I follow to engage students include Putting things into context, relating to what students already know, telling a story about the topic, asking questions that eventually lead to a deeper understanding of the topic, solving relevant examples, and encouraging discussions. My interdisciplinary educational, research, and industry experience help me create an atmosphere of learning for students from diverse academic backgrounds and cultures. Another important aspect of my pedagogy is to make students do things by assigning labs/homework. Primarily because I believe in Confucius's wise words, who suggested that "We hear and we forget; we see, and we remember; we do, and we understand." The labs and homework assignments are often challenging because I have observed that students learn ten things while solving one good problem, which is different when solving ten average problems. Last but not least, I keep reminding my students of a quote from Mahatma Gandhi, i.e., "Live as if you were to die tomorrow. Learn as if you were to live forever".  


Content: During course development, I keep Jerome Bruner in mind, who states, "Any idea or problem or body of knowledge can be presented in a form simple enough so that any particular learner can understand it in a recognizable form." Diverse classrooms demand different forms of material and teaching methods. I realized that one of the best ways to reach the maximum number of students is to provide readings and PowerPoint beforehand (helps those who like to read in advance of the lectures), suggest video-based resources (helps visual learners), solve problems in the class, and design collaborative (pair programming or team-based) tasks (helps collaborative learners and ensures engagement), and assign individual labs/homework (helps individual learners). Diverse learning ensures that students with distinct learning abilities are inspired and included. 


Evaluation: My evaluation methods focus on assessing the amount of learning and progress that the students make. Some students are good at individual assignments, some do well while working in a team, and some do poorly in exams. I distribute my grades between weekly individual, pair, and team-based assignments and multiple lightweight exams to be inclusive, fair, and transparent. I design these assignments in such a way that they evaluate different aspects of students learning. For example, suppose I give programming problems as weekly assignments. I make exam questions either theoretical or provide a piece of code and ask students to dry run the code step by step and write the output obtained at every step. Students' feedback suggests that this problem challenged them and made them think differently than they did while working on the homework assignments. Other evaluation strategies that students highly appreciated included open-ended projects as long as students used the materials covered in the class in addition to open notes/book exams. 


Experience: I took every opportunity that came my way to express my passion for knowledge sharing and gain valuable experience to be an effective teacher. In addition to giving tuition to primary school kids to undergraduates, I assisted Prof. Steve Chapin and Prof. Edmund Yu in teaching Data Structures and Social Media Mining, respectively, at Syracuse University. Both of the classes had over 100 students. The main responsibilities included grading and developing homework, labs, and projects, ensuring students understood their assignments correctly, and conducting remedial classes for students at the risk of falling behind. This experience trained me to meet a huge class's demands. 


Besides, I joined the Future Professoriate Program (FPP) offered by the Graduate School of Syracuse University. Under the FPP, I attended several workshops, talks, and sessions that helped me understand the hidden challenges and the ever-changing teaching landscape. Based on my passion, participation, and academic performance, the department chair offered me two undergraduate courses, Introduction to Computing to non-CS students and Intro to Python Programming to CS students. I thoroughly enjoyed designing the course content, delivering the lecture, and improving my weaknesses (e.g., speaking too fast) through valuable feedback from students and the department chair, Prof. Jae Oh. Further, I joined Haverford College to obtain some independent teaching experience. For the past three semesters, I have taught two core courses, Introduction to CS and Introduction to Data Structures, and added two new courses, Introduction to Biometrics and Introduction to Computer Security. All of these classes were lab-based classes. Except for Computer Security, I have developed my material. Finally, at Hofstra, I was assigned to teach Computer Architecture to undergraduates. I enjoyed the challenge. Fortunately, I am teaching the same course in Spring 2022 and hoping to polish my material further and be ready to teach much more effectively in Fall 2022 if given the opportunity. 


Policies: I set clear goals, objectives, and inclusive policies at the beginning of the class and follow them as strictly as possible. In addition, I keep myself accessible through email, during office hours, and over an instant messaging app such as Slack in case of urgency. One of my highest priorities is providing consistent and timely feedback on students' progress. Maintaining the highest standards for academic integrity, ethics, openness, and respect for each other in the classroom is also of utmost importance.


Interests: Having studied a wide range of courses during my undergraduate and postgraduate degrees in computer science and mathematics, I would like to teach core computer science courses, both at the graduate and undergraduate levels, including Advanced Data Structures, Algorithms, Digital Systems and Computer Architecture, Operating Systems, Introduction to Data Science, Machine Learning, and Probability and Statistics. Moreover, I would like to introduce courses centered around my research areas, such as Introduction to Biometrics, Computer and Cybersecurity, Wearable Computing, and Human-Computer-Interaction.


Teaching evaluations, 


Fall 2017 Section1, Fall 2017 Section2, Spring 2018, Fall 2018, Spring 2019, Fall 2019_CS107, Fall 2019_CS105, Spring 2020, Fall 2020_CS107, Fall 2020_CS311

 

Thank you so much for taking the time to read the teaching statement.