Prof
Kian Lee TanProfile page
Professor
Department of Computer Science
TEACHING INTERESTS
I have been teaching for over 35 years (including 5 years as a Teaching Assistant). I have learned, and am still learning, to teach. And I have taught, and am still teaching, to learn. My teaching methodology and philosophy are based on both conventional wisdom and my personal experience as a student and teacher.
I want to be an effective teacher: the kind I would want my children to have one day when they go to university the kind who is passionate about his teaching; the kind who loves and enjoys what he does, and desires to share his knowledge with others; the kind who motivates and inspires students to be life-long learners; the kind who will make his students better people.
I have learned about my strengths and weaknesses from my personal experience, from colleagues feedback (through the peer-teaching reviews), and from students feedback. Over the years, I have adopted a set of principles that works for me, and hopefully will make me the kind of teachers I aspire to be.
Promote Active Learning
In my opinion, students must be active participants in the learning process, rather than passive observers. I promote active learning in the following ways.
Engage the students
I often ask questions during my lectures. Sometimes, they are basic and straightforward these serve to refresh and reinforce what they have learned. More often, the questions come in the form of an exercise where they are expected to spend a few minutes to try it out. For example, when teaching about B+-tree, I will have students tell me what happens when certain data are inserted into or deleted from a given B+-tree. To further stir their enthusiasm, I would also pose questions whose answers cannot be found in the textbook, e.g., How to optimize the B+-tree if newly inserted keys are always increasing? For such questions, I typically do not provide an answer in the same lecture. Instead, I would only discuss them in the next lecture, giving the students ample time to think about them.
It is, however, more challenging to get students to ask questions. I often pause in my lectures for questions. Unfortunately, it is always the same few students who will pose queries (this has to do with Asian culture where students typically do not want to ask questions that may be deemed silly, or answer questions unless they are sure not to make mistakes). While I try to answer these questions, I will occasionally redirect the questions back to the students so that answers can come from themselves.
Nevertheless, by asking the right questions, I believe students will learn the art of questioning. In any case, I encourage students to consult me (through email or face-to-face meetings). Often, the shy ones will email me or come to me for individual consultation. I will also repeat some of these questions in the subsequent lectures so that other students will benefit from them.
Practical Assignment
I always incorporate practical assignment projects in the courses that I teach. Here are some examples of projects:
* On Database Design and SQL. I require the students to come up with an end-to-end solution for a mini-application (e.g., University Course Database) the students must go through the entire process from modeling the application (using ER diagrams) to building the application using a relational DBMS (applying normalization, ER-to-Relational Data conversion) to developing the application in a commercial DBMS (e.g., Oracle) and supporting frequently used queries (using SQL queries determined by them).
* On Database Internals. To make sure students have a system view of database implementation, I have also designed a system-oriented project to extend the capabilities of a mini-DBMS. Here, the skeleton of a DBMS is given to the students, and they are to enhance the parser to accept a wider class of SQL queries, implement different join algorithms and an optimizer.
* Advanced Topics. In teaching Advanced Topics, I provide students the opportunities to explore and discover their interests (related to the course) through a course project. While I will give a list of topics to work on, students are also encouraged to propose any topics that may not be in the list. To cater to different types of students (some are part-time coursework based students, some are undergraduates, and others are research/graduate students), I have organized projects into three categories: (i) Surveys. Here, students read up papers on an area of their choice and write a survey on the area. Students are informed that they are not to regurgitate from the papers; instead, they are to provide a taxonomy of the methods used and/or provide critiques of the papers read and/or highlight potential directions for further work. (ii) Research. For students who want something more challenging, they can take up a research-oriented project. Again, they are to identify a topic, read up the literature, and design novel solutions that overcome the limitations of the papers they read. Of course, they are also free to propose new problems and offer solutions to these problems. (iii) Demo System. For students who are engineers, they can implement a demo system based on some existing works, or identify their own applications.
In all projects, students are to submit a written report (to help them in their written skills, e.g., organization, literary style, etc) and to give an oral presentation (to train them in articulating their thoughts in words) where they will be further quizzed on their understandings. To monitor their progress, students are required to submit a one-page interim report.
Teach Creatively
Cleary, one goal of teaching is to disseminate knowledge. Students must acquire the body of knowledge that we teach them. The challenge is to be able to present the concepts, particularly those that are sophisticated, clearly and to articulate them in a simple way. An effective approach is to reinforce verbal descriptions with some animations. As an example, to present B+-tree construction, I will animate the process as each data is inserted, and how nodes are split. This is easily done using Powerpoint or Java. As another example, in teaching SQL, I will actually demonstrate live the execution of the SQL queries (by connecting to the Schools Oracle account through the desktop in the lecture hall). This has the following benefits: SQL statements constructed by students during the lecture (as part of engaging student) can be tested live if there is a mistake, it can be immediately corrected with explanations on what goes wrong; moreover, the students get to see how the same query can be expressed in different ways (e.g., nested vs non-nested SQL statements).
Put Everyone at the Same Level and Context
To me, reviews are very important. Reviews come in two forms. The first puts all materials in the context. This refers to fundamentals/pre-requisites that students are supposed to know about. Over the years, I have learned that different students have different level of understandings of the fundamentals. In addition, certain concepts may be used differently by different people or in different books. For example, the notion of order in a B-tree may be an odd number or an even number (depending on whose text you are using). In particular, what seems obvious and straightforward to some students (and I) may not be so to students without the proper background. As such, it is always important to provide a quick refresher or overview of basic concepts to put everyone at the same level.
The second type of reviews is to begin a lecture with a summary of what has been covered in the previous lecture. This is done in two ways. First, I would summarize the previous lesson. Second, I would use an exercise (typically a past-year examination question) to get the students to work on it, and then to go through the solution as part of the review.
Assess Students Understanding
In the courses that I teach, students are assessed in several ways.
* Quizzes. Quizzes typically comprise 10 True/False questions that can be completed in 10-15 minutes. I have introduced quizzes for two purposes. First, it forces students to review their lessons. Second, it helps me to identify students who are weak. In particular, for students who have not done well, I will follow-up with each of them to see where the problems lie. Fortunately, my class size is typically 50-80, and the number of such students is small enough to be manageable.
* Take-home assignments. Students are also handed out questions that they worked on for a period of time (typically one/two weeks) before submitting their answers.
* Projects. As already mentioned, I have incorporated projects in my courses to nurture students independent learning, curiosity and interests. For both take-home assignments and projects, students are expected to uphold academic integrity and warned against plagiarism.
* Open book examinations. All my examinations (including quizzes) are open-book. In this way, students are eased from memorization of information which are readily available in real life. I hope this will make students learning more mentally challenging.
Available for Consultation
I am always available for consultation. I believe that adding a personal touch to teaching and that being available for students for individual contact (through office hours, appointments, etc) can enhance the learning experience of students.
As already mentioned, for students who have not done well in any of the continual assessment (quizzes and take-home assignments), I will meet up with them individually to understand the concerns, and give them extra follow-up lessons, if necessary. For students who are unable to sit for the quizzes (typically part-time MComp students), I will separately arrange a separate time slot for them to take supplementary quizzes.
For my PhD students that I supervise, besides interacting with them on their research, I spend lots of time guiding them in their writing skills. Very often, I will walk through their papers with them to explain the (grammatical) mistakes that they have made. I will also discuss how the paper can be better structured. It would have taken me much shorter time to rewrite these papers on my own. However, I find these discussions to be quite fruitful (there are occasions when they convinced me that their organization is superior) and satisfying (all my graduated PhD students can, in my opinion, write well!).
Solicit Students Feedback
At every possible opportunity that I have (before the lecture begins, when they meet me for consultation, when they meet me along the corridor, etc), I constantly request for students feedback. This allows me to adapt the pace of my lecture, and to fine-tune my lectures accordingly.
Summary
I have found teaching to be more gratifying than I had thought. I am more motivated to teach now than I was 20 years ago. I look forward to enjoying my work as I learn to be a better teacher, and being a positive influence to my students in the next 17 years (my contract ends 2030)!
I want to be an effective teacher: the kind I would want my children to have one day when they go to university the kind who is passionate about his teaching; the kind who loves and enjoys what he does, and desires to share his knowledge with others; the kind who motivates and inspires students to be life-long learners; the kind who will make his students better people.
I have learned about my strengths and weaknesses from my personal experience, from colleagues feedback (through the peer-teaching reviews), and from students feedback. Over the years, I have adopted a set of principles that works for me, and hopefully will make me the kind of teachers I aspire to be.
Promote Active Learning
In my opinion, students must be active participants in the learning process, rather than passive observers. I promote active learning in the following ways.
Engage the students
I often ask questions during my lectures. Sometimes, they are basic and straightforward these serve to refresh and reinforce what they have learned. More often, the questions come in the form of an exercise where they are expected to spend a few minutes to try it out. For example, when teaching about B+-tree, I will have students tell me what happens when certain data are inserted into or deleted from a given B+-tree. To further stir their enthusiasm, I would also pose questions whose answers cannot be found in the textbook, e.g., How to optimize the B+-tree if newly inserted keys are always increasing? For such questions, I typically do not provide an answer in the same lecture. Instead, I would only discuss them in the next lecture, giving the students ample time to think about them.
It is, however, more challenging to get students to ask questions. I often pause in my lectures for questions. Unfortunately, it is always the same few students who will pose queries (this has to do with Asian culture where students typically do not want to ask questions that may be deemed silly, or answer questions unless they are sure not to make mistakes). While I try to answer these questions, I will occasionally redirect the questions back to the students so that answers can come from themselves.
Nevertheless, by asking the right questions, I believe students will learn the art of questioning. In any case, I encourage students to consult me (through email or face-to-face meetings). Often, the shy ones will email me or come to me for individual consultation. I will also repeat some of these questions in the subsequent lectures so that other students will benefit from them.
Practical Assignment
I always incorporate practical assignment projects in the courses that I teach. Here are some examples of projects:
* On Database Design and SQL. I require the students to come up with an end-to-end solution for a mini-application (e.g., University Course Database) the students must go through the entire process from modeling the application (using ER diagrams) to building the application using a relational DBMS (applying normalization, ER-to-Relational Data conversion) to developing the application in a commercial DBMS (e.g., Oracle) and supporting frequently used queries (using SQL queries determined by them).
* On Database Internals. To make sure students have a system view of database implementation, I have also designed a system-oriented project to extend the capabilities of a mini-DBMS. Here, the skeleton of a DBMS is given to the students, and they are to enhance the parser to accept a wider class of SQL queries, implement different join algorithms and an optimizer.
* Advanced Topics. In teaching Advanced Topics, I provide students the opportunities to explore and discover their interests (related to the course) through a course project. While I will give a list of topics to work on, students are also encouraged to propose any topics that may not be in the list. To cater to different types of students (some are part-time coursework based students, some are undergraduates, and others are research/graduate students), I have organized projects into three categories: (i) Surveys. Here, students read up papers on an area of their choice and write a survey on the area. Students are informed that they are not to regurgitate from the papers; instead, they are to provide a taxonomy of the methods used and/or provide critiques of the papers read and/or highlight potential directions for further work. (ii) Research. For students who want something more challenging, they can take up a research-oriented project. Again, they are to identify a topic, read up the literature, and design novel solutions that overcome the limitations of the papers they read. Of course, they are also free to propose new problems and offer solutions to these problems. (iii) Demo System. For students who are engineers, they can implement a demo system based on some existing works, or identify their own applications.
In all projects, students are to submit a written report (to help them in their written skills, e.g., organization, literary style, etc) and to give an oral presentation (to train them in articulating their thoughts in words) where they will be further quizzed on their understandings. To monitor their progress, students are required to submit a one-page interim report.
Teach Creatively
Cleary, one goal of teaching is to disseminate knowledge. Students must acquire the body of knowledge that we teach them. The challenge is to be able to present the concepts, particularly those that are sophisticated, clearly and to articulate them in a simple way. An effective approach is to reinforce verbal descriptions with some animations. As an example, to present B+-tree construction, I will animate the process as each data is inserted, and how nodes are split. This is easily done using Powerpoint or Java. As another example, in teaching SQL, I will actually demonstrate live the execution of the SQL queries (by connecting to the Schools Oracle account through the desktop in the lecture hall). This has the following benefits: SQL statements constructed by students during the lecture (as part of engaging student) can be tested live if there is a mistake, it can be immediately corrected with explanations on what goes wrong; moreover, the students get to see how the same query can be expressed in different ways (e.g., nested vs non-nested SQL statements).
Put Everyone at the Same Level and Context
To me, reviews are very important. Reviews come in two forms. The first puts all materials in the context. This refers to fundamentals/pre-requisites that students are supposed to know about. Over the years, I have learned that different students have different level of understandings of the fundamentals. In addition, certain concepts may be used differently by different people or in different books. For example, the notion of order in a B-tree may be an odd number or an even number (depending on whose text you are using). In particular, what seems obvious and straightforward to some students (and I) may not be so to students without the proper background. As such, it is always important to provide a quick refresher or overview of basic concepts to put everyone at the same level.
The second type of reviews is to begin a lecture with a summary of what has been covered in the previous lecture. This is done in two ways. First, I would summarize the previous lesson. Second, I would use an exercise (typically a past-year examination question) to get the students to work on it, and then to go through the solution as part of the review.
Assess Students Understanding
In the courses that I teach, students are assessed in several ways.
* Quizzes. Quizzes typically comprise 10 True/False questions that can be completed in 10-15 minutes. I have introduced quizzes for two purposes. First, it forces students to review their lessons. Second, it helps me to identify students who are weak. In particular, for students who have not done well, I will follow-up with each of them to see where the problems lie. Fortunately, my class size is typically 50-80, and the number of such students is small enough to be manageable.
* Take-home assignments. Students are also handed out questions that they worked on for a period of time (typically one/two weeks) before submitting their answers.
* Projects. As already mentioned, I have incorporated projects in my courses to nurture students independent learning, curiosity and interests. For both take-home assignments and projects, students are expected to uphold academic integrity and warned against plagiarism.
* Open book examinations. All my examinations (including quizzes) are open-book. In this way, students are eased from memorization of information which are readily available in real life. I hope this will make students learning more mentally challenging.
Available for Consultation
I am always available for consultation. I believe that adding a personal touch to teaching and that being available for students for individual contact (through office hours, appointments, etc) can enhance the learning experience of students.
As already mentioned, for students who have not done well in any of the continual assessment (quizzes and take-home assignments), I will meet up with them individually to understand the concerns, and give them extra follow-up lessons, if necessary. For students who are unable to sit for the quizzes (typically part-time MComp students), I will separately arrange a separate time slot for them to take supplementary quizzes.
For my PhD students that I supervise, besides interacting with them on their research, I spend lots of time guiding them in their writing skills. Very often, I will walk through their papers with them to explain the (grammatical) mistakes that they have made. I will also discuss how the paper can be better structured. It would have taken me much shorter time to rewrite these papers on my own. However, I find these discussions to be quite fruitful (there are occasions when they convinced me that their organization is superior) and satisfying (all my graduated PhD students can, in my opinion, write well!).
Solicit Students Feedback
At every possible opportunity that I have (before the lecture begins, when they meet me for consultation, when they meet me along the corridor, etc), I constantly request for students feedback. This allows me to adapt the pace of my lecture, and to fine-tune my lectures accordingly.
Summary
I have found teaching to be more gratifying than I had thought. I am more motivated to teach now than I was 20 years ago. I look forward to enjoying my work as I learn to be a better teacher, and being a positive influence to my students in the next 17 years (my contract ends 2030)!