Type of course: | Compulsory |
Language of instruction: | English |
Erasmus Language of instruction: | English |
Name of lecturer: | Manuella Kadar |
Seminar tutor: | Ovidiu Domsa |
Form of education | Full-time |
Form of instruction: | Class |
Number of teaching hours per semester: | 56 |
Number of teaching hours per week: | 4 |
Semester: | Summer |
Form of receiving a credit for a course: | Grade |
Number of ECTS credits allocated | 5 |
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.
Object Oriented Programming (FI207) Algorithms and data structures (FI104) Basic algorithms (FI203)
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.
The course is given as a combination of lectures and laboratories. There is a 100% attendance requirement for laboratories. Work in small groups. Compulsory assignments. Instruction is a combination of lectures, laboratories, group work.
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.
A two-hour written examination (60% of the final grade) Laboratory activities portfolio (40% of the final grade)
ECKEL, Bruce,,
Thinking in Java, 4th ed., Upper Saddle River, New JerseyUpper Saddle River, New Jersey : Prentice Hall : Pearson Education, 2006, ISBN 0-13-187248-6, 978-0-187248-6., Prentice Hall,
New Jersey,
2006,
620.
Bruce Eckel,
Thinking in Java, (3rd edition), http://www.bruceeckel.com., Prentice Hall,
New Jersey,
2006,
650.
Marty Hall,
Core Servlets and JavaServer Pages, http://coreservlets.com, Internet,
Internet,
2010,
450.
Marty Hall,
http://www.developer.com/java/data/article.php/3417381, Internet,
Internet,
2017,
250.
BELL, Douglas, PARR, Mike,
Java for students, Prentice Hall,
Harlow, England,
2010,
520.