Course label : | Object Oriented Design & Programming |
---|---|
Teaching departement : | MIN / Applied Mathematics and General Computing |
Teaching manager : | Mister MAXIME OGIER |
Education language : | French |
Potential ects : | 0 |
Results grid : | |
Code and label (hp) : | LE3_5_IF_MIN_POO - Programmation orientée objet |
Education team
Teachers : Mister MAXIME OGIER / Mister DIEGO CATTARUZZA
External contributors (business, research, secondary education): various temporary teachers
Summary
This course aims to consolidate the knowledge on the object-oriented programming (OOP) paradigm acquired in the second year. This course is based on the Java language. The main objective of this course is to develop an application with a graphical interface and a connection to a database. This course also allows students to work on OOP concepts (encapsulation, inheritance, polymorphism, modularity), as well as data structures and algorithms. We also focus in this course on developing quality code: correct indentation, compliance with Java conventions in the names of classes, attributes, methods and variables, relevant comments in Javadoc format, unit tests as development progresses. The summary content of the course is as follows: - database queries from a Java application (JDBC API) ; - creation of a graphical interface (API Swing); - object-relational mapping: JPA (Java Persistence API).
Educational goals
At the end of the course, the student will be able to: - develop a program according to the object-oriented programming paradigm; - know good development practices in object-oriented programming; - choose and use the right data structures (list, set, associative table); - define a data model in an object language from a relational model for a database; - perform queries on a database from a Java application; - develop a graphical user interface containing lists, buttons, tables, trees with Java language; - use the exception handling principle of the Java language; - implement an algorithm in an object-oriented program. Contribution of the course to the competency framework; at the end of the course, the student will have progressed in: - design a system; - to develop a system; - set up test protocols; - make and execute test sets; - produce technical project documentation. Knowledge worked on: - vocabulary of object-oriented programming; - good development practices in object-oriented programming; - implementation of data structures (list, set, associative table) ; - exception processing ; - queries on a database; - advanced use of elements to create a graphical interface; - algorithmic; - relational object mapping. Skills developed: - good development practices in object-oriented programming; - perform unit tests; - make clean code; - comment on your code; - design a program in an object-oriented programming language; - from a database, develop a graphical interface that allows interaction with the database.
Sustainable development goals
Knowledge control procedures
Fixed Exam
Comments: This course is evaluated on the knowledge of the concepts seen during the course and on the rendering of the project. A final defense takes place at the end of the project. This defense consists in a common part with both members of the project team, followed by an individual part with each member of the teams.
The grade is individualized, and can therefore be different for the two members of the same project team.
Online resources
- For each class, susbjects available on Moodle.
Pedagogy
- Each class, a subject, in the form of a case study, allows the students to discover the new concepts: first the theoretical aspect, then the students implement them in practice. - The teacher does not make a systematic correction, but can answer all the students' questions. Students must therefore be active. - Work outside the classes is necessary. - The quality of the code developed is very important. - The last classes are dedicated to the realisation of a synthesis project, with teams of two students.
Sequencing / learning methods
Number of hours - Lectures : | 0 |
---|---|
Number of hours - Tutorial : | 0 |
Number of hours - Practical work : | 0 |
Number of hours - Seminar : | 0 |
Number of hours - Half-group seminar : | 36 |
Number of student hours in TEA (Autonomous learning) : | 0 |
Number of student hours in TNE (Non-supervised activities) : | 0 |
Number of hours in CB (Fixed exams) : | 0 |
Number of student hours in PER (Personal work) : | 0 |
Number of hours - Projects : | 0 |
Prerequisites
- Algorithmic notions. - Know the basic data structures (array, linked list, set). - Know how to develop a program in object-oriented programming. - Understand a UML class diagram. - Know how to make SQL queries on a database.