[major=SE | course_id=PRO192 | syllabus_id=12038 | semester=2 | combo=core | title=Object-Oriented Programming]
Course ID: PRO192
Title EN: Object-Oriented Programming
Title VI: Lập trình hướng đối tượng
Credits: 3.0
Prerequisites: Pass PRF192
Description: -This subject introduces the student to object-oriented programming. The student learns to build reusable objects, encapsulate data and logic within a class, inherit one class from another and implement polymorphism.
- Compose technical documentation of a Java program using internal comments
- Adhere to object-oriented programming principles including encapsulation, polymorphism and inheritance when writing program code
- Trace the execution of Java program logic to determine what a program does or to validate the correctness of a program
Student tasks: - Students must attend at least 80% of contact slots in order to be accepted to the final examination.
- Student is responsible to do all exercises given by instructor in class or at home and submit on time.
- Use laptop in class only for learning purpose
- Promptly access to the FU FLM at https://flm.fpt.edu.vn/ for up-to-date course information
Tools: Text Book
'NetBean x.x
Internet
Course type: traditional
Decision: 1286/QĐ-ĐHFPT dated 11/22/2024
Approved date: 2024-11-22
CLO1: Understand the concepts of object oriented (OO) programs to solve problems and fundamentals of object-oriented programming in Java
[1] category=Assignment; type=on-going; weight=20.0; duration=Option 1: 28 slots; Option 2 (For Constructivism Approach only): Follow lecturer's proposal; question_type=LO1, LO2, LO3, LO4, LO5, LO6, LO7, LO8, LO9; grading_guide=All subjects in syllabus; completion_criteria=; clos=>0
[2] category=Lab; type=on-going; weight=10.0; duration=Option 1: 90'/each; Option 2 (For Constructivism Approach only): Follow lecturer's proposal; question_type=LO1, LO2, LO3, LO4, LO5, LO6, LO7, LO8, LO9; grading_guide=; completion_criteria=; clos=>0
[3] category=Practical Exam; type=on-going; weight=30.0; duration=85'; question_type=LO1->LO9; grading_guide=; completion_criteria=; clos=>0
[4] category=Progress Test; type=on-going; weight=10.0; duration=Option 1: 30'/each; Option 2 (For Constructivism Approach only): Follow lecturer's proposal; question_type=LO1, LO2, LO3, LO4, LO5, LO6; grading_guide=; completion_criteria=; clos=>0
[5] category=Final Exam; type=Final exam; weight=30.0; duration=60'/each; question_type=LO1->LO9; grading_guide=All subjects in syllabus; completion_criteria=; clos=4
[1] desc=Java 8 Specification
https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-1.html#jvms-1.1; author=; publisher=; edition=; isbn=; main=; online=True; note=
[2] desc=Core Java, Volum 1: Fundamentals; author=Cay Horstmann; publisher=Pearson; edition=11th; isbn=978-0135166307; main=; online=; note=
[3] desc=Core Java, Volum 2: Advanced features; author=Cay Horstmann; publisher=Pearson; edition=11th; isbn=978-0135166314; main=; online=; note=
[4] desc=Object-Oriented Programming using Java (website (offline): Học liệu do FU biên soạn); author=; publisher=; edition=; isbn=; main=True; online=; note=
Session 1: Chapter 1: Introduction
1.1 Welcome to Object-Oriented
Topic: Offline; Teaching type: CLO1; LO: I
ITU: Textbook, slides
Materials: PRO192_1
Download: Textbook, slides

Session 2: 1.2 Object Terminology and Installation JDK - IDE
Topic: Offline; Teaching type: CLO1; LO: 
ITU: Textbook, slides
Materials: PRO192_2
Download: Textbook, slides

Session 3: Chapter 2: Basic Java language
2.1 Basic Java language: Variable, data type
Topic: Offline; Teaching type: CLO2; LO: IT
ITU: Textbook, slides
Download: Textbook, slides

Session 4: 2.1 Basic Java language: Control statements
Topic: Offline; Teaching type: CLO2; LO: IT
ITU: Textbook, slides
Download: Textbook, slides
CLO2: Practice basic Java language syntax and semantics to write Java programs and use concepts such as variables, conditional and iterative execution methods
Session 1: 2.1 Basic Java language: Method - function- Parameter passing
Topic: Offline; Teaching type: CLO2; LO: IT
ITU: Textbook, slides
Download: Textbook, slides

Session 2: 2.1 Basic Java language: Array, ArrayList
Topic: Offline; Teaching type: CLO3; LO: IT
ITU: Textbook, slides
Download: Textbook, slides

Session 3: 2.1 Basic Java language: String, StringBuffer
Topic: Offline; Teaching type: CLO4; LO: IT
ITU: Textbook, slides
Download: Textbook, slides

Session 4: 2.2 Input and Output (Standard I/O)
Topic: Offline; Teaching type: CLO3; LO: IT
ITU: Textbook, slides
Download: Textbook, slides
CLO3: Uses streams to read and write data from/to different types of sources/targets
Session 1: 2.2 Input and Output (Standard I/O) - cont'd
Topic: Offline; Teaching type: CLO4; LO: IT
ITU: Textbook, slides
Download: Textbook, slides

Session 2: Lab 1 assistance
Topic: Offline; Teaching type: CLO2,CLO3; LO: U
ITU: lab's questions
Download: lab's questions

Session 3: Lab 1 assistance
Topic: Offline; Teaching type: CLO2,CLO4; LO: U
ITU: lab's questions
Download: lab's questions

Session 4: 2.4 Dynamic Memory
Topic: Offline; Teaching type: CLO4; LO: I, T
ITU: Textbook, slides
Download: Textbook, slides
CLO4: Discuss the benefits and the use of JAVA’s Exceptional handling mechanism
Session 1: Chapter 3: OOP
3.1 OOP concept
Topic: Offline; Teaching type: CLO5; LO: I, T
ITU: Textbook, slides
Download: Textbook, slides

Session 2: 3.2 Data abstraction - concept and technic
Topic: Offline; Teaching type: CLO5; LO: I, T
ITU: Textbook, slides
Download: Textbook, slides

Session 3: 3.3 Class definition: data and function members
Topic: Offline; Teaching type: CLO5; LO: I, T
ITU: Textbook, slides
Download: Textbook, slides

Session 4: 3.4 Encapsulation
Topic: Offline; Teaching type: CLO5, CLO6; LO: I, T
ITU: Textbook, slides
Download: Textbook, slides
CLO5: Identify classes, objects, members of a class and relationships among them needed for a specific problem
Session 1: Lab 2 assistance
Topic: Offline; Teaching type: CLO5, CLO7; LO: U
ITU: Lab's questions
Download: Lab's questions

Session 2: Lab 2 assistance
Topic: Offline; Teaching type: CLO5, CLO8; LO: U
ITU: Lab's questions
Download: Lab's questions

Session 3: 3.5 Inheritance: Inheritance introduction
Topic: Offline; Teaching type: CLO5,CLO6; LO: I, T
ITU: Textbook, slides
Download: Textbook, slides

Session 4: 3.6 Inheritance: Derived Classes
Topic: Offline; Teaching type: CLO5,CLO7; LO: I, T
ITU: Textbook, slides
Download: Textbook, slides
CLO6: Explain the concept and demonstrates the use of Polymorphism, Encapsulation, Abstraction and Inheritance in java
Session 1: Lab 3 assistance
Topic: Offline; Teaching type: CLO5,CLO8; LO: U
ITU: Textbook, slides
Download: Textbook, slides

Session 2: Lab 3 assistance
Topic: Offline; Teaching type: CLO5,CLO9; LO: U
ITU: Textbook, slides
Download: Textbook, slides

Session 3: 3.7 Polymorphism: Polymorphism concepts
Topic: Offline; Teaching type: CLO7; LO: I, T
ITU: Textbook, slides
Download: Textbook, slides

Session 4: 3.8 Override and overriden methods
Topic: Offline; Teaching type: CLO7; LO: I, T
ITU: Textbook, slides
Download: Textbook, slides
CLO7: Discuss the principles and the use of abstract classes and interfaces in java
Session 1: Lab 4 assistance
Topic: Offline; Teaching type: CLO7; LO: U
ITU: Textbook, slides
Download: Textbook, slides

Session 2: Lab 4 assistance
Topic: Offline; Teaching type: CLO7; LO: U
ITU: Textbook, slides
Download: Textbook, slides

Session 3: Chapter 4: Abstract class - Interface
4.1 Abstract class
Topic: Offline; Teaching type: CLO7; LO: IT
ITU: Textbook, slides
Download: Textbook, slides

Session 4: 4.1 Abstract class - con't
Topic: Offline; Teaching type: CLO7; LO: IT
ITU: Textbook, slides
Download: Textbook, slides
CLO8: Understand and implement a complete program using object array
Session 1: 4.2 Interface
Topic: Offline; Teaching type: CLO7; LO: IT
ITU: Textbook, slides
Download: Textbook, slides

Session 2: 4.2 Interface - cont'd
Topic: Offline; Teaching type: CLO7; LO: IT
ITU: Textbook, slides
Download: Textbook, slides

Session 3: Chapter 5:
5.1 Error & Exception Concepts
Topic: Offline; Teaching type: CLO4; LO: 
ITU: Textbook, slides
Download: Textbook, slides

Session 4: 5.2 Handling Exception
Topic: Offline; Teaching type: CLO4; LO: 
ITU: Textbook, slides
Download: Textbook, slides
CLO9: Explain the principles and the use of some (java collections) abstract data types (list, set, map)
Session 1: Progress test 1+ workshop evaluation
Topic: Offline; Teaching type: CLO1,CLO2,CLO3,CLO4,CLO5,CLO6,CLO7; LO: 
ITU: Textbook, slides,assignment's questions
Download: Textbook, slides,assignment's questions

Session 2: Progress test 1+ workshop evaluation
Topic: Offline; Teaching type: CLO1,CLO2,CLO3,CLO4,CLO5,CLO6,CLO7; LO: I, T
ITU: Textbook, slides,assignment's questions
Download: Textbook, slides,assignment's questions

Session 3: Chapter 6: Array of Objects
6. Basic Operators: add, update, remove, sort, find
Topic: Offline; Teaching type: CLO8; LO: IT
ITU: Textbook, slides, lab's questions
Download: Textbook, slides, lab's questions

Session 4: Array of Objects:
6. Basic Operators: add, update, remove, sort, find - cont'd
Topic: Offline; Teaching type: CLO9; LO: IT
ITU: Textbook, slides, lab's questions
Download: Textbook, slides, lab's questions
Session 1: Array of Objects:
6. Basic Operators: add, update, remove, sort, find - cont'd
Topic: Offline; Teaching type: CLO9; LO: IT
ITU: Textbook, slides, lab's questions
Download: Textbook, slides, lab's questions

Session 2: Array of Objects:
6. Basic Operators: add, update, remove, sort, find - cont'd
Topic: Offline; Teaching type: CLO9; LO: IT
ITU: Textbook, slides, lab's questions
Download: Textbook, slides, lab's questions

Session 3: Chapter 7: Collections in Java:
7.1 Overview
Topic: Offline; Teaching type: CLO9; LO: I, T
ITU: Textbook, slides
Download: Textbook, slides

Session 4: 7.2 List
Topic: Offline; Teaching type: CLO9; LO: I, T
ITU: Textbook, slides
Download: Textbook, slides
Session 1: 7.3 Set
Topic: Offline; Teaching type: CLO9; LO: I, T
ITU: Textbook, slides
Download: Textbook, slides

Session 2: 7.3 Set
Topic: Offline; Teaching type: CLO9; LO: I, T
ITU: Textbook, slides
Download: Textbook, slides

Session 3: 7.4 Map
Topic: Offline; Teaching type: CLO9; LO: I, T
ITU: Textbook, slides
Download: Textbook, slides

Session 4: 7.4 Map
Topic: Offline; Teaching type: CLO9; LO: I, T
ITU: Textbook, slides
Download: Textbook, slides
Session 1: Lab 5 assistance
Topic: Offline; Teaching type: CLO4,CLO5,CLO6,CLO7; LO: U
ITU: Lab's questions
Download: Lab's questions

Session 2: Lab 5 assistance
Topic: Offline; Teaching type: CLO4,CLO5,CLO6,CLO7; LO: U
ITU: Lab's questions
Download: Lab's questions

Session 3: Chapter 8: Input and Output (File I/O)
Topic: Offline; Teaching type: CLO4, CLO5, CLO6, CLO7, CLO8; LO: IT
ITU: Textbook, slides, assignment's questions
Download: Textbook, slides, assignment's questions

Session 4: 8. Input and Output (File I/O) - cont't
Topic: Offline; Teaching type: CLO4, CLO5, CLO6, CLO7, CLO8; LO: IT
ITU: Textbook, slides, assignment's questions
Download: Textbook, slides, assignment's questions
Session 1: 8. Input and Output (File I/O) - cont't
Topic: Offline; Teaching type: CLO4, CLO5, CLO6, CLO7, CLO8; LO: IT
ITU: Textbook, slides, assignment's questions
Download: Textbook, slides, assignment's questions

Session 2: 8. Input and Output (File I/O) - cont't
Topic: Offline; Teaching type: CLO4, CLO5, CLO6, CLO7, CLO8; LO: IT
ITU: Textbook, slides, assignment's questions
Download: Textbook, slides, assignment's questions

Session 3: Lab 6 assistance
Topic: Offline; Teaching type: CLO9; LO: T, U
ITU: lab's questions
Download: lab's questions

Session 4: Lab 6 assistance
Topic: Offline; Teaching type: CLO9; LO: T, U
ITU: lab's questions
Download: lab's questions
Session 1: Progress test 2+ workshop evaluation
Topic: Offline; Teaching type: CLO8, CLO9; LO: U
ITU: Textbook, slides
Download: Textbook, slides

Session 2: Progress test 2+ workshop evaluation
Topic: Offline; Teaching type: CLO8, CLO9; LO: U
ITU: Textbook, slides
Download: Textbook, slides

Session 3: Assignment Evaluation
Topic: Offline; Teaching type: ; LO: I, T
ITU: Textbook, slides
Download: Textbook, slides

Session 4: Assignment Evaluation
Topic: Offline; Teaching type: ; LO: I, T
ITU: Textbook, slides
Download: Textbook, slides
Session 1: Review
Topic: Offline; Teaching type: All LOs; LO: 
ITU: 

Session 2: Review
Topic: Offline; Teaching type: All LOs; LO: 
ITU: 

Session 3: Review
Topic: Offline; Teaching type: All LOs; LO: 
ITU: 

Session 4: Review
Topic: Offline; Teaching type: All LOs; LO: 
ITU: