Advanced Programming (OOP) – Syllabus

 

0- Course Name

Advanced Programming  

(to me: Object Oriented Programming in Java)

1- textbook

Main textbook: A comprehensive introduction to object oriented programming with Java, by Wu, C. Thomas, 2008.

chapters: 4,7,8,13,14,15,16,17,18,19,20

 Java 01

 

2- Prerequisites

Fundamentals of Computer Programming

 

3- Course Details

In order to Iranian Ministry of Science:    Advanced Programming (Farsi)

Sample syllabus :  CMU (2006)

but I have modified it as following:

  1. History of programming paradigms.
  2. History of Object Oriented.
  3. Object Oriented thinking, why Object Oriented is POWERFUL.
  4. Concepts of Class, Object, Attributes of Class, Methods of Class, Message Sending
  5. How can we analyse a complex system/software into classes?
  6. Object Oriented Principles
  7. Constructors and Destructors
  8. Inheritance, in theory
  9. How can we use inheritance in big projects (such as Games, Modeling Tools,…), in practice
  10. Polymorphism, in theory
  11. How can we use polymorphism in big projects
  12. What is: static, final, this,…
  13. GUI in Java, in practice
  14. Recursive Functions
  15. Java nested and inner classes
  16. Java Dynamic Memory Allocation in Java (Linked List, Stack, Queue, Trees)
  17. Collections of Java
  18. Generics in Java
  19. 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 !!!

5- Software

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 !!!