If you are interested in pursuing a graduate degree under my supervision, I require
- You have taken a course on Discrete Mathematics and you are very comfortable with the material:
Propositional Logic, Predicate Logic, Ordered/Unordered Structures, Relations, Functions.
- Preferably, you have taken an advanced course on Discrete Mathematics or Formal Methods:
If you have not taken such course, I will require you to take the
following course with me as a prerequisite (and expect you to perform very well):
Formal Methods for Software
- You have taken at least one programming course, including one on Object-Oriented Programming,
and you are very comfortable with the fundamental concepts: Class, Objects, Message Passing,
Inheritance, Polymorphism, Casting, etc.
- Preferably you have taken a course on the Principles of Programming Languages and you
are familiar with fundamental concepts of functional and logic programming.
- I will require you to take the following course with
me (and expect you to perform very well):
Comparative Study of
- You have taken at least one course on object-oriented architecture/design and
you have strong familiarity with UML, design patterns, architectural patterns,
- In addition to the above, I will require you to take the following
course with me and perform very
well: Software Design Methodologies.
If you wish to contact me, please list all courses (and the grades you have
received) under each of the areas above, e.g. 1.1: ..., 1.2: ..., etc.