Algo & Prog avec R
Université Côte d’Azur

Table des matières

Intervenants

  • Arnaud Malapert (responsable), Giulia Rocco, Oussama Sabri.

Introduction

L’intelligence ce n’est pas ce que l’on sait, mais ce que l’on fait quand on ne sait pas.

Jean Piaget , Six études de psychologie.

Ce cours est une initiation à l’algorithmique et à la programmation dans le langage R. R est un logiciel libre1 (Projet GNU) pour la manipulation de données, le calcul numérique, les statistiques, le graphisme … R propose aussi une large palette de techniques avancés : modèles linéaires et non-linéaires ; tests statistiques ; analyse de séries temporelles ; classification ; partitionnement. R peut être étendu par les utilisateurs et de nombreuses extensions sont disponibles sur cran.

En tant que scientifique, vous appliquerez des techniques dans votre cursus, puis dans votre métier, qui exigent la maîtrise des concepts fondamentaux en algorithmique et programmation.
En tant qu’être humain, vous utilisez déjà quotidiennement des systèmes informatiques sans nécessairement les comprendre.

Ce cours vous aidera à mieux appréhender les logiques et limites des systèmes informatiques ce qui fera de vous un meilleur utilisateur, et peut-être un programmeur ;)
Ce cours est inspiré du cours de Python de Jean-Paul Roy et Bruno Martin que je remercie pour le partage.

phd051013s.gif

Calendrier

Semainier

Agenda

Salles

Toutes les salles sont au 2ème et 3ème étage du Petit Valrose.

09h15-12h00 13h15-16h00 
Groupe 1317 (AM)Groupe 4215 (AM)
Groupe 2316 (GR)Groupe 5215 (AM)
Groupe 3315 (OS)  

Contenu

Organisation

  1. Le matériel pédagogique est ici,
  2. Les évaluations et le carnet de notes sont sur Moodle et Sphere Engine,
  3. Le code source est sur github !
  4. On communique sur discord.
Inscrivez-vous au cours sur moodle !

Autoformation

La partie sur la représentation des nombres et les conversions de base est partiellement en autoformation. Les seuls pré-requis sont de savoir additionner, multiplier par 2, et diviser par 2.

Un cours magistral est prévu. Mais les séances de travaux dirigés sont des questionnaires moodle accessibles en distanciel pendant tout le semestre. L’autoformation est importante. Elle est au programme du contrôle continu et de l’examen et vous aidera aussi pour les travaux pratiques.

Carte de référence

Nous vous avons préparé une superbe carte de référence en couleurs. Ce sera le seul document autorisé pendant les épreuves écrites. Apprenez à vous en servir !

Activités

Choisissez votre binôme sur moodle pour toutes vos activités ! Les activités sont évaluées pour le contrôle continu, mais ne sont pas au programme de l’examen. Les corrigés des activités ne sont pas publiés.

Les activités ont différents niveaux de difficultés. Nous ne pouvons pas vraiment prédire combien de temps il vous faudra pour terminer une activité. Choisissez judicieusement et n’hésitez pas à demander des conseils.

Quelques séances sont prévues pour les activités, mais l’essentiel du travail aura lieu en distanciel. N’hésitez pas à demander de l’aide pour choisir et réaliser les activités.

Nous vous demandons de respecter le code de conduite suivant pour les activités :

  1. Citer vos sources
  2. Le partage de code est interdit sauf avec votre binôme.

Exercices UCAnCODE

Les exercices UCAnCODE sont sur Sphere Engine. Les notes sont attribuées par le juge automatique. Les exercices UCAnCODE seront introduits en cours et pendant les travaux pratiques.

Vous pouvez aussi suivre en autonomie le Tutoriel UCAnCODE si vous avez déjà des notions d’informatique ou de programmation. Ne paniquez pas si cela vous semble difficile au début.

Attention, entrez votre adresse étudiante @etu.univ-cotedazur.fr dans le formulaire d’accueil. Sinon, votre note ne sera pas comptabilisée.

ProblèmeBarème
Tutoriel UCAnCODE-
ROULETTEBonus
ARITHMA14
INET16

L’activité INET est composé de 3 exercices chacun évalué par deux widgets avec les barèmes suivants :

  • INET1 1A et 1B : 3 + 3 = 6
  • INET2 2A et 2B : 3 + 3 = 6
  • INET3 3A et 3B : 2 + 2 = 4

Mini-projets

Les mini-projets complètent et étendent des notions abordées en cours et vous font découvrir différentes applications. Vous devez déposer le projet sur moodle (un seul fichier de code source commenté) et faire une démonstration du projet pendant les travaux pratiques. Le barème indique la note maximale possible pour une activité.

#.ActivitéCoursNiveauBarème
1.Graphisme tortueA1Tout niveau20
2.Graphisme tortue 3DA2Difficile20
3.Convertisseur de base (shiny)A3Facile12
4.Coefficient de Gini (shiny)A3Facile12
5.Estimation de la moyenne (shiny)A3Facile12
6.Manipulation de polynômesA4Difficile20
7.Estimation d’aires par la méthode de Monte CarloA5Difficile20

Bug bounty

Toutes les contributions significatives au cours sont valables, par exemple :

  • Correction de fautes d’orthographe.
  • Correction ou amélioration des codes du cours ou des corrigés.
  • Proposition d’exercices venant d’autres disciplines (biologie, économie, gestion …)

Pour soumettre une contribution, vous devez

  • rendre un devoir à l’activité Bug Bounty sur moodle, ou
  • poster une issue sur github.

La note sera intégrée comme un bonus sur la note finale.

Contrôle des connaissances

Le contrôle des connaissances comprend plusieurs épreuves écrites. Les épreuves écrites ont des durées différentes, mais suivent les mêmes modalités d’organisation :

  • Le programme comprend l’autoformation et le cours, mais pas les activités.
  • Il n’y a pas de question de cours.
  • Le seul document autorisé est la carte de référence.

Une épreuve écrite est structurée en trois parties :

  • les conversions de base (c.f. QCM moodle) ;
  • les lectures de code (c.f. QCM moodle) ;
  • des exercices de programmation dérivés des travaux pratiques du cours, mais pas des activités.

Le barème des trois parties somme toujours à 23, mais nous conserverons votre note sur 20.

Contrôle continu

La note de contrôle continu est la moyenne :

  • de la note de partiel, une épreuve écrite de 1h (barème indicatif - 6pts / 7pts / 10pts);
  • et des 2 meilleures notes obtenues aux activités.

Examen terminal

L’examen terminal est une épreuve écrite de 3h (barème indicatif - 3pts / 4pts / 16pts).

Note finale

  • Soit \(N_c\) votre note de contrôle continu,
  • et \(N_t\) votre note à l’examen terminal.
  • La note finale est calculée ainsi : \(N_1 = \max(0.6 \times N_c + 0.4 \times N_t, N_t)\).

Seconde chance

La seconde chance est une épreuve écrite similaire à l’examen.

  • Soit \(N_1\) votre note finale (première session),
  • et \(N_{sc}\) votre note à l’examen de seconde chance.
  • La note de seconde chance est calculée ainsi : \(N_2 = \max(N_1, N_{sc})\).

Communication

Notre mode de communication de prédilection sont les salons du cours sur le serveur discord de la Licence Informatique. Utilisez le courriel seulement pour les communications importantes ou officielles.

Ressources électroniques

Ressources BU

E-learning

phd031714s.gif

Notes de bas de page:

1

Un logiciel libre est un logiciel dont l’utilisation, l’étude, la modification et la duplication par autrui en vue de sa diffusion sont permises, techniquement et légalement, ceci afin de garantir certaines libertés induites, dont le contrôle du programme par l’utilisateur et la possibilité de partage entre individus.

Created: 2020-12-14 lun. 11:21