0- Course Name
(to me: Object Oriented Programming in Java)
Main textbook: A comprehensive introduction to object oriented programming with Java, by Wu, C. Thomas, 2008.
3- Course Details
In order to Iranian Ministry of Science: Advanced Programming (Farsi)
Sample syllabus : CMU (2006)
but I have modified it as following:
- History of programming paradigms.
- History of Object Oriented.
- Object Oriented thinking, why Object Oriented is POWERFUL.
- Concepts of Class, Object, Attributes of Class, Methods of Class, Message Sending
- How can we analyse a complex system/software into classes?
- Object Oriented Principles
- Constructors and Destructors
- Inheritance, in theory
- How can we use inheritance in big projects (such as Games, Modeling Tools,…), in practice
- Polymorphism, in theory
- How can we use polymorphism in big projects
- What is: static, final, this,…
- GUI in Java, in practice
- Recursive Functions
- Java nested and inner classes
- Java Dynamic Memory Allocation in Java (Linked List, Stack, Queue, Trees)
- Collections of Java
- Generics in Java
- Sequential and Concurrent Programming in Java (Threads)
4- Grading Policy
- 50% Midterm Projects
- 30% Final Projects
- 20% Final exam
- NO late Projects will be accepted without prior arrangement !!!
4-1- Midterm and Final Projects
- All projects are individual.
- Students should present their projects personally.
- You may NOT collaborate on any of the individual programming projects. You must write your own code.
- Patterns of cheating are so obvious !!! Be careful !!!
1- Eclipse IDE for Java developers (or for Java EE Developers)
available at: https://www.eclipse.org/downloads/
2- JDK 8
available at: Oracle, BUT it is banned to Iranians and I believe that it is against to academic thinking !!!