Course INFO 213 · Year II · Autumn 2024-2025

ADVANCED PROGRAMMING TECHNIQUES

Compulsory course in Computer Science, taught by Manuella Kadar.

This course page is from 2024-2025 and is archived.
See this course for the current academic year

Overview

Lecturer
Manuella Kadar
Seminar tutor
Ovidiu Domsa
Type of course
Compulsory
Language of instruction
Romanian
Erasmus language
English
Domain
Computer Science
Field of study
Computer Science
Form of education
Full-time
Form of instruction
Class
Credit awarded by
Grade
Teaching methods
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.
Entry requirements
Object Oriented Programming (FI207) Algorithms and data structures (FI104) Basic algorithms (FI203)

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)

Recommended reading

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.
ECKEL, Bruce,
Prentice Hall, New Jersey, 2006 · 620
Thinking in Java, (3rd edition), http://www.bruceeckel.com.
Bruce Eckel
Prentice Hall, New Jersey, 2006 · 650
Core Servlets and JavaServer Pages, http://coreservlets.com
Marty Hall
Internet, Internet, 2010 · 450
http://www.developer.com/java/data/article.php/3417381
Marty Hall
Internet, Internet, 2017 · 250
Java for students
BELL, Douglas, PARR, Mike
Prentice Hall, Harlow, England, 2010 · 520