|Type of course:||Compulsory|
|Language of instruction:||Romanian|
|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|
|Form of receiving a credit for a course:||Grade|
|Number of ECTS credits allocated||5|
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.
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.