0- Course Name
Fundamentals of Computer Programming
Main textbook: A comprehensive introduction to object oriented programming with Java, by Wu, C. Thomas, 2008.
Optional textbook: Java, How to Program, 9th edition,by Deitel & Deitel, 2012.
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:
- What is Computer ? (history, anatomy, …)
- What is Programming and why we need it ?
- How can we explain the basic concepts of programming (what things the computers know???)
- What is Variable?
- Flowchart concepts (base on UML Activity Diagram Notation)
- Flowchart: Input, Output, Repeat (for, while) (with many examples)
- Algorithm (based on UML Scenario Notation)
- Algorithm: Input, Output, For, While (with many examples)
- History of Programming Languages
- Fundamentals of Java Programming Language
- Input and Output in Java
- for and while In Java (with many examples)
- Array: fundamentals and applications (with many examples)
- Strings in Java (with many examples)
- Matrix:fundamentals and applications (with many examples)
- Methods: fundamentals and applications (with many examples)
- Call by value and call by reference
- Basic Concepts of Object Oriented
- Basic Sorting and Searching Methods
- 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.
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 !!!