Vous êtes sur la page 1sur 12

CSC4102 : À propos des

soutenances individuelles
Revision : 4682

Denis Conan
Mars 2021
Sommaire

1. Agenda
2. Organisation
3. Sujets
4. Exemples de questions de niveau 1
5. Exemples de questions de niveau 2
6. Exemples de questions de niveau 3

2/12 01/2021 Denis Conan CSC4102 : À propos des soutenances individuelles


1 Agenda

 Agenda : mercredi matin 7 avril, jeudi 8 avril, et vendredi matin 9 avril

• Cf. planification accessible depuis la page d’accueil du site Web du module


• Organisation > Planification des soutenances
http://www-inf.telecom-sudparis.eu/COURS/CSC4102/?page=planification_soutenances_
individuelles

 Les soutenances sont individuelles

 Chaque étudiant se présente un quart d’heure avant l’heure indiquée

 Les retards ne peuvent pas être permis et tout retard est pris sur le
décompte de la soutenance

3/12 01/2021 Denis Conan CSC4102 : À propos des soutenances individuelles


2 Organisation I

 Les soutenances s’effectuent à distance sur BBB

 Chaque soutenance dure 10 minutes dans des créneaux de 15 minutes

• Les soutenances sont donc cadencées de quart d’heure en quart d’heure


 Vous vous connectez 15 minutes avant votre heure de passage dans la salle
principale avec micro et caméra
• Ceux d’entre vous qui n’auraient ni micro ni caméra se manifestent à la
scolarité

 Vous êtes accueilli par un membre de l’équipe enseignante, qui vérifie votre
identité avec votre carte étudiante

4/12 01/2021 Denis Conan CSC4102 : À propos des soutenances individuelles


2 Organisation II

 Chaque jury est dans un salon privé

• En tant qu’étudiant, vous ne pourrez pas rejoindre un salon privé par


vous-même

 Les membres du jury sont avec caméra et micro

 Un membre du jury partage son écran

 À l’heure de la soutenance, vous êtes déplacé dans le salon privé du jury

 Vous vous connectez avec micro et caméra (recommandée) au salon privé

 En cas de problèmes de connexion empêchant les 10 minutes de soutenance,


la mini-soutenance est reprogrammée
• Soit à la fin du créneau de 3h soit à une date ultérieure
• Nous ferons au mieux des contraintes de chacun et chacune)

5/12 01/2021 Denis Conan CSC4102 : À propos des soutenances individuelles


3 Sujets
 Les sujets comportent 5 questions à traiter dans l’ordre :
• 2 questions de niveau 1
• 2 questions de niveau 2
− Dont la seconde est construite à partir de votre solution à l’étude de cas
(version extraite lors du rendu du Sprint 2)
• Dans cette question, nous n’évaluons pas votre solution à l’étude de cas,
mais l’explicitation de la démarche et la capacité à défendre votre
solution
• 1 question de niveau 3
 La note est soit dans l’intervalle [5..10], soit 0
• Les 3 premières questions constituent 5 points,
• La quatrième 3 points, et
• La dernière 2 points.
 Les questions sont présentées et traitées par ordre de niveau
 Une question abandonnée ne peut pas être reprise ensuite

6/12 01/2021 Denis Conan CSC4102 : À propos des soutenances individuelles


4 Exemples de questions de niveau 1

 Expliquez le rôle de la spécification dans le développement d’un logiciel et


indiquez ce que l’on a fait dans le module dans cette activité
 Indiquez, en argumentant votre réponse, si un message dans un diagramme
de séquence est la plupart du temps traduit en une opération privée
 Expliquez le concept de classe abstraite et donnez un exemple (qui peut
s’inspirer de votre solution à l’étude de cas)

7/12 01/2021 Denis Conan CSC4102 : À propos des soutenances individuelles


5 Exemples de questions de niveau 2 I

 Pour les besoins de la conception détaillée, traduisez en deux associations la


classe d’association du diagramme ci-dessous, en argumentant votre réponse

* 1
Enfant Éducateur

Suivi
contenu
date

• A priori, vous utilisez les notes partagées pour écrire votre réponse

8/12 01/2021 Denis Conan CSC4102 : À propos des soutenances individuelles


5 Exemples de questions de niveau 2 II
 Expliquez le choix des visibilités montrées dans le diagramme de classes qui
suit

Document
− code: String
− titre: String
− auteur: String

# constructeur(String code...)

Audio Vidéo
− classification: String − duréeFilm: Integer
+ constructeur(String code...) + constructeur(String code...)

Livre
− nombrePage: Integer

+ constructeur(String code...)

9/12 01/2021 Denis Conan CSC4102 : À propos des soutenances individuelles


5 Exemples de questions de niveau 2 III
 En considérant que le code qui suit compile sans erreur, lisez et commentez
le code JAVA des lignes qui suivent :
1 public class Copropriete {
2 private String nom , adresse ;
3 private Integer tantieme ;
4 public Copropriete ( final String nom , final String adresse ,
5 final Integer tantieme ) {
6 if ( nom == null || nom . equals ( " " ) ) {
7 throw new I l l e g a l A r g u m e n t E x c e p t i o n ( " nom ␣ non ␣ valide ␣ ( " + nom + " ) " ) ;
}
8 // ...
9 this . nom = nom ; this . adresse = adresse ; this . tantieme = tantieme ;
10 assert invariant () ; }
11 @Override
12 public int hashCode () { // ...
13 @Override
14 public boolean equals ( Object obj ) { // ...
15 @Override
16 public String toString () { // ...
17 public String getNom () { return nom ; }
18 public boolean invariant () {
19 return nom != null && ! nom . equals ( " " ) && adresse != null
20 && ! adresse . equals ( " " ) && tantieme > 0; } }

10/12 01/2021 Denis Conan CSC4102 : À propos des soutenances individuelles


5 Exemples de questions de niveau 2 IV

 En considérant que le code qui suit compile sans erreur, lisez et commentez
le code JAVA des lignes qui suivent :
1 public class T es t Co p ro p riete {
2 Copropriete c ;
3 @Before
4 public void setUp () { c = new Copropriete ( " Un " ," ici " ,100) ;}
5 @After
6 public void tearDown () { c = null ;}
7 @Test ( expected = I l l e g a l A r g u m e n t E x c e p t i o n . class )
8 public void t e s t C o n s t r u c t e u r 1 J e u 1 () { new Copropriete ( null , " ici " ,100) ; }
9 @Test ( expected = I l l e g a l A r g u m e n t E x c e p t i o n . class )
10 public void t e s t C o n s t r u c t e u r 1 J e u 2 () { new Copropriete ( " " ," ici " ,100) ; }
11 @Test ( expected = I l l e g a l A r g u m e n t E x c e p t i o n . class )
12 public void t e s t C o n s t r u c t e u r 2 J e u 1 () { new Copropriete ( " Un " , null ,100) ; }
13 @Test ( expected = I l l e g a l A r g u m e n t E x c e p t i o n . class )
14 public void t e s t C o n s t r u c t e u r 2 J e u 2 () { new Copropriete ( " Un " ," " ,100) ; }
15 @Test ( expected = I l l e g a l A r g u m e n t E x c e p t i o n . class )
16 public void t e s t C o n s t ruc te ur3 () { new Copropriete ( " Un " ," ici " ,0) ; }
17 @Test
18 public void t e s t C o n s t ruc te ur4 () { Assert . assertTrue ( c . invariant () ) ; } }

11/12 01/2021 Denis Conan CSC4102 : À propos des soutenances individuelles


6 Exemples de questions de niveau 3
 En considérant que le code qui suit compile sans erreur, expliquez le résultat
de l’exécution
1 public final class NomPrenom {
2 private String nom , prenom ;
3 public NomPrenom ( final String n , final String p ) { this . nom = n ; this . prenom
= p ;}
4 @Override public boolean equals ( final Object obj ) { // ...
5 if ( obj == null ) { return false ; }
6 if ( this == obj ) { return true ; }
7 if (!( obj i n s t a n c e o f NomPrenom ) ) { return false ; }
8 NomPrenom hc = ( NomPrenom ) obj ;
9 return ( nom . equals ( hc . nom ) && prenom . equals ( hc . prenom ) ) ; }
10 }

1 Chercheur a = new Chercheur ( " nom " , " prenom " , " adresse " ) ;
2 NomPrenom b = new NomPrenom ( " nom " ," prenom " ) , c = new NomPrenom ( " nom " ," prenom
");
3 Map < NomPrenom , Chercheur > d = new HashMap < NomPrenom , Chercheur >() ; d . put
(c , a ) ;
4 System . out . print ( b . hashCode () + " ,␣ " + c . hashCode () + " ,␣ " + d . get ( c ) .
equals ( d . get ( b ) ) ) ;

Résultat de l’exécution : 366712642, 1829164700, false

12/12 01/2021 Denis Conan CSC4102 : À propos des soutenances individuelles

Vous aimerez peut-être aussi