Java Programming
0%
Course Title: Java Programming
Course No: ENCT 327
Nature of the Course: Theory + Lab
Semester: 5
Full Marks: 60 + 0 + 0
Pass Marks: 24 + 0 + 0
Credit Hours: 3
Course Objectives
Course Contents
1. Java Fundamentals
7 hrs
2.1. Streams and file handling
- Byte and character streams
- Reading/writing text files
- Object streams and serialization
- New I/O (NIO.2) file operations
2.2. JSON and data Interchange
- Handling JSON data with libraries like Jackson or Gson
- JSON vs. XML in REST APIs
3.1. Java database connectivity (JDBC)
- JDBC architecture and drivers
- Connection, statement, and result set management
- Prepared statements for secure and efficient queries
3.2. Network programming and rest
- Client-server model and basics of socket communication
- Consuming restful APIs using the HTTPClient from Java 11+
- Overview of microservices architecture
4.2. Data Access with Spring
- Overview of ORM and JPA
- Building a repository layer with spring data JPA
- CRUD operations and transactional management
4.3. API Development and Security
- REST API design principles
- Handling exceptions in spring boot
- Overview of spring security for authentication and authorization
4.4. Deployment and Project Work
- Docker and containerization
- Packaging and deploying a Spring Boot application
Laboratory Works
- 1.Programs using Lambda expressions and Streams API
- 2.Implementation of file I/O operations
- 3.Development of a simple client-server application
- 4.Implementation of a Spring Boot application with a data access layer
- 5.Containerization of a Spring Boot application using Docker
Reference Books
- 1.Bloch, J. (2017). Effective Java. Addison-Wesley Professional.
- 2.Schildt, H. (2024). Java: The Complete Reference. McGraw-Hill Education.
- 3.Goetz, B., Peierls, T., Bloch, J., Bowbeer, D., Holmes, J., Lea, D. (2006). Java Concurrency in Practice. Addison-Wesley Professional.
- 4.Walls, C. (2016). Spring Boot in Action. Manning Publications.