[Go to site: main page, start]

100% found this document useful (1 vote)
97 views3 pages

Java Programming Course Outline

This document outlines a Java Programming course for university students. The 3 credit, 5 ECTS course covers advanced Java topics like AWT, Swing, I/O streams, multi-threading, networking, JDBC, RMI, and servlets. The course objectives are for students to develop complex user interfaces, write client-server applications using sockets, use JDBC for database queries, and call remote methods. The course is assessed through quizzes, assignments, a project, and a final exam worth 20%, 20%, 20%, and 40% respectively.

Uploaded by

Shimelis Kassa
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
100% found this document useful (1 vote)
97 views3 pages

Java Programming Course Outline

This document outlines a Java Programming course for university students. The 3 credit, 5 ECTS course covers advanced Java topics like AWT, Swing, I/O streams, multi-threading, networking, JDBC, RMI, and servlets. The course objectives are for students to develop complex user interfaces, write client-server applications using sockets, use JDBC for database queries, and call remote methods. The course is assessed through quizzes, assignments, a project, and a final exam worth 20%, 20%, 20%, and 40% respectively.

Uploaded by

Shimelis Kassa
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

University:________________________________________________________

College/Faculty:___________________________________________________
Course Title: Java Programming
Course Code: CoSc3053
Credit Hrs.: 3 ECTS: 5 Lecture Hrs.: 2 Lab Hrs.: 3 Tutorial Hrs. 2
Prerequisite: CoSc 2051- Object Oriented Programming
Course Category: Compulsory
Year III Semester I

Course Description
This course covers topics on Java which includes: AWT and Swing, I/O Streams, Multi-threading,
Network Programming, Java database connectivity (JDBC), RMI, and
Introduction to Servlets.

Course Objectives
At the end of this course, students should be able to:
➢ Carry out design and development of complex elements, such as user interfaces, multiprocessing,
and fault-tolerant components;
➢ Write TCP/IP Client Server applications using Sockets;
➢ Write Java applications using the JDBC to make database independent queries; and Call methods
remotely.

Course Outline
Chapter 1: Overview of Java Programming (4hr)
1.1. Data types and variables
1.2. Arrays
1.3. Decision and Repetition statement
1.4. Exception Handling
1.4.1. Exception handling overview
1.4.2. Syntax
Chapter 2: Java Applet (2hr)
56
2.1. Overview of Java Applets
2.2. Java Applets Vs Java Application
Chapter 3: Java GUI using JAVAFX (8 hrs.)
3.1. JAVAFX architecture and Program structure
3.2. JAVAFX layout components
3.3. Basic UI controls
3.3.1. Event handlers
3.3.1. UI controls
3.4. Composite UI controls
3.5. Shapes
3.5.1. Color, Texts, Fonts
3.5.2. Lines, Circle, Rectangle
3.5.3. CSS styling
3.6. Properties and Bindings
3.7. Graphics and Animation
Chapter 4: Streams and File I/O (4hr)
4.1. Input output streams
4.1.1. Various stream classes
4.1.2. Using Streams
4.1.3. Object Streams
4.2. File management
Chapter 5: Multi-threading concept (4hr)
5.1. Thread vs process
5.2. Multiple threads
5.2.1. Thread priorities
5.2.2. Thread synchronization
Chapter 6: Networking in Java (3hr)
6.1. Networking overview
6.1.1. Types of connections
6.2. Socket programming
6.2.1. Socket, port and URI
57
6.2.2. Implementing Socket programming
6.3. Remote method invocation (RMI)
6.3.1. Overview of RMI
6.3.2. The RMI registry
6.3.3. The remote Interface
6.3.4. Implementing RMI
Chapter 7: Java - Database connectivity (4hr)
7.1. Introduction on database systems
5.1.1. Structured query language (SQL)
7.2. Basic JDBC programming concept
7.2.1. Populating database
7.2.2. Executing queries
7.2.3. Manipulating query results
Chapter 8: Servlets (3 hrs.)
8.1. Servlet overview and architecture
8.2. Handling HTTP methods (GET and POST requests)
8.3. Request redirecting
8.4. Multi-tier applications using JDBC from servlet

Teaching - Learning methods


Assessment method
Quizzes 20%
Assignments 20%
Project 20%
Final Exam 40%
Total 100%

Teaching materials
Required Texts:
➢ S. Horstmann and Gary Cornell, Core Java 2 – Volume II- Advanced Features, Sun
Microsystems Press

58

Common questions

Powered by AI

Java servlets handle HTTP requests by implementing methods such as doGet() and doPost() to manage GET and POST requests, respectively. They provide a powerful mechanism for building multi-tier applications by integrating front-end and back-end components through a web server. This architecture allows for dynamic content generation, session management, and easy integration with databases using JDBC. The main advantages include speed, efficiency, and the ability to handle complex business logic at the server-side .

JDBC allows Java applications to perform database-independent querying by providing a standardized API that connects to various database systems. Its core components include the DriverManager, used to establish a connection with the database, the Connection interface for communication, the Statement interface for executing SQL queries, and the ResultSet interface for processing query results. This architecture abstracts the complexity of interacting with different databases, promoting flexibility and maintainability in database operations .

Java Applets differ from regular Java applications in that they are designed to run within a web browser, providing interactive features on web pages. They carry numerous limitations, such as security restrictions due to sandboxing and reliance on deprecated plugins, which can hinder functionality compared to standalone Java applications. Conversely, applications run on the local machine, offering broader access to system resources and a comprehensive range of features .

In Java networking, a socket is an endpoint for communication between two machines, while a port is a numerical value that identifies a specific process or service on a host. Sockets utilize ports to connect applications over a network by providing a mechanism for sending and receiving data packets, enabling tasks such as implementing client-server architecture with effective data transmission and reception .

Java's RMI framework facilitates distributed computing by allowing methods of remote objects to be invoked from other JVMs. The RMI registry acts as a naming service that allows clients to look up remote objects using names bound to them. The remote interface defines the methods that can be called remotely, ensuring that both server and client understand the communication contract. Together, these components enable the execution of methods on remote servers as if they were invoked locally .

Multi-threading in Java allows multiple threads to execute concurrently, significantly enhancing application performance by making efficient use of CPU resources. Thread synchronization ensures that multiple threads do not interfere with each other when accessing shared resources, preventing data inconsistency. Assigning different priorities to threads helps in determining the order of execution, making it possible to prioritize critical tasks over less important ones .

Java's InputOutput streams facilitate file management by providing a mechanism to read from and write to files. The primary types of streams include byte streams, for 8-bit data, character streams, which handle 16-bit Unicode characters, and object streams for reading and writing objects. These enable efficient file manipulation by abstracting low-level I/O operations, thereby simplifying data handling .

JavaFX offers several advantages over older frameworks like AWT and Swing, including a modern and flexible interface, improved rendering capabilities with a hardware-accelerated graphics pipeline, and the use of CSS for styling. It allows for rich client applications and features like animation and 3D graphics. However, potential limitations include a steeper learning curve for developers familiar with older frameworks, inconsistent backward compatibility, and larger runtime size requirements .

Java GUI programming using JavaFX includes components like architecture and program structure, layout components, basic and composite UI controls, shapes, and styling with CSS. Unlike traditional Swing components, JavaFX offers more flexibility with event handlers, properties, bindings, graphics, and animation, providing a more modern, rich client application interface .

Java's exception handling mechanism enhances programming robustness by allowing programmers to manage runtime errors systematically. By using try-catch blocks, developers can ensure that the program continues to run smoothly even when unforeseen errors occur. This also promotes clear separation of error handling code from regular business logic, contributing to cleaner and more maintainable code .

You might also like