IC102 : Programming Methodolody II (Spring 1997)

IMPORTANT REMARKS ON TUTORIALS

Algorithms lie in the heart of computer science. (Aho, Hopcroft, Ullman, 1974.)


TUTORIAL PROBLEMS

The regular tutorial questions are also called D-problems or Discussion problems. Usually, they will test your understanding of the materials covered in the course, your ability to interprete the results, or to apply the results. The tutorial classes will cover various aspects (the assumptions, different approaches to the solution, efficiency issues, correctness, applications, etc) of these problems.

It is very important that every student must attempt and solve all the D-problems and participates in tutorial discussion. Participation is taken into account in C.A.


ORGANIZATION OF THE TUTORIAL CLASSES

Solution approaches are more important than the solutions themselves. Therefore, during the tutorials we shall cover presentation and discussion of solution approaches (different from just the solution) to the D-problems. Here is how we do it:


IMPORTANT --- WHAT TO PRESENT

Now, since the assigned team is concentrating on just one D-problem, I expect a very thorough treatment of the problem -- not just the final answer. In general, you should look into various aspects of the problem such as assumptions, examples, different approaches to the solution, the key ideas, efficiency issues, ease-of-implementation, applications...

Emphasis is on the solution approach and not on the actual solution itself. The solution approach should be written on transparency before the tutorial. (Each presentation should last about 10 mins.) Tutor can supply transparencies.

If, for any reason, a team encounters difficulties with the assigned problem, they should consult first, their notes and book, then people in their team, then other students, and THEN (if all else fails) their tutors, finally, Dr. Khoo. Do this early!
REMEMBER: An excuse like "WE DON'T KNOW" is not acceptable.


MARKS FOR TUTORIAL PERFORMANCE

The C. A. marks obtained for tutorials will depend on your consistent attendance at tutorials and your performance in (a) the written solution turned in by the group, (b) your individual oral presentation, and (c) your participation in the class discussion.


R-Problems, D-Problems, and A-Problems

In addition to the D-problems, there might also be some additional

R-problems (or Routine problems)
These are easy problems/examples that help you understand the core materials covered in the course (e.g. definitions, data structures, algorithm, etc). These problems are designed solely for your benefit. They will NOT be discussed during tutorials. All students are encouraged to attempt all the R-problems.

Note: Usually, inability to solve these R-problems indicates that you are not keeping up with the course. Use this as an early-warning mechanism -- if you encounter difficulties with R-problems, you must get help as soon as possible.

A-problems (or Advanced problems)
These are more challenging problems meant only for interested students to explore for a deeper understanding and appreciation of the materials. (These usually involve some careful thought, but some may even involve further readings/research into materials not covered in the course.) They will not be discussed during tutorials.

Interested students are encouraged to attempt these A-problems and turn in their reasonable attempts -- successful or otherwise. Dr. Leong will award a cup of coffee (Science canteen ones, not Cafe Latte) for good solution attempts to each A-problem. [Redeemable anytime. Go ahead, make Dr. Leong poor!]


FINAL REMARKS

This system is designed for your benefit. To realise the full benefits of this tutorial system, you should attempt all the R- and D-problems b4 the tutorial, and participate in the class discussion (even if it is to ask a question to clarify your own doubts).


Prepared by H. W. Leong (15 January 1997)