OOP Course Content
This repository is for developing Course Content of OOP courses at Department of Computer Science and Engineering, Islamic University of Technology.
About the repository
The repository is a document collection. Each of the topics will have it’s own file. The documents are writen in GitHub Flavored Markdown (GFM) format.
Content format
Each of the topics should start with one or more problems. After one or more not so good solutions may come after the problems. Then there should be a acceptable solution. After the solutions, the topic will be discussed with necessary theories linking to the problems discussed. There should be one or more practice problems after each topics.
How to use the contents teaching
Step 1 - Pondering Problems: The instructors should not usually disclose the topic at the bigining of the class. They will first give one or more problems to the students to think about. There can be group discussions about the problem where the instructors may also participate. This is better to attempt the problems with pen-and-paper instead of writing code in IDE. It is possible that some students will come up with a good solution.
Step 2 - Not so good solutions: The instructors will present one or more bad or not-so-good solutions. They should also take opinion of the students about the solutions. After that the limitations of the solutions should be discussed.
Step 3 - Demonstate a good solution: The instuctors should demonstrate a good solution and discuss why this solution is good.
Step 4 - Discuss the topic: The isntructors should discuss the theories of the topic that has been highlighted in the problem and the good solution.
Step 5 - Practice problems: This is always good to give some practice problems. This can be either given as assignment or can be practiced in supervised labs.
How to contribute
The issues of the repository is meant to be used for discussing any scope of improvement. If there is a scope of improvement that needs discussion, a issue should be opened. However, minor mistakes that do not require discussion should be edited directly.
The repository currently is open for some selected people. This section will require farther elaboration if it is made public.