Overview
Aims
General objectives of the course:Advanced programming in Java covers programming for both single system software distribution and across networks/devices. The course provides in depth coverage of object serialization, Java Beans, Servlets, Java Server pages JSP, Java Server Faces JSF, networking.
The course provides in depth coverage of object serialization, Java Beans, Servlets, Java Server pages JSP, Java Server Faces JSF, networking, remote objects (RMI), and distributed computing through Jini. The course offers many examples and applications that will be implemented within labs.
Specific objectives of the course:Students will understand the advanced topics in Java programming, they will be in a position to do commercial Java development both for single services and for distributed processes across multiple devices.
Students will understand the advanced topics in Java programming, they will be in a position to do commercial Java development both for single services and for distributed processes across multiple devices.
The development of correct source codes and the testing of various components in a known programming language, given a set of design specifications.
Course contents
Course (learning units) 1. Introduction to advanced programming techniques. Divide et Impera programming technique. Dynamic programming technique. Branch and Bound technique. Greedy technique. Backtracking technique. 2. Advanced programming techniques. Sorting algorithms. Multiple execution threads. Input-output streams. Serializing data. 3. Introduction to Java programming language. History and characteristics of Java programming language. Portability and security of Java programmes execution. Java data types. 4. Java versus C++. Java versus .Net. Object-oriented programming. Classes and objects; namespaces and packages. Creating and destroying objects. 5.Inheritance and class hierarchy. Abstract classes and interfaces. Exception handling 6. Java graphical interface (AWT and Swing). Graphical components: containers and controls. Managing the position of a graphical component 7. Java Graphical User Interface (AWT and Swing). Listening and handling events generated by graphical components. Graphical contexts and drawing area (canvas). 8.Java Graphical User Interface (AWT and Swing). Dialogs and menus. 9.Java and Internet services. WEB programming. 10.Web clients: applets. Applet Methods. 11.Applet Class Loaders. Applets security issues. Web Server: servlets and JSP pages. 12.JavaBeans. Using JavaBeans components in JSP pages. 13.Java database connectivity. Database access using JDBC. 14. Java database connectivity. Execution of an SQL statement. Result processing. Closing database connections in Java.
Learning outcomes
Professional competences C1. Programming in high-level languages C1.1 The appropriate description of programming paradigms and of specific language mechanisms, as well as the identification of differences between semantic and syntactic aspects. C1.2 The explaining of existing software applications using different abstraction layers (architecture, packages, classes, methods), correctly using base knowledge. C1.3 The development of correct source codes and the testing of various components in a known programming language, given a set of design specifications.
Assessment
A two-hour written examination (60% of the final grade)Laboratory activities portfolio (40% of the final grade)