Course label : | Object-oriented programming |
---|---|
Teaching departement : | MIN / Applied Mathematics and General Computing |
Teaching manager : | Mister MAXIME OGIER |
Education language : | English |
Potential ects : | 4 |
Results grid : | |
Code and label (hp) : | G1G2_ED_MIN_POO - Programmation orientée objet |
Education team
Teachers : Mister MAXIME OGIER / Mister DIEGO CATTARUZZA / Mister FREDERIC SEMET / Mister PABLO TORREALBA GONZALEZ
External contributors (business, research, secondary education): various temporary teachers
Summary
This course aims to provide new knowledge about the object-oriented programming (OOP) paradigm, based on the Java language. The main concepts covered are class, attribute and method, encapsulation, inheritance and polymorphism. We also study the use of classical data structures (lists, sets, associative tables), algorithms for solving a practical problem using computers, graphical interfaces and the use of databases. In this course we do not limit ourselves to designing information systems, but we will also cover basic optimization concepts. The latter results in the development of algorithmic procedures to be integrated into the applications developed in the course. In this course, we also focus on developing quality code: correct indentation, respect of Java conventions in the names of classes, attributes, methods and variables, comments in Javadoc format, unit tests.
Educational goals
At the end of the course, the student will be able to: - develop an application with a graphical interface and an interaction with a database; - understand the fundamental concepts of object-oriented programming (encapsulation, inheritance, polymorphism); - choose suitable data structures, and use these data structures; - solve a practical problem using a computer language (Java); - develop quality code (indentation, compliance with conventions, comments, unit tests). Contribution of the course to the competency framework; at the end of the course, the student will have progressed in: - the ability to make a prototype (1.9); - the ability to organize the resolution of a problem (2.3, 2.4, 2.5); - the ability to develop working methods and to organise (3.5).
Sustainable development goals
Knowledge control procedures
Final Exam
Comments: The final evaluation is carried out in the machine room during the last class (maximum 16 students per room).
Online resources
An introductory document about object-oriented programming and Java language will be provided to students and available on Moodle. For each class, detailed subject will be available on Moodle. These subjects combine some parts of theoretical course with guided questions to help the students understand the new concepts.
Pedagogy
The basics of the course are available in an introductory document that students must read (during personal work) before the first class. Classes are in the machine room and allow the case study presented in the subjects to be directly implemented on a computer. It is essential that each student can code alone on a machine. In addition, in order to be able to discuss implementation choices and the quality of the code developed, it is necessary that the size of the groups be limited to 16 students so that teachers have enough time to devote to each student. Detailed subjects will be provided to students for each class. These subjects contain new theoretical concepts, which will be explained by the teacher. In the classes, teachers will be able to use live-code to introduce students to how to put theoretical concepts into practice. This live-code part will be reduced as the course progresses to allow students to acquire autonomy. At the end of the course, students must be able to fully develop a small application by themselves.
Sequencing / learning methods
Number of hours - Lectures : | 0 |
---|---|
Number of hours - Tutorial : | 0 |
Number of hours - Practical work : | 0 |
Number of hours - Seminar : | 4 |
Number of hours - Half-group seminar : | 0 |
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
Basic knowledge of algorithmic and basic knowledge of a programming language. Additional knowledge in information system (UML) and database (SQL) design will be appreciated (elective course Information Systems in S6a), but is not mandatory.
Maximum number of registrants
64