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 closely observed my classroom teachers' pedagogical methods. The following paragraphs provide further insight into 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 significantly improved my understanding of the material. 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 the material more exciting, timely, and profound for me to learn. 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, as the industry offered more appealing job opportunities. Moreover, I learned from my parents that teaching is one of the noblest professions and a powerful instrument for positively impacting lives.
Style: When teaching a topic, I generally attempt to answer questions about it, including why we study it and how it works. Some 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 have students engage in hands-on activities by assigning labs and 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 times as much while solving one good problem, which is different from what they learn when solving ten average problems. Last but not least, I remind my students of a quote from Mahatma Gandhi: "Live as if you were to die tomorrow. Learn as if you were to live forever."
--Oct 2024, One of the things I have learned that works well is not to focus on the coverage; don't stress too much on covering material in the beginning let students take their time to understand the fundamentals. Once they understand the fundamentals well, they will easily crack the complex ones. Additionally, keeping the same examples consistent throughout the concept explanation helps. Introducing multiple things simultaneously doesn't help, especially in introductory classes. For example, we can use the finding the maximum of 2, 3, and n numbers to explain conditionals and loops. We don't have to use the sum of n numbers to explain the loop. We could use the sum of n numbers example to teach the accumulator concept that students can use in several other scenarios.
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 excel at individual assignments, while others perform well in team settings, and still others struggle with exams. I distribute my grades among weekly individual, pair, and team-based assignments, as well as multiple lightweight exams, to ensure inclusivity, fairness, and transparency. I design these assignments in such a way that they evaluate different aspects of students learning. For example, I give programming problems as weekly assignments. I create exam questions that are either theoretical or provide a piece of code and ask students to dry-run the code step by step, writing down 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 class, in addition to open-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 providing tuition to primary school students through 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 homework, labs, and projects, ensuring students understood their assignments correctly, and conducting remedial classes for students at risk of falling behind. This experience taught me to meet the demands of a large class.
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 for non-CS students and Introduction to Python Programming for 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. Furthermore, I joined Haverford College to gain 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. Ultimately, at Hofstra, I was assigned to teach Computer Architecture to undergraduate students. I enjoyed the challenge. Fortunately, I will be teaching the same course in Spring 2022, hoping to refine my material further and be better prepared to teach more effectively in Fall 2022, if given the opportunity.
Policies: I establish clear goals, objectives, and inclusive policies at the beginning of the class and adhere to them as strictly as possible. Additionally, I maintain accessibility through email, during office hours, and via an instant messaging app like Slack, in case of urgent matters. One of my highest priorities is providing consistent and timely feedback on students' progress. Maintaining the highest standards of academic integrity, ethics, openness, and mutual respect 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 on 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.