Object-oriented design and data management

lsinf1225  2017-2018  Louvain-la-Neuve

Object-oriented design and data management
5 credits
30.0 h + 30.0 h
Q2
Teacher(s)
Mens Kim;
Language
French
Prerequisites
Within SINF1BA : LSINF1101

The prerequisite(s) for this Teaching Unit (Unité d’enseignement – UE) for the programmes/courses that offer this Teaching Unit are specified at the end of this sheet.
Main themes
In order to allow the students to acquire the skills below, this course will address the following topics:
  • Introduction to databases and data modelling;
  • Design of object-oriented programs ;
  • Software development methodologies.
  • Development (analysis, design, implementation, testing and documentation) of a Java program (Android) of medium size and complexity.
Aims

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

1

Given the learning outcomes of the "Bachelor in Engineering" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:

  • AA1.1, AA1.2
  • AA2.1-7
  • AA3.1-3
  • AA4.1-5
  • AA5.1

Given the learning outcomes of the "Bachelor in Computer science" program, this course contributes to the development, acquisition and evaluation of the following learning outcomes:

  • S1.I5, S1.I6
  • S2.1-4
  • S4.2-3
  • S5.2-6

Students completing successfully this course will be able to

  • rigorously model a software system (its data, structure and behaviour);
  • design and implement a program of medium size and complexity in an object-oriented language;
  • explain the essential concepts underlying database management systems;
  • correctly use appropriate tools and methodologies to facilitate the design and development of programs and to manage a database.
 

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”.
Content
First part : data management
  • introduction to databases
  • data modelling (Object-Role Modelling)
  • the relational schema
  • query languages (SQL)
Second part : object-oriented design
  • the software development process
  • requirements analysis (user stories)
  • CRC cards (Classes, Roles and Responsibilities)
  • class diagrams (UML)
  • sequence diagrams (UML)
Third part : Android programming
Teaching methods
Through a detailed case study, which will be developed throughout de practical sessions based on the concepts, techniques and notations seen in the theory course, the students will be introduced to the different aspects of modelling and designing a software system, from its initial requirements analysis to its final implementation in Java. The case study will consist of the design and development, in groups of 5 to 6 students, of a mobile application or the Android platform.
Evaluation methods
Participation in the practical sessions is obligatory.  The tutors will take note of absences.
The final score for this course will be calculated as a weighted average of the scores of the different evaluations, but the student must achieve a score of at least 10/20 for both the exam AND the continuous evaluation
50% for the continuous evaluation, of which
  • 30% (15% each) for the two intermediary reports to be produced (developed throughout the practical sessions)
  • 20% for the final defence of the developed software system
50% for the exam.
A potential bonus or malus up to ±10% on the final score for those students who participated very actively (or not) during the group sessions
In case the score obtained for the exam, or the score obtained for the continuous evaluation would be less than 10/20, then the student's final score for the course will not be calculated as an average of both scores, but rather as the minimum of the score of the exam and of the continuous evaluation (and will remain therefore below 10/20). It is therefore in the students interest to study the course matter well, and to assist to and participate actively in the practical group sessions.
Since the (group) work for the continuous evaluation can only be carried out during the semester, the score for this part of the course will be kept for the september session in case of a second session. This implies that, if a students hasn't participated at all in the group work, he will thus have a 0 for this part, even in the september session. There will, however, be a new exam in September. In second session, the rule for calculating the final score for this course will remain the same as for the June session: the final score will be equal to the average of the exam score and the score for the continuous evaluation, unless if the score for either the exam or for the continuous evaluation is less than 10/20, in which the final score will be calculated as the minimum of both values. Only the bonus or malus given in first session, will no longer be applied in second session.   
This implies that, if someone was absent for the practical sessions and therefore for the project, he or she will have a 0 for the project and therefore a 0 for the entire course, even in September, since the continuous evaluation part of the course cannot be done again during the summer recess.
Other information
Background:
  • LSINF1101 ou LFSAB1401 Basic knowledge of programming is required to start this course.
Bibliography
Références
  • Bases de données, Jean-Luc Hainaut, Dunod.
  • Information Modeling and Relational Databases, Terry Halpin, Morgan Kaufmann.
  • UML Distilled, Martin Fowler, Addison-Wesley.
Supports
Les transparents des cours magistraux, les énoncés des travaux pratiques, ainsi que d'autres informations pratiques relatives au cours seront accessibles en ligne (cf. ressources en ligne). Le même plate-forme en ligne sera également le moyen de communication préféré entre les étudiants et l'équipe didactique.
Faculty or entity
INFO


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

Title of the programme
Sigle
Credits
Prerequisites
Aims
Master [120] in Forests and Natural Areas Engineering

Master [120] in Agricultural Bioengineering

Master [120] in Linguistics

Master [120] in Chemistry and Bioindustries

Bachelor in Mathematics

Bachelor in Computer Science

Master [120] in Environmental Bioengineering

Master [120] in data Science: Statistic

Minor in Statistics and data sciences

Minor in Engineering Sciences: Computer Sciences

Minor in Computer Sciences

Additionnal module in Statistics and data science