You are now in the main content area

Teaching

Generally, I am interested in teaching a variety of courses, ranging from theory to application, and from early years to upper-year courses. After many years of teaching and many more years of learning various topics and skills, I have developed the following understanding of teaching.

Every course is designed to help you develop a specific set of skills. Even if you feel the course has lots of definitions or formulae, and you find yourself memorizing them, the goal of the course is to train you to choose the right definition or formula and to use it correctly. 

You may be able to follow what the book does in an example or what I do in class, you may be able to memorize all the steps and recreate that particular solution, but that would not make you an expert on that topic; just as listening to a song repeatedly, on its own, wouldn’t prepare you to perform at a concert, memorizing steps doesn’t make you an expert. Think of exams, interviews, and projects as your “concert”.

Practice is crucial! Do not be afraid to make mistakes while practicing. Each mistake is an opportunity to identify and address a misunderstanding, so celebrate any mistake that you identify.

As your instructor, I will take you through the set of skills, give you challenges where you test those skills, help you identify those mistakes and address the misunderstandings. In doing so, I encourage you to approach learning with curiosity and resilience: 

  • Try various ideas and solutions, and
  • Recognize that each failed attempt is not a failure but an opportunity to identify the boundaries of tools and theories.

Fall 2024 Courses

Course Code Course Name
CPS 305 Data Structures