0% found this document useful (0 votes)
21 views3 pages

Advanced Programming Course Outline

The document outlines the MSc program in Information Technology at Ambo University, detailing the course objectives and structure, which includes topics such as web technologies, Java programming, database programming, and enterprise application development. It specifies the course units covering Java basics, Swing, AWT, RMI, JSP, and more, along with practical lab projects and assessments. The course emphasizes real-life application development using Java technologies and various programming languages, including Python.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
21 views3 pages

Advanced Programming Course Outline

The document outlines the MSc program in Information Technology at Ambo University, detailing the course objectives and structure, which includes topics such as web technologies, Java programming, database programming, and enterprise application development. It specifies the course units covering Java basics, Swing, AWT, RMI, JSP, and more, along with practical lab projects and assessments. The course emphasizes real-life application development using Java technologies and various programming languages, including Python.
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

Ambo University

Hachal Hundessa Campus


Department of Information Technology
MSc Program (Wingate) in Information Technology
Course Code: MIT6112,
Credit Hour: 3, 2 lecture + 1 lab, Prerequisite: Advanced OOP
Instructor: Naol B (Asst Professor)
Course Objective
The course aims to make the students:
 To understand the concepts and tools in web technologies.
 Business application design and development
 Covers client-side scripting and server-side scripting
 Web servers and Database interfacing.
Unit I -Java Basics
 Recap of OOP concepts
 Collections– (Arrays, Set, Lists, Maps)
 Wrapper class
 I/O streaming- (character and byte stream filter and pipe streams Byte code
interpretation, Zip Archives)
 Type casting
 Packages
 Exception handling
 Applets
 Thread - (creating and running threads, synchronizing threads, communicating
between threads, grouping threads)
 Introduction to documentation: e.g. doxygen / javadocs
 Version management: SVN/Git
Unit II- Swing & AWT

1
 Swing- (the Swing component class Hierarchy, using top level swing containers, using
intermediate level swing containers, using the atomic component, using the Layout Manager,
Jlists, Tables, Trees)
 AWT- (Readers & writers for Image, Printing, Clipboard, Drag & drop, Platform integrations.
Unit III-Database Programming
 JDBC Design, SQL Revised, JDBC Configuration, Executing SQL, Result sets, row sets,
Metadata, Transactions.
Unit IV -Distributed Objects RMI (Remote Method Invocation)
 Over view of the distributed computing, Remote method calls, RMI Architecture, RMI
Packages, creating remote interface, implementing remote interface, RMI registry, creating RMI
server, creating RMI client, Running the RMI application, transmitting files using RMI.
Unit V -Java Network Programming (Socket Programming)
 Connecting to server, implementing servers, Sockets, Getting Web data, Sending E-mail.
Unit VI- Servlets
 Servlets – (Introduction to Servlets, Life Cycle of a Servlet, accessing a Servlet using an
HTML page, parameters and attributes, servlet context and configuration, Request Dispatching,
Dealing with cookies, Session Tracking and Management, Event Listener, Filters)
Unit VII- JSP
 JSP – (Introduction to JSP – Examining MVC(Model View Controller )JSP scripting elements
& directives, expressions overview of JSP custom tags& libraries, using xml syntax, JSP implicit
objects, Working with variables scopes, Error Pages).
Unit VIII -Enterprise Applications development
 Java Beans: Introduction to Java Beans, Advantages of Java Beans, Introspection, Using
Bound properties, Constrained properties Persistence, Customizes, Java Beans API
 SOA (service-oriented architecture) support in J2EE,
 Java cryptographic libraries
Design Patterns (e.g., Abstract Factories and Model-View Controller)
 Frameworks (Struts): Hibernate & Spring frameworks are used in the lab.
 Web services in java
 Internationalization
Unit IX- Introduction to Small Computing Technologies (J2ME):

2
Mobile Phones, Wireless, Smart cards etc programming in Java.
Unit X-Shell programming Unit XI-Python Programming
**students are expected to develop and deploy a real-life diversified project using Java
technologies.
** Students will do several exercises using Linux tools – Grep, awk, tr, using system calls, shell
scripting
**Lab project on python
**JDBC programming & deployment using latest Oracle and JDK
**Application server (Glass Fish, JBoss, IBM Web sphere etc) installation, configuration &
deployment using java technologies especially EJB
**RMI application development lab
**Socket programming-based application development
**Working on Hibernate & Spring Framework
Assessment/Evaluation & Grading System
This course is assessed by written exams, lab assignments, real-life problem-solving java,
python & shell scripting projects, technical reports and demo of projects
References

Common questions

Powered by AI

Using J2EE frameworks like Hibernate and Spring in enterprise applications provides several advantages including simplified data access, transaction management, and dependency injection . Hibernate offers an object-relational mapping (ORM) tool that automatically maps Java classes to database tables, reducing manual data handling and allowing for more complex queries. Spring enhances enterprise capabilities with its robust module architecture, facilitating configuration and integration, and providing support for a wide range of services like security and messaging. These frameworks promote scalability, modularity, and maintainable codebase, which are critical for enterprise-scale applications .

Swing components are more advanced than AWT components as they are lightweight and provide a more flexible and rich set of GUI elements . Swing supports a pluggable look and feel, which allows the GUI to appear consistently across different platforms, whereas AWT components can look different depending on the operating system. Additionally, Swing components are built on AWT, allowing for more complex features such as tables, trees, and lists without the limitations of platform dependencies .

In Java, multithreading involves multiple threads running concurrently within a program. Synchronization ensures that multiple threads do not interfere with each other, preventing issues like data inconsistency, by using synchronized blocks or methods . Communication between threads can occur using methods like wait(), notify(), and notifyAll(), which are used in conjunction with synchronization to ensure correct execution order .

Java Beans provide several benefits in enterprise application development including reusability, encapsulation, and simple configuration . They follow a standard format, enabling components to be easily integrated across different applications without rewriting code. Java Beans support introspection, allowing properties to be learned and manipulated at runtime, which aids in customization and configuration. Their ability to support properties, persistence, and event handling makes them highly efficient for developing scalable and maintainable enterprise solutions .

The MVC design pattern benefits JSP development by clearly separating the model, view, and controller, which streamlines web development and maintenance . In JSP, the model consists of business data and logic, the view represents the JSP pages for user interaction, and the controller manages the flow of the application and user input. This separation enhances code organization, promotes modular development, and simplifies testing and scalability, leading to more robust and maintainable applications .

HTML services enhance the lifecycle management of Java Servlets by providing a way to handle HTTP requests and responses efficiently . When a request is received by a servlet, HTML services manage the stages of initialization, request handling, and destruction of the servlet. This lifecycle includes loading the servlet, processing incoming requests (GET, POST), managing session states, and clean-up processes post-request, ensuring that servlets perform optimally while managing resources effectively and ensuring reliable web applications .

JDBC (Java Database Connectivity) plays a crucial role in database programming by providing a standard API for Java applications to access relational databases . It allows executing SQL statements, managing result sets, and handling database transactions directly from Java programs. JDBC's interaction with SQL includes writing and executing queries, while transaction support in JDBC ensures data integrity with commit and rollback methods that allow applications to control and respond to changes made within a transaction scope .

Remote Method Invocation (RMI) is significant in distributed computing as it enables a Java program to invoke methods on an object running on another Java Virtual Machine, located remotely . RMI facilitates communication and method calls between distributed systems, allowing developers to create networked applications where actions are requested and executed across different systems seamlessly. This supports seamless distributed application architecture, promoting reusability, scalability, and managing distributed resources effectively .

Design patterns like the Abstract Factory play a crucial role in enhancing software architecture by promoting code reuse and scalability . The Abstract Factory pattern provides a way to encapsulate a group of individual factories that have a common theme, allowing a system to easily switch between different families of objects or to add new families without altering existing code. This results in increased modularity and flexibility, making systems easier to manage, extend, and refactor while reducing code duplication .

Client-side scripting refers to code executed on the user's browser, such as JavaScript, providing interactive and dynamic web pages without frequent server requests . Server-side scripting occurs on the server, such as with PHP or servlets, handling application logic, database interaction, and generating dynamic content before sending a response to the client. Client-side scripting tends to enhance user experience through interactive interfaces, while server-side scripting focuses on data processing, security, and infrastructure integration, complementing each other for full-stack web development .

You might also like