Date: March 12, 2026
Rajesh Kumar, PhD — Assistant Professor — Bucknell University, PA, USA
My approach to teaching has evolved steadily as I have taught students with varying levels of preparation across multiple institutions and participated in several teaching workshops. Early in my career, I focused on preparing accessible material, explaining concepts clearly, and sharing enthusiasm for the subject. Over time, I realized that understanding does not arise solely from clear explanations. It strengthens when students work independently or collaboratively, make mistakes, receive constructive feedback, and improve gradually. This realization led me to introduce smaller in-class and out-of-class activities that challenge students in positive ways. Across course levels, this approach has helped students remain engaged both in and out of the classroom.
I have also observed that students respond strongly when lectures are closely connected to activities, labs, and projects. In-class coding, visual demonstrations using tools such as Python Tutor, and direct student participation help make abstract concepts concrete. I emphasize solving one challenging problem rather than many routine ones. This encourages productive struggle and helps students explore multiple solution paths.
Over the past several years, I have taught introductory courses (CS1: Introduction to Computing; CS2: Introduction to Data Structures and Algorithms), core requirements (CS3: Computer Systems), and advanced electives (Applied Machine Learning, Biometrics, and Cybersecurity). Developing new courses and revising existing ones has required continuous reflection on structure, pacing, and clarity. Formal reviews and student feedback identified areas needing stronger organization, clearer expectations, and more timely feedback. I addressed these by sharing detailed weekly schedules, aligning lectures with labs and projects, and redesigning courses around smaller, structured, quick-to-grade learning activities.
I now structure each class session around a small number of core ideas supported by demonstrations and guided problem-solving. Assignments are scaffolded through multiple checkpoints so students receive feedback throughout the learning process. These changes have strengthened the connection between lectures, practice, and assessment, and students increasingly recognize how each component supports their learning.
The emergence of generative AI tools such as ChatGPT, Copilot, and Claude has introduced new challenges and opportunities for both teachers and students. I have explored ways to use these tools responsibly in learning environments. In response, I introduced several changes:
(1) increased inquiry-based discussions,
(2) greater use of visuals and whiteboard explanations,
(3) student presentations explaining their reasoning,
(4) increased emphasis on paper-based examinations,
(5) open discussions about the risks of uncritical AI use,
(6) encouraging students to use generative AI as a tutor when asking questions they would otherwise ask the instructor or teaching assistant, and
(7) structured coding environments such as onlinegdb.com where copy–paste and file uploads are disabled during activities and labs.
Disabling copy–paste features in foundational courses such as CS1, CS2, and CS3 reflects my belief that constructing solutions directly supports deeper thinking. Writing code manually strengthens intuition, muscle memory, and conceptual understanding. In contrast, in upper-level courses such as data mining, applied machine learning, and biometrics, I encourage students to use generative AI creatively and responsibly in projects. My goal is to prepare advanced students to engage thoughtfully with emerging technologies. I assign more challenging projects and allow students to choose topics when they demonstrate meaningful connections to course concepts. When students gain ownership of their work, they often exceed expectations.
Typically, I assign three projects, each lasting three weeks: two shared projects and one open-ended project that allows students to pursue their own ideas while meeting course objectives. Evaluation emphasizes understanding, problem formulation, collaboration, and communication in addition to correctness. I also incorporate peer grading of presentations, thereby increasing students’ awareness and responsibility.
Students arrive with diverse academic and personal backgrounds, which shape their engagement with computing. Many ultimately apply computing skills outside traditional computer science careers. To support varied learners, I emphasize accessibility and relevance by incorporating examples connected to social issues such as climate change, food waste, the digital divide, machine bias, and plagiarism detection. These contexts help students see computing as both a technical and a human discipline.
My teaching extends beyond coursework through the Behavioral Biometrics Research and Development Group (BRAG), which I founded at Bucknell. I have mentored more than 20 students through the full research process, from problem identification to experimental design and result communication. All secured summer funding by writing their own proposals and often discovered research interests they had not previously considered.
Research participation allows students to transition from learners to contributors. Many describe the experience as transformative, as they begin to see themselves as capable researchers and problem-solvers. These outcomes reinforce my belief that undergraduate education should cultivate independence and intellectual confidence alongside technical knowledge.
Moving forward, I aim to deepen integration of visual learning, poster presentations, continuous evaluation, and project-based experiences while maintaining clear expectations and timely feedback. My goal is to graduate students who not only understand computing concepts but can apply them thoughtfully, communicate clearly, and continue learning beyond the classroom.
Teaching remains an evolving practice central to my work. Each course and cohort provides an opportunity to improve the learning experience. The most rewarding moments arise when students move from uncertainty to ownership, explain ideas to others, design their own solutions, and recognize themselves as confident computer scientists.
Courses taught:
Introduction to Computer Science via Python; Creative Computing and Society; Introduction to Data Structures with Python and Java; Computer Science Seminar; Introduction to Architecture; Computer Systems; Introduction to Applied Machine Learning; Introduction to Biometrics; Computer Security: Attacks and Defenses.
Courses I can teach:
Operating Systems; Foundations for Data Science; Introduction to Artificial Intelligence; Introduction to Natural Language Processing.
Date: Feb 2021 (from the archives)
Overview: Teaching and working with students are 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 and college students. Besides, I closely observed my classroom teachers' 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 engagingly, more timely, and more profoundly. At the same time, I realized that I need to understand something better if I can explain it in simple terms. Another major motivating factor was the scarcity of CS teachers, as the industry offered 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 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, whereas solving ten average problems yields only one. Last but not least, I keep reminding my students of a quote from Mahatma Gandhi: "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 materials 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 in individual assignments, while others thrive in team settings, and still others struggle 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 so 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 involve code. Students then dry-run the code step by step and write down the output at each 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, provided students used the materials covered in class, as well as open-notes/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 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; and conducting remedial classes for students at risk of falling behind. This experience trained me to meet the demands of a large class.
Additionally, I joined the Future Professoriate Program (FPP) offered by Syracuse University's Graduate School. 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 Intro 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. 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 hope to refine my material further, preparing me to teach more effectively in Fall 2022 if given the opportunity.
Policies: I set clear goals and objectives, and I follow inclusive policies at the beginning of the class and as strictly as possible. In addition, I keep myself accessible via email, during office hours, and through an instant messaging app such as Slack in case of an emergency. One of my highest priorities is providing consistent and timely feedback on students' progress. Maintaining the highest standards of academic integrity, ethics, openness, and respect for one another 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.