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) : | LE2_3_IF_MIN_IOP - Intro. à la Prog. orientée Obj |
Education team
Teachers : Mister MAXIME OGIER / Mister DIEGO CATTARUZZA / 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. In particular, we focus on making the link with object-oriented design. 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), as well as algorithms. This course is based on the Java language. In particular, we use the Swing API to create graphical interfaces. We also focus in this course on developing quality code: correct indentation, compliance with Java conventions in the name of classes, attributes, methods and variables, comments in Javadoc format, unit tests as the development progresses. The summary content of the course is as follows: - foundations of object-oriented programming and link with object-oriented design; - management of lists; - sorting of elements in a list and algorithms; - management of sets and associative tables; - exception and input/output management; - algorithmic; - graphic interface and event-driven programming.
Educational goals
At the end of the course, the student will be able to: - develop an application 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); - develop a simple graphical interface with Java language; - use the exception handling principle of the Java language; - implement a simple 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. Working knowledge: - vocabulary of object-oriented programming; - good development practices in object-oriented programming; - notions of class, attribute, method; - notions of inheritance, abstract class, interface; - implementation of data structures (list, set, associative table); - exception handling principle; - event-driven programming. 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.
Sustainable development goals
Knowledge control procedures
Continuous Assessment / Fixed Exam
Comments: This course is evaluated by a 30-minute individual defense.
The students must make live code during the defense, and answer the teacher's questions.
We evaluate the understanding of the fundamental concepts of OOP, as well as the implementation skills in OOP.
Online resources
- Introductory document available on Moodle. - For each class, subjects available on Moodle.
Pedagogy
- The introductory document should be read before the first class. - Each class, a subject, in the form of a case study, allows the student to discover the new concepts: first the theoretical aspect is explained, then the student implements 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 of great importance.
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 : | 40 |
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 an imperative language (C for example). - Understand a UML class diagram.