Queen's University Logo

Thomas R. Dean

In general, I teach 3 classes: Elec377, Soft423 and Elec 875

Elec 377 is the 3rd year Computer Engineering Course in Operating System. The course material stresses the fundamentals including synchronization, scheduling, memory management, deadlock, file systems and device drivers. In the labs, the students write kernel modules for linux in C. While the complexity of the linux kernel prevents us from wholesale changes to the kernel, the students must learn how to traverse common kernel data structures such as the process list and virtual memory tables. They also learn the /proc and /dev interface between user processes and the kernel.

Soft 423 is the 4th year Course in Requirements taken by Software Engineering students in Applied Science and Software Design students in the School of Computing. It deals with the issues of how to determine what software is needed to solve a particlar problem. This involves how to discover the problem domain, how to identify the stakeholders (which are usually more than just the clients), how to elicit, analyze and specify the requirements. The middle of the course stresses how to model the problem domain and the solution system followed by dealing with how software and the requirements for the software change over time. There is no lab component to the course, but students complete assignments to learn how to apply the concepts.

Elec 875 is a graduate course on Software Design Recovery and Automated Evolution. It deals with how to recover deign information about a software system from the code and how automated tools can assist designers and implementers in making changes to the code. The course begins with 5 weeks of lectures to introduce the students to the concepts, and the remaining 7 weeks are spent in a seminar style with students reading and presenting the latest research in the area. The students also handle separate project applying DR concepts to existing software systems.


Undergraduate Teaching

Fall 2001

  • ELEC 377 Operating Systems

2002-2003

  • ELEC 377 Operating Systems
  • SOFT 423 Requirements Analysis

2003-2004

  • ELEC 377 Operating Systems
  • SOFT 423 Requirements Analysis

2004-2005

  • ELEC 377 Operating Systems
  • SOFT 423 Requirements Analysis

2005-2006

  • ELEC 377 Operating Systems
  • SOFT 423 Requirements Analysis

2006-2007

Graduate Teaching

Winter 2002

  • ELEC 875 Design Recovery and Automated Evolution

Fall 2002

  • ELEC 875 Design Recovery and Automated Evolution

Fall 2003

  • ELEC 875 Design Recovery and Automated Evolution

Winter 2005

  • ELEC 875 Design Recovery and Automated Evolution

Winter 2006

  • ELEC 875 Design Recovery and Automated Evolution

Winter 2007

  • ELEC 875 Design Recovery and Automated Evolution
Copyright © Thomas R. Dean, 2008. Contact Information: