I teach this course PRACTICALLY. Students should develop more than 14 practical object oriented programming projects.
Each project will be explained as following steps:
Step 1: Understanding the problem domain of project
In this step a brief description about the given project will be described.
Step 2: Understanding the Public Interface of main classes of project
In this step Public Interface of main classes of project will be discussed. Public Interface is all public methods of a class. Public Interface elements can be divided into 5 categories.
2-1- Constructor Methods
2-2- Setter Methods
2-3- Getter Methods
2-4- Functionalities of class (Methods)
2-5- Standard Library Methods overloading (such as toString, equals,…)
Step 3: Understanding private variables of main class of project
In this step private variables of main classes of project will be described.
Step 4: Implementing main classes
Step 5: Implementing a useful software and test the main classes
In this step, implemented class should be tested. Students should use the main classes in a useful software and show the abilities of main classes and test their functionalities.
Step 6: Documenting the project (if it is needed)
In big projects each classes and main methods should be documented as UML standards.
All these steps will be investigated during the semester. But implementation of the classes and projects assigned to students as Midterm Projects and Final Projects.