Teaching has always been central to my academic identity. At Missouri University of Science and Technology, I strive to cultivate a classroom environment that is inclusive, collaborative, and intellectually engaging. My goal is not only to teach core Computer Science concepts but to help students develop the problem-solving mindset, confidence, and curiosity needed to thrive in a rapidly evolving field.
My teaching philosophy is guided by a belief in student-centered learning. I aim to meet students where they are—supporting those who need more guidance while challenging advanced learners through exploratory projects, critical thinking, and peer-driven discussions. I emphasize hands-on learning, blending theory with practice through carefully designed assignments, semester-long projects, and in-class exercises that deepen understanding and promote active engagement.
I also bring a strong commitment to mentoring at all levels. I have had the privilege of advising students ranging from high school interns to PhD researchers. Whether helping a student through their first coding assignment or guiding a doctoral student through paper submissions, my approach emphasizes clear feedback, open dialogue, and long-term growth. I believe that effective mentorship is just as important as strong instruction—and equally rewarding.
Looking ahead, my mission is to empower the next generation of Computer Science professionals. I am committed to helping students not only gain technical mastery but also build the values, creativity, and resilience necessary to become thoughtful contributors to the technological landscape. Through dynamic teaching, engaged advising, and inclusive mentorship, I hope to inspire a lasting impact on my students’ academic and professional journeys.
Courses Taught
CS 2500: Algorithms
This course introduces foundational techniques in algorithm design and analysis. I aim to foster a deep understanding of problem-solving strategies such as divide-and-conquer, greedy methods, dynamic programming, and graph algorithms. Students engage with rigorous theoretical concepts and reinforce them through hands-on problem sets and in-class activities.
Semester taught: Fall 2024, Fall 2025
CS 5001: Information Retrieval
This course offers an in-depth introduction to classical and modern Information Retrieval techniques. I aim to foster an understanding of key IR concepts such as indexing, ranking models (e.g., BM25), evaluation metrics, and the design of retrieval systems. The latter part of the course explores neural IR, semantic search, and applications involving LLMs and RAG. Emphasis is placed on hands-on assignments and mini-projects to ground theory in practice.
Semester taught: Spring 2025
CS 6099: Research Special Topics
This graduate seminar explores emerging topics in Information Retrieval, with a focus on neural ranking models, Large Language Models (LLMs), and Retrieval-Augmented Generation (RAG). In this course, we focus heavily on reading recent literature, hands-on experimentation, and developing original research ideas. Only available to registered PhD students.
Semester taught: Fall 2024, Spring 2025
Teaching Methods and Approaches
I employ a variety of teaching methods to support diverse learning styles and ensure students gain both conceptual clarity and practical skills. These include flipped classrooms, problem-based learning, collaborative group projects, and peer review activities. I believe in a hands-on, applied approach, and regularly incorporate real-world examples, case studies, and open-ended projects to help students connect theoretical concepts with meaningful applications.
Each lecture is designed around a clear conceptual storyline, often beginning with a motivating scenario and concluding with interactive in-class exercises. I also integrate guest lectures from industry and academic experts to offer broader perspectives and bridge classroom learning with current trends in computing.
Student Engagement
Fostering a supportive and inclusive learning environment is central to my teaching philosophy. I actively encourage student engagement through open discussions, collaborative problem-solving, presentations, and group activities. I make it a priority to be accessible—whether through virtual office hours, Slack, or informal check-ins—and I welcome questions both during and outside class.
I aim to create a classroom atmosphere where every student feels valued, heard, and empowered to succeed, and where mistakes are treated as stepping stones toward deeper learning and growth.
Office Hours
I hold office by appointment. Appointments can be scheduled via this booking page.
Contact
Feel free to reach out to me at shubham.chatterjee@mst.edu or during my office hours for any questions or clarifications.