0% found this document useful (0 votes)
6 views

42e1_2101558_Distributed Programming with Java_Syllabus

Uploaded by

20102004hinh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
6 views

42e1_2101558_Distributed Programming with Java_Syllabus

Uploaded by

20102004hinh
Copyright
© © All Rights Reserved
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 8

COURSE SPECIFICATION

DISTRIBUTED PROGRAMMING WITH JAVA - 2101558


1. Course name and code: Distributed Programming with Java - 2101558
2. Total no. of credits: 3
Theoretical: 2 Practical: 1 Self-study: 5
3. Instructor’s or course coordinator’s name
MSc. Vo Van Hai
MSc. Nguyen Thi Hoang Khanh
MSc. Pham Thanh Hung
MSc. Tran Thi Anh Thi
MSc. Dang Thi Thu Ha
4. Learning materials
Main textbooks
[1] Schildt, H., & Coward, D, Java: The Complete Reference, 13th ed, McGraw-Hill, 2024. [ISBN 13: 978-
1265058432] [FIT_SE_012]
Other supplemental materials
[1] Richard M Reese, Learning Network Programming with Java, Packt Publishing, 2015. [ISBN 13:
9781785885471] [FIT_SE_012_01]
[2] Bogdan Ciubotaru & Gabriel-Miro Muntean, Advanced Network Programming Principles and
techniques, Springer, 2013. [ISBN 13: 978-1447160366] [FIT_SE_012_03]
[3] Nathan Marz, James Warren., Big Data: Principles and best practices of scalable realtime data systems
1st Edition, Manning Publications, 2015. [ISBN 13: 978-1617290343] [FIT_SE_012_02]
[4] Hibernate, https://hibernate.org/
[5] Java API for JSON Processing, https://www.oracle.com/technical-resources/articles/java/json.html
5. Specific course information
a. Objectives for the course
The course provides students with:
- The knowledge and skills to work with the Java programming language
- In-depth knowledge of object-oriented programming to develop big data applications
- Programming techniques for mapping object model to relational data model (ORM)
- Programming techniques for mapping object model to big data model (OGM)
- The knowledge of multithreaded programming, network programming and distributed programming.
b. Brief description of the content of the course
Provide students with advanced knowledge about object-oriented programming (Thread, Network
programming, RMI, JPA, JSON ...), implementing big data applications. At the same time, improve
students' programming knowledge and skills with the Java object-oriented programming language.
c. Prerequisites or co-requisitesuisites
Prerequisites: Event-Driven Programming in Java – 2101556
Co-requisites: none
d. Other requirements
- Demonstrate a serious and active learning attitude in seeking knowledge.
- Be honest in studying and taking tests.
- Be united and help friends and junior students in their studies.
6. Specific goals for the course
a. Course learning outcomes
Upon successful completion of this course, students should be able to:
No. Course Learning Outcomes (CLOs) ELOs Bloom level
1 Implement an application using Java programming language c - PI2 3
that connects to big data.
2 Write clear report documents according to regulations d - PI1 2
(correct structure, complete content, citations, references)
3 Using efficient resources to solve problems in distributed b - PI2 2
applications
4 Present knowledge about new technologies in distributed b - PI1 2
programming in the Java environment
5 Select a solution for distributed application with specific c - PI1 3
technology
6 Apply distributed programming techniques in the Java c - PI2 3
environment
b. Mapping the course learning outcomes and the expected learning outcomes
ELOs
a b c d e f
CLOs
1 R
2 R
3 R
4 R
5 R
6 R
c. Mapping CLOs, teaching and learning approach
Teaching and learning approach

CLOs Explicit Case


Discussion Practice Project-based learning (PBL)
Teaching Studies
1 X X X
2 X X
3 X X
4 X X X X
5 X X X X
6 X X X

d. Mapping CLOs and assessment methods


Assessment methods
CLOs
Regular tests Midterm test Final test Group project
1 X X X
2 X
3 X
4 X X
5 X X
6 X X X
7. Contents and plan
Teaching and Self-
learning methods study
Lesson Learning Hours
What
content
No. Learning Contents Outcomes Lecture / CLOs What and
[LLO] Practice students
lecture instruct
do
does
ions

Chapter 1: LLO1. Understand Explicit Take [1]


Multithreaded the purpose of teaching notes; Schildt,
Programming
multithreading ; Raises Discussi H., &
1.1Overview of
multithreading LLO2. Describe some on; Ask Coward,
1.2 Thread Concepts Java's situation or D, Java:
al answer The
1.3 Creating Tasks and multithreading
Threads mechanism question the Complet
1.4 Callables and Futures s; Give question e
LLO3. Outline
1.5 Thread class and synchronized students s; Do Referen
1 6/3 2, 3
thread methods instructi exercise ce, 13th
access to shared
1.6 Thread Pools on to do s; ed,
resources
1.7 Thread the Practice McGra
Synchronization exercise s; Create w-Hill,
1.8 Concurrency Utilities s; the lab 2024.
1.9 Deadlocks Observe report Chapter:
1.10 Thread và GUI and Multithr
guide eaded
students
to program
practice. ming

Chapter 2: Parallel LLO4. Explain Explicit Take Schildt,


Programming concurrency issues teaching notes; H., &
2.1 Introduction caused by ; Give Discussi Coward,
2.2 Task parallelism multithreading students on; Ask D, Java:
2.3 Functional LL05. Implement instructi or The
parallelism on to do answer Complet
task parallelism
2.4 Loop parallelism the the e
2.5 Pipeline exercise question Referen
Parallelism s; s; Do ce, 13th
2 3/3 2, 3
Observe exercise ed,
and s; McGra
guide Practice w-Hill,
students s; Create 2024,
to the lab Chapter:
practice. report The
Concurr
ency
Utilities

Chapter 3: JSON LLO5. Perform to Explicit Take


Processing process (parse, teaching notes;
3.1 Overview generate,
; Raises Discussi
transform, and
3.2 JSON Syntax some on; Ask
query) JSON text
3.3 JSON Data Types situation or
3.4 Java API for JSON al answer [5]
Processing question relevant Java
3.5 Jackson API s; Give question API for
students s; Do JSON
instructi exercise Processi
3 2/3 1
on to do s; ng,
the Practice https://w
exercise s; Create ww.orac
s; the lab le.com/t
Observe report echnical
and -
guide resource
students s/article
to s/java/js
practice on.html
Chapter 4: Big Data LLO6. Explain the Explicit Take
4.1 Introduction to Big role of Big Data in teaching notes; [3]
Data modern business ; Raises Ask or Nathan
4.2 Introduction to
LLO7. Describe some answer
NoSQL Marz,
the primary situation relevant
4.3 Modeling Big Data James
characteristics of al question Warren.
4.4 NoSQL Query question s; Do
Language Big Data Big
s; Give exercise
4.5 Big Data Tools and LLO8. Summarize Data:
Techniques students s;
the four major Principl
4.6 Developing Big Data approaches of the instructi Practice es and
Applications on to do s; Create
NoSQL data best
4.7 CRUD Operations model and how the the lab practice
exercise report
theydiffer from the s of
s;
relational model scalable
Observe
4 LLO9. Describe 6/6 1 realtime
and
the characteristics data
guide
of NoSQL systems
students
databases 1st
to Edition,
LLO10. practice 2015
Understand how
to work with
document
databases using
the specific Big
Data system
LLO11. Develop
Java application
using the specific
Big Data

Chapter 5: Jakarta LLO12. Explain Explicit Take


Persistence API the purpose of teaching notes;
5.1.Introduction to JPA ; Raises Ask or
Jakarta Persistence API [4]
LLO13. Explain some answer
5.2.Entities Hibernat
the architecture of situation relevant
5.2.1.Entity Classes e ORM,
JPA 4, 5, al question
5 5.2.2.Persistent Fields 6/6 https://d
6 question s; Do
and Properties LLO14. ocs.jbos
s; Give exercise
5.2.3.Access Type Understand Object s.org/hi
students s;
5.2.4.Primary Keys and Relational bernate/
Entity Identity instructi Practice
Mapping stable/or
5.2.5.Basic Data Types on to do s; Create
m/userg
the
uide/ht
5.2.6.Element LLO15. exercise the lab ml_singl
Collections
Understand Object s; report e/Hibern
5.2.7.Entity Associations
Grid Mapping Observe ate_Use
5.2.8.Inheritance and r_Guide
Relationship Mapping LLO16. Develop
Strategies Java application guide .html
5.3.CRUD Operations with ORM students [4]
5.4.Query Language to Hibernat
LLO17. Develop
(JPQL) practice e OGM,
Java application
5.5.Criteria API
with OGM https://d
5.6.Entity Managers and ocs.jbos
Persistence Contexts
s.org/hi
5.7.JPA Exceptions
bernate/
5.8.Performance stable/o
Issues gm/refer
ence/en-
US/html
_single/

Chapter 6: Network LLO18. Explicit Take [1]


Programming Comprehend teaching notes; Richard
6.1.Introduction socket-based ; Raises Discussi M
6.2.Networking Classes communication in some on; Ask Reese.
and Interfaces
Java situation or Learnin
6.2.1.URL Class
LLO19. al answer g
6.2.2.URLConnection question relevant Network
class Understand
client/server s; Give question Progra
6.2.3.HttpURLConnecti
on class computing students s; Do mming
6.2.4.InetAddress Class instructi exercise with
LLO20.
6.3.Client/Server Implement Java on to do s; Java,
Architecture the Practice Packt
networking 4, 5,
6 6.4.Sockets 7/9 exercise s; Create Publishi
programs using 6
6.4.1.UDP sockets s; the lab ng,
stream sockets
6.4.2.TCP sockets Observe report 2015,
LLO21. Develop
6.5.Client/Server and 168-277
servers for
Development guide
multiple clients
6.5.1.Client–Server students [2]
Application LLO22. Develop to Bogdan
6.5.2.Multi-threaded Java application practice
Server Applications Ciubotar
that communicate
6.5.3.Unicast, Multicast, with the server u&
and Broadcast Gabriel-
Communications LLO23.
Miro
6.6.NIO Support for Implement Java
Networking
Muntea
networking
n.
6.7.Security programs using Advance
6.8.Java Remote Method datagram sockets d
Invocation
LLO24. Network
6.8.1.RMI Introduction Progra
Understand how
6.8.2.RMI Architecture mming
RMI works
6.8.3.Application Principl
LLO25. Learn the
Implementation es and
process of
techniqu
developing RMI
es,
applications
Springe,
LLO26. Know the
2013,
differences
Chapter
between RMI and
7
socket-level
programming
LLO27. Develop
three-tier
applications using
RMI
LLO28. Use
callbacks to
develop
interactive
applications
8. Assessment
a. Description of the assessment methods used based on the Course’s Learning Outcomes
Target of students
(CLOs) When data collected Assessment Methods Assessment Tools achieving CLOs
(%)
Group project
Continuous Rubrics 65
(Presentation)
1
Mid-term
Summative Rubrics 65
(Practical exam)
Group project
2 Summative Rubrics 65
(Presentation)
Group project
3 Summative Rubrics 65
(Presentation)
Group project
Continuous Rubrics 65
(Presentation)
4
Regular test
Summative Rubrics 65
(Writing test)
Group project
Continuous Rubrics 65
(Presentation)
5
Regular test
Summative Rubrics 65
(Writing test)
Group project
Continuous Rubrics 65
(Presentation)
Regular test
6 Continuous Rubrics 65
(Practical test)
Final-term
Summative Rubrics 65
(Practical exam)
b. Assessments weighting
Assessment Methods Weight %

Theory Continuous (Writing test) 20

Summative (Practical exam) 30

Summative (Practical exam) 50


Practice Continuous (Practical test) 33.33%
Continuous (Presentation) 33.33%
Continuous (Practical test) 33.33%

c. Assessment Scale: Credit System


Lecturer: MSc. Nguyen Thi Hoang Khanh
Head of department: Dr. Nguyen Thi Hanh

You might also like