Download as xls, pdf, or txt
Download as xls, pdf, or txt
You are on page 1of 20

FPT UNIVERSITY

UNDERGRADUATE PROGRAM
SYLLABUS

(Under Decision No.1040/QĐ-ĐHFPT dated 10/8/2018)

1 Course Name

2 Course Code

3 No of credits

4 Degree Level

Time
5
Allocation

6 Pre-requisite

Main
7
objectives

Learning
8
outcomes

607421988.xls
9 Student's task

Teaching &
10 Learning
Materials

Assessment
11
scheme

12 Scoring scale

13 Schedule
14 Exam structure
Approval
15
Date
Approval
16
Level

607421988.xls
FPT UNIVERSITY
UNDERGRADUATE PROGRAM
SYLLABUS

(Under Decision No.1040/QĐ-ĐHFPT dated 10/8/2018)

Object-Oriented Programming

PRO192

Bachelor

Contact time: 30 slots


Lectures/presentation: 14
Lab/Tutorials: 15
Practical Exam: 1
Home study: 60 slots
1 slot = 90'

PRF192

Upon successful completion of this subject students should be able to


1. (ABET b)
- analyze functional descriptions of small objects, which require the use of such technologies as file access, serialization, exception handling, basic da
structure and algorithms, robust user input and formatted program output;
- design and create the Java code that implements those specifications
- methodically test and debug Java programs
2. (ABET k)
- use text editor to edit, compile and run Java programs
- 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
3. (ABET e)
- analyze small problems, which lend themselves to a programming solution, and design and code Java programs that solve those problems, reusing
written objects and modules when appropriate and designing new objects when appropriate

LO1: Practice basic Java language syntax and semantics to write Java programs and use concepts such as variables,
conditional and iterative execution methods
LO2: Understand the concepts of object oriented (OO) programs to solve problems and fundamentals of object-oriente
programming in Java
LO3: Identify classes, objects, members of a class and relationships among them needed for a specific problem
LO4: Explain the concept and demonstrates the use of Polymorphism, Encapsulation, Abstraction and Inheritance in ja
LO5: Explain the principles and the use of inner class and static members
LO6: Discuss the principles and the use of abstract classes and interfaces in java
LO7: Explain the principles and the use of packages, strings and numbers in java
LO8: Discuss the benefits and the use of JAVA’s Exceptional handling mechanism
LO9: Explain the principles and the use of some (java collections) abstract data types (list, set, map), introduction to ge
and algorithm
LO10: Uses streams to read and write data from/to different types of sources/targets

607421988.xls
- Students must attend more than 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 CMS at http://cms.fpt.edu.vn for up-to-date course information

Main books/resources:
1) Student resources: http://docs.oracle.com/javase/tutorial/
2) FU Presentation Powerpoints
3) FU CMS at http://cms.fpt.edu.vn .
Other references/resources: Java 8 Specification
https://docs.oracle.com/javase/specs/jvms/se8/html/jvms-1.html#jvms-1.1
Tools:
- Internet
- Netbean IDE 8.x

1) Ongoing assessment: 70%:


At least 2 progress tests: 10% (ABET b, e)
10 labs: 10% (ABET k)
01: assignments: 20% (ABET e)
01: practical exam (PE) 30%(ABET k)
2) Final Exam: 30% (ABET b, e)
3) Final result 100%
Completion Criteria:
1) Every on-going assessment component >0
2) Final Exam Score >=4 & Final Result >=5

10

See Appendix 1
See Appendix 2

607421988.xls
ID Outcome SubID
LO1.1

LO1.2
Practice basic Java language syntax and semantics to LO1.3
LO1 write Java programs and use concepts such as variables,
conditional and iterative execution methods LO1.4

LO1.5

LO2.1
Understand the concepts of object oriented (OO) LO2.2
LO2 programs to solve problems and fundamentals of
object-oriented programming in Java LO2.3
LO2.4
LO3.1

LO3.2
Identify classes, objects, members of a class and LO3.3
LO3
relationships among them needed for a specific problem LO3.4

LO3.5

LO4.1

LO4.2

Explain the concept and demonstrates the use of LO4.3


LO4 Polymorphism, Encapsulation, Abstraction and
Inheritance in java
LO4.4

LO4.5

LO5.1
Explain the principles and the use of inner class, generic
LO5 and static members

LO5.2
LO6.1
LO6.2

LO6 Discuss the principles and the use of abstract classes LO6.3
and interfaces in java
LO6.4

LO6.5
LO7.1
LO7.2

Explain the principles and the use of packages, strings


LO7 and numbers in java
LO7.3
Explain the principles and the use of packages, strings
LO7
and numbers in java
LO7.4

LO7.5

LO8.1

LO8.2

Discuss the benefits and the use of JAVA’s Exceptional


LO8 handling mechanism
LO8.3
LO8.4

LO9.1

LO9.2

Explain the principles and the use of some (java LO9.3


LO9 collections) abstract data types (list, set, map),
introduction to generic and algorithm
LO9.4

LO9.5

LO10.1

Uses streams to read and write data from/to different


LO10
types of sources/targets
LO10.2

LO10.3
SubID.Outcome
Describe an overview of java languague and java
development
Explain the use and need of JDK
Demonstrates the compilation and execution of a java
program
Uses concepts of variabes, contridional and iteractive
execution to write a simple java program
Applies java data type, java operators, java arrays, java
syntax to create and run a simple java program
Understand the concept of abstraction in OOP
Understand the concept of encapsulation in OOP
Understand the concept of inheritance in OOP
Understand the concept of polymorphism in OOP
Applies the abstraction in OOP to implement classes

Compares the classes and objects


Applies constructors to implement objects
Applies the implementation of methods and member
variables in a java program
Demonstrates the use of objects to create and run a java
program
Demonstrates the implementation and the role of
inheritance in a java program
Demonstrates the implementation and the role of
encapsulation in a java program
Define/Distinguish the use of access modifiers like public,
private, protected and default
Demonstrates the implementation and the role of
overloading and overriding to create and run a java
program
Applies the use of keyword "this" and "super"

Explain the role of inner class and demostrates the


implementation of inner class

Explain the role of static members and demostrates


the implementation of static member in a java
program
Discuss the concept and role of interfaces in OOP
Demonstrates the implementation and the use of interface
to create and run a java program
Discuss the concept and role of abstract classes
Demonstrates the implementation and the use of the
abstract class to create an run a java program
Compares the abstract classes and interfaces
Explain the concept of java packages
Demonstrates the implementation and the use of a java
package to create and run a java program
Discuss the role and use of java.lang package with some
important classes: object, math to implement a java
program
Demonstrates the need and the use of strings to create
and run a java program
Demonstrates the need and the use of numbers to create
and run a java program
Dicuss the need and use of exception handling in a java
program
Demonstrates the implementation and the use of java
exception handler to create and run a java program

Compares the keyword "throws" and "thown"

Demonstrates the creating your own exception


classes to create and run a java program
Explain the role of java collections framework
Explain the role, demonstrates the creation and the
use of List interface
Explain the role, demonstrates the creation and the
use of Set interface
Explain the role, demonstrates the creation and the
use of Map interface

Discuss the concept of generic and algorithm in java.


Demonstrates the creation and the use of
Comparator, Comparable interface
Explain the role and demonstrates the use of File
class in a java program

Explain and Demonstrates the creation and the use


of system input and output through data streams
Discuss the concept of object stream and
serialization
APPENDIX 1: COURSE SCHEDULE
ITU levels
(I= Introduce, T = Student's task
Slot Content Learning Outcomes Notes
Teach, before class
U = Utilize)
The Java Technology Phenomenon
The "HellotoWorld!"
Introduction Application
the course
A Closer Look at the "Hello World!"
1 Getting Started
Application LO1.1,LO1.2,LO1.3 IT
Common Problems (and Their Solutions) Download Netbean 8.
LO1.4,LO1.5,LO3.1,
LO3.3,LO3.5,LO4,L
2 Lab 1 O6.2,Lo6.4,LO7.2,L
and O7.4,LO7.5,LO8.2,L Lab1 will check
Assignment - introduction O9.2,LO10.2 LO1.4, LO1.5 only T,U Do lab 1 as homework
Learning the Java Language 
3 Object-Oriented Programming Concepts LO2 I,T
Language Basics LO1.5 T,U Read the materials
4 Lab 2 LO1.5 U Do lab 2 as homework
5 Classes and Objects
Classes LO3.1,LO3.2,LO3.3 T,U
6
Objects LO3.2,LO3.4 T,U Read the materials
7 Lab 3 LO3.3,LO3.4,LO3.5 U Do lab 3 as homework
More on Classes LO5.2 IT
8
Nested Classes LO5.1 IT
9 Lab 4 LO3.3,LO3.4,LO3.5 U Do lab 4 as homework
Interfaces and Inheritance 
10 Interfaces LO6 T,U
Inheritance LO4 T,U Read the materials
11 Lab 5 LO4.3,LO4.4,LO6.2,LO6.4 U Do lab 5 as homework
Numbers and Strings
12 Numbers LO7.5 I,T
Characters LO7.4 T,U
Strings LO7.4 T,U
13
Autoboxing and Unboxing LO7.5 I,T Read the materials
14 Lab 6 LO4.3,LO4.4,LO6.2,LO6.4 U Do lab 6 as homework

607421988.xls
15 Exercises LO7.3,LO7.4,LO7.5 U
16 Progress test 1 and Review

17 LO7.1, LO7.2,LO7.3,
PackagesEssential Java ClassesExceptions LO8 T,U Read the materials
18 Lab7 LO7.2,LO7.3, LO8.2, LO8.4 U Do lab 7 as homework

19
LO9.1,LO9.2,LO9.3,
Collections Introduction Interfaces Pre-defined
LO9.4Classes T,U Read the materials

20 Algorithms LO9.5 I,T


Read the materials

21
Generics Why Use Generics? Generic Types
LO9.5Generic Methods IT Read the materials
22 LO9.2,LO9.3,LO9.4,
Lab 8 (Collections/Algorithms/Generics) LO9.5 U

23 Basic I/O(Access directories) LO10.1


T,U Read the materials
24 Basic I/O(Access text files) LO10.2
T,U
25 Practical Exam
26 Practical Exam Evaluation
27 Basic I/O(Access Binary files) LO10.2
T,U

28 Basic I/O(Access Object files) LO10.3


T,U
29 Lab 9, 10 (files) LO10.2,LO10.3
Progress test 2
30
Assigment evaluation
FINAL EXAM

607421988.xls
Student's task after
Teacher's Material
class

Slides and
http://docs.oracle.com/javase/
tutorial/ Exercise, CMS

as homework Submit lab 1


Slides and
http://docs.oracle.com/
javase/tutorial/ Exercise, CMS
as homework Submit lab 2
Slides and
http://docs.oracle.com/
javase/tutorial/ Exercise, CMS
as homework Submit lab 3
Slides and
http://docs.oracle.com/ Exercise, CMS
javase/tutorial/
Slides and
as homework http://docs.oracle.com/ Submit lab 4
javase/tutorial/

Exercise, CMS
as homework Submit lab 5
Exercise, CMS

Slides and
http://docs.oracle.com/
javase/tutorial/
as homework Submit lab 6

607421988.xls
Slides and
http://docs.oracle.com/
javase/tutorial/ Exercise, CMS
as homework Do assignment tasks

Slides and
http://docs.oracle.com/
javase/tutorial/ Exercise, CMS

Slides and
http://docs.oracle.com/
javase/tutorial/ Exercise, CMS

Slides and
http://docs.oracle.com/
javase/tutorial/ Exercise, CMS

Slides and
http://docs.oracle.com/
javase/tutorial/
Review for
practical exam

Submit Lab 9 (text files)

Submit Lab 10
(object files)
and assignment

607421988.xls
ASSESSMENT STRUCTURES
Evaluation Learning Type of Number of Scope of knowledge and
# Weight Duration How?
Category Outcomes questions questions skill of questions

Current module(s) (including


Multiple also given self-study topics)
LO1.1,LO1.2,LO2, 20
choices Each Progess Test covers at
LO3.2,LO4,LO5,L Level 1: 4 in class, by
1 Progress tes 5% 30' Marked by least 01 module and at most
O6,LO7.3,LO7.4,L Level 2: 12 instructor
Computer or a 03 modules, and overall
O7.5 Level 3: 4
suitable format they must cover all learned
modules of the course.

Current module(s) (including


Multiple also given self-study topics)
20
LO7.1,LO7.3,LO8. choices Each Progess Test covers at
Level 1: 4 in class, by
1 Progress tes 5% 30' 1,LO8.3,LO9,LO1 Marked by least 01 module and at most
Level 2: 12 instructor
0 Computer or a 03 modules, and overall
Level 3: 4
suitable format they must cover all learned
modules of the course.

all lectures of the current


in lab Checkout on practical Guided by
2 Lab 10% module (including also given
session Appendix 1 exercises instructor
self-study topics)
team work or
LO1.4,LO1.5,LO3. individual
1,LO3.3,LO3.5,LO need to intergrate studied assignment is
4,LO6.2,Lo6.4,LO a problem knowledge and skills ok, this one is
3 Assignment 20% at home 7.2,LO7.4,LO7.5,L similar to
(including also given self- guided by
O8.2,LO9.2,LO10. real one study topics) instructor,
2 sumission by a
given deadline

607421988.xls
LO1.3,LO1.4,LO1.
5,LO3.1,LO3.3,LO
Preferable to code and run;
Practical 3.4,LO3.5,LO4.1,L 1-5 problem(s) to solve by
4 30% 85' be Marked by by Exam Board
Exam O4.2,LO4.3,LO4.4 problems programming
Scripts and Department
,LO6.2,LO7.3,LO7
.4,LO7.5,LO9.2

Knowledge in all lectures


LO1.1,LO1.2,LO2,
(excluding given self-study
LO3.2,LO4,LO5,L 50
topics)
O6,LO7.3,LO7.4,L Computer Level 1: 5 by Exam Board,
5 Final exam 30% 60' 5-6 question/module) and 15
O7.5,LO7.1,LO7.3 gradable Level 2: 40
walkthroughts;
,LO8.1,LO8.3,LO9 Level 3: 5
>= 70% new questions (for
,LO10
the current semester);

607421988.xls
Noteshedules
Instruction and
for Progress tests must be
presented in the Course
Implementation Plan
approved by director of the
campus.

Progress test must be


taken right after the last
lectures of required
material.
Instruction and shedules
Instructor has resposibility
for Progress tests must be
to review the test for
presented in the Course
students after graded.
Implementation Plan
approved by director of the
campus.

Progress test must be


taken right after the last
lectures of required
material.

Instructor has resposibility


to review the test for
students after graded.
may be continued at home
or can be done in class

The assignment can be


given by instructor

607421988.xls
607421988.xls

You might also like