lepl1401  2020-2021  Louvain-la-Neuve

Due to the COVID-19 crisis, the information below is subject to change, in particular that concerning the teaching mode (presential, distance or in a comodal or hybrid format).
5 credits
30.0 h + 30.0 h
Mens Kim; Nijssen Siegfried; Pecheur Charles; SOMEBODY;
Main themes
Basic concepts of object-oriented programming
The Java programming language
Problem analysis; specification and implementation of solutions
Linear data structures, including dynamic implementations.

At the end of this learning unit, the student is able to :

Contribution of the course to the program objectives
Regarding the learning outcomes of the program of Bachelor in Engineering, this course contributes to the development and the acquisition of the following learning outcomes:
  • LO 1.1, 1.2
  • LO 2.4, 2.5
  • LO 3.1
  • AA 4.2, 4.3, 4.4
Specific learning outcomes of the course
More precisely, at the end of the course the students will be able to
  • Demonstrate their understanding of the basic concepts and the methodology of object-oriented programming.
  • Use the main elements of an object-oriented language such as Java in an appropriate way.
  • Analyze a simple problem, to propose an algorithmic solution for this problem and to program the solution in Java.
The contribution of this Teaching Unit to the development and command of the skills and learning outcomes of the programme(s) can be accessed at the end of this sheet, in the section entitled 'Programmes/courses offering this Teaching Unit'.
  • Programs, source code and program execution
  • Identifiers, variables, values, types, assignment
  • Expressions, statements
  • Conditional structures and loops
  • Functions, parameters, calls, results, execution, variable scoping
  • Specifications and tests
  • Modules
  • Data structures, lists, strings and their operations
  • References and nested data structures
  • Nestsed lists, tuples, matrices, dictionnaries
  • Dichotomic search algorithms
  • File handling, input/output
  • Exception handling
  • Object-oriented programming and garbage collection
  • Classes, objects, constructors, methods
  • References to an object, self-references and self-calls
  • Class, instance and local variables, scope and visibility
  • Class composition, inheritance and encapsulation
  • Polymorphism, super calls and dynamic binding
  • Object equality
  • Linked data structures
Teaching methods

Due to the COVID-19 crisis, the information in this section is particularly likely to change.

The chosen teaching method relies on active student participation, through a mixture of :
  • course lectures,
  • partical exercice sessions with tutors,
  • programming exercices on the INGInious platform?
Even though preference will be given to face-to-face teaching sessions, depending on the health situation and the number of students enrolled, other forms of teaching and evaluation (online, co-modal or hybrid) may be considered.
Evaluation methods

Due to the COVID-19 crisis, the information in this section is particularly likely to change.

A programming assignment is due each week.  A mid-term evaluation takes place in the middle of the first semester.  The end-of-term exam aims to assess both the understanding of the course material and the capacity to apply it to write simple but correct Python programs.
The final grade can take into account the mid-term evaluation and the work done during the quadrimester, in addition to the grade from the exam.  The assignments and the mid-term evaluation cannot be retaken for the June or September sessions.
In case of plagiarism detection confirmed by a plagiarism detection tool the course teachers reserve the right to invite the student to pass an oral interrogation.
Online resources
All course material will be made available online: slides, syllabus, exercices, ...
Faculty or entity

Programmes / formations proposant cette unité d'enseignement (UE)

Title of the programme
Bachelor in Engineering