Fundamentals of Computer Programming – Syllabus

0- Course Name 

Fundamentals of Computer Programming  

1- textbook

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

chapters: 0,1,2,3,4,5,6,7,9,10,11,12

Java 01

Optional textbook: Java, How to Program, 9th edition,by Deitel & Deitel, 2012. 

Java 02

2- Prerequisites

No previous programming experience. 

3- Course Details

In order to Iranian Ministry of Science:    Fundamentals of Computer Programming – Syllabus (Farsi)

Sample syllabus :  MIT (2011)

but I’ve modified it as following:

  1. What is Computer ? (history, anatomy, …)
  2. What is Programming and why we need it ?
  3. How can we explain the basic concepts of programming (what things the computers know???)
  4. What is Variable?
  5. Flowchart concepts (base on UML Activity Diagram Notation)
  6. Flowchart: Input, Output, Repeat (for, while) (with many examples)
  7. Algorithm (based on UML Scenario Notation)
  8. Algorithm: Input, Output, For, While (with many examples)
  9. History of Programming Languages
  10. Fundamentals of Java Programming Language
  11. Input and Output in Java
  12. for and while In Java (with many examples)
  13. Array: fundamentals and applications (with many examples)
  14. Strings in Java (with many examples)
  15. Matrix:fundamentals and applications (with many examples)
  16. Methods: fundamentals and applications (with many examples)
  17. Call by value and call by reference
  18. Basic Concepts of Object Oriented
  19. Basic Sorting and Searching Methods
  20. Files input and output


4- Grading Policy

  • 15%   Accidental Quizzes
  • 15%   Midterm Projects
  • 30%   Final Projects
  • 40%   Final exam
  • NO late Projects will be accepted without prior arrangement !!!

4-1- Accidental Quizzes

  • 3 to 5 accidental quizzes will be taken during the semester.
  • Each quiz has 1 or 2 questions exactly based on given exercises. 
  • Each quiz has 10 to 15 minutes to answer.

4-2- 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.

5- Software

1- Eclipse IDE for Java developers (or for Java EE Developers)

available at:

2- JDK 8

available at: Oracle, BUT it is banned to Iranians and I believe that it is against to academic thinking !!!