Teaching

Past Semesters Over the years, I taught many mandatory and elective undergraduate and graduate courses:

  • CS 101 Algorithms & Programming I
  • CS 202 Fundamental Structures of Computer Science II
  • CS 280 Combinatorics & Graph Theory
  • CS 317 Object-Oriented Programming
  • CS 319 Object-Oriented Software Engineering
  • CS 473/573 Algorithms I
  • CS 476 Formal Languages and Automata
  • CS 502 Algorithms II
  • CS 570 Graph Theory
  • CS 571 Topics in Graph Theory and Algorithms
Rules

Some Simple Rules to Follow in My Classes

  • Do not cheat! Feel free to collaborate with others as appropriate though.
  • Attend lectures.
  • See exam/hw papers but only within the time specified.
  • Stop by my office to discuss anything but only within the office hrs or otherwise by appointment.
  • Hard-copy (soft-copy) assignments are to be submitted by 5:30pm (midnight) on the day they are due unless stated otherwise.
  • Ask for an extension for an assignment only within 48 hrs after it's assigned, certainly not immediately before the deadline; assignments are normally handed out at least one week before they are due.
  • Behave appropriately in class:
    • Do not talk (or whisper) among yourselves.
    • Do not ask too many and/or irrelevant questions.
    • Raise your hand before starting to talk.
Principles

8 Principles of Good Teaching

  • Encourage contact between students and faculty
  • Develop cooperation among students
  • Encourage active learning
  • Give prompt feedback
  • Emphasize time on task
  • Communicate high expectations
  • Respect diverse talents and ways of thinking
  • Relate theory to reality