0% found this document useful (0 votes)
2 views23 pages

00 - Introduction to Advanced Java

Uploaded by

ahmadyasa313
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views23 pages

00 - Introduction to Advanced Java

Uploaded by

ahmadyasa313
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 23

Herat University

Computer Science Faculty


Software Engineering Department

Introduction to Course
Course Policy Plan
Seyyed Kamran Hosseini
3/10/2025
Table Content
• Lecturer Info
• Course Organization
• Teaching Methods/Strategies
• Grading
• Prerequisite
• Course Learning Outcome
• Student Responsibilities
• Instructor's Classroom Policy
• Instructor’s Expectations from Students
• Course Content
• References

3/10/2025 Introduction to Course Policy Plan 2


Lecturer Info

• Lecturer:
• Associate Prof. Seyyed Kamran Hosseini
• Mail:
• seyyedkamranhosseini@gmail.com

3/10/2025 Introduction to Course Policy Plan 3


Course Organization
• Course Name : Practical Computer Science 2
• Course Code: CS309
• Subtitle: Advanced Java Programming
• Number of Credits: 5 CP

3/10/2025 Introduction to Course Policy Plan 4


Teaching Methods/Strategies
• Lecture Presentation
• Exercises
• Assignments to be carried out in groups at home
• Quizzing
• Q&A

3/10/2025 Introduction to Course Policy Plan 5


Grading
• Exercises and class Activity 20 %
• Mid – Term Exam 20%
• Project 20%
• Final Exam 40%
• Min. 75% attendance required to attend in final exam

3/10/2025 Introduction to Course Policy Plan 6


Prerequisite
• Introduction to Java Programming I & II
• Fundamental of DBMS

3/10/2025 Introduction to Course Policy Plan 7


Course Learning Outcome
• After completing the course, students will be able to:
• Understand advanced Java concepts and apply them in software
development.
• Professionally design and implement object-oriented programs (OOP).
• Handle exceptions and process data using modern techniques such as Stream
API and NIO.
• Develop multi-threaded and concurrent applications to optimize software
performance.
• Design modern graphical user interfaces using JavaFX and FXML.

3/10/2025 Introduction to Course Policy Plan 8


Course Learning Outcome
• After completing the course, students will be able to:
• Implement Java applications' database connectivity using JDBC, JPA, and
Hibernate.
• Develop RESTful web services with Spring Boot and connect Java clients to
them.
• Test and optimize their software using testing tools (JUnit 5, Mockito) and
debugging tools (IntelliJ Debugger).
• Deploy and manage Java applications in cloud environments using Docker and
Microservices.
• Design and implement a comprehensive practical project using JavaFX,
databases, and REST API.

3/10/2025 Introduction to Course Policy Plan 9


Student Responsibilities
• Punctual attendance in class.
• Observing discipline and respect in the classroom.
• Reviewing previous lessons.
• Asking the instructor questions if any concept is unclear.
• Paying attention during lectures.
• Studying reference books related to the subject.
• Active participation in class.

3/10/2025 Introduction to Course Policy Plan 10


Instructor's Classroom Policy
• Attendance will be recorded 5 minutes after the start of the class.
• Students must submit class projects on time, and late submissions
may not be accepted.
• Mutual respect and discipline must be maintained at all times.
• Constructive feedback and suggestions from students are welcomed
and encouraged.
• The instructor will provide guidance and consultation to students as
needed.

3/10/2025 Introduction to Course Policy Plan 11


Instructor’s Expectations from Students
• Review taught lessons regularly.
• Show mutual respect toward the instructor and classmates.
• Arrive on time for class.
• Avoid talking during lectures.
• Submit class projects on time.
• Engage in class activities and demonstrate creativity.

3/10/2025 Introduction to Course Policy Plan 12


Course Content
• Module 1: Introduction to Java Programming
• Module 2: Exception Handling and File Operations
• Module 3: Data Structures and Streams
• Module 4: Concurrency, JavaFX, and UI Development
• Module 5: Advanced JavaFX, Database, and Web Development

3/10/2025 Introduction to Course Policy Plan 13


Module 1: Introduction to Java Programming
1. Introduction to the Course
a. Course Overview
b. Class Rules and Grouping
c. Importance of Java in the Job Market
2. OOP Concepts in Java
a. Inheritance
b. Polymorphism
c. Encapsulation
d. Abstraction
3/10/2025 Introduction to Course Policy Plan 14
Module 2: Exception Handling and File
Operations
1. Exception Handling in Java
a. Introduction to Exceptions
b. Try, Catch, Throw, and Throws
c. Handling Errors in Java
2. Working with Files and Streams
a. Input/Output Operations in Java
b. File Handling with NIO and Streams API
c. Try-with-Resources and Finally

3/10/2025 Introduction to Course Policy Plan 15


Module 3: Data Structures and Streams
1. Working with Data Collections
a. Introduction to Collections Framework
b. ArrayList, HashSet, HashMap
c. Using Iterator for Traversal
2. Stream API for Data Processing
a. What is Stream API?
b. Operations on Streams (map, filter, reduce)
c. Collecting Results Using Collectors

3/10/2025 Introduction to Course Policy Plan 16


Module 4: Concurrency, JavaFX, and UI
Development
1. Concurrency and Multithreading in Java
a. Introduction to Threads and Concurrency
b. Managing Threads with Executors
c. Virtual Threads with Project Loom
2. Introduction to JavaFX for UI Development
a. Overview of JavaFX
b. Scene Graph, Stage, and Scene
c. FXML and its Role in UI Design

3/10/2025 Introduction to Course Policy Plan 17


Module 4: Concurrency, JavaFX, and UI
Development
3. Event Handling in JavaFX
a. Event Handling Mechanism in JavaFX
b. Using Event Listeners and Lambda Expressions
c. Managing User Interactions in JavaFX
4. Layout Management in JavaFX
a. BorderPane, GridPane, VBox, HBox
b. Responsive UI Design Principles

3/10/2025 Introduction to Course Policy Plan 18


Module 5: Advanced JavaFX, Database, and
Web Development
1. Advanced JavaFX: Building Dynamic Applications
a. Styling JavaFX with CSS
b. Adding Animations and Effects
c. Binding and Observable Properties
2. Working with Databases in Java
a. Introduction to JDBC and JPA
b. Connecting Java to Databases with JDBC
c. Using Hibernate for Object-Relational Mapping
3. Developing REST APIs in Java
a. Introduction to RESTful APIs
b. Creating REST APIs with Spring Boot
c. Connecting JavaFX to REST APIs
3/10/2025 Introduction to Course Policy Plan 19
Practical Work and Final Evaluation
1. Project: JavaFX Application with Database
a. Designing a JavaFX Application Connected to a Database
b. Implementing CRUD Operations
c. Deploying the Application
2. Final Review and Troubleshooting
a. Reviewing Key Concepts
b. Addressing Common Issues and Questions
3. Final Exam
a. Comprehensive Assessment on All Topics

3/10/2025 Introduction to Course Policy Plan 20


Module 5: Advanced JavaFX, Database, and
Web Development
4. Testing and Debugging Java Applications
a. Unit Testing with JUnit 5 and Mockito
b. Debugging Java Code with IntelliJ Debugger
5. Java in Cloud Environments
a. Introduction to Docker and Microservices
b. Running Java Applications in Cloud Environments

3/10/2025 Introduction to Course Policy Plan 21


References

• Java: The Complete Reference (12th Edition) – Herbert Schildt

• Core Java Volume I & II (11th Edition) – Cay S. Horstmann

3/10/2025 Introduction to Course Policy Plan 22


Any Question?

3/10/2025 Introduction to Course Policy Plan 23

You might also like