Un cours pour découvrir les fonctionnalités principales de caseine et comprendre les modalités pour rejoindre la plateforme pour les étudiants et pour les enseignants.

Collection d'environnements de programmation disponibles dans Caseine en accès libre pour faire ce que vous voulez :

  • un brouillon
  • un bloc-note
  • un test
  • un essai

Faites-vous plaisir !
Par ordre alphabétique, les premiers : ARM - C - Erlang - Java - Logisim - OCaml - Prolog - Python - R - Shell - ...?

Les cours d'informatique de Unisciel sur Socle3 réalisés à l'occasion du projet HILISIT.

Socle3 regroupe un ensemble de modules de formation reprenant la structure d'un cours habituel de licence de sciences : cours, exercice, évaluation.

Chaque module en lien avec une unité d'enseignement (UE) propose un enseignement structuré et scénarisé à partir des ressources Unisciel existantes. Le parcours pédagogique est construit à l'aide de scénarios pré-établis par des enseignants.

Tous ces cours sont accessibles intégralement en auto-évaluation à quiconque pouvant se connecter à Caseine ou à Socle3.

  • Programmation Orientée Objet - Java
  • Python
  • C++
  • Mathématiques pour l'informatique
  • Réseaux
  • Bases de données

Pour bénéficier pleinement d'un cours et notamment des exercices auto-évalués, il faut encore s'auto-inscrire.

Si vous êtes enseignant intéressé par l'un de ces cours, vous pouvez demander sa duplication dont vous deviendrez le gestionnaire. Pour cela, adressez vous au contact du cours concerné.

À la fin de ce cours, vous serez capable de :

  • Créer une base de données
  • Créer et modifier des tables
  • Insérer, modifier, supprimer et sélectionner des données dans la base
  • Réaliser une requête portant sur plusieurs tables avec les jointures

  • Cours
  • Auteur : Aurélie Lagoutte, Université Clermont Auvergne et al.
  • Public : étudiants de niveau L1 (éventuellement début d’IUT ou lycéens en spécialité ISN),
  • Prérequis : aucun
  • Type de contenu : Notes de cours, Exercices, Banque de question, VPL Python
  • Objectif : Initiation à la programmation (Python)
Ce cours propose une introduction à la programmation en Python et s'adresse à un public débutant en algorithmique et en programmation. Il n'y a aucun pré-requis.

Python est un langage à la syntaxe relativement simple qui permet d'acquérir les bases de l'algorithmique de manière plus aisée que d'autres langages de programmation qui nécessitent la maîtrise de mécanisme bas-niveaux, tels que le C.

Compétences visées:

  • Comprendre les bases de l'algorithmique (Instruction conditionnelle, boucles, ....)
  • Savoir structurer son code grâce aux fonctions
  • Acquérir les bonnes pratiques de programmation: lisibilité du code, commentaires....
  • Savoir écrire un programme Python pour résoudre un problème, en particulier le traitement de données numériques ou textuelles

Concepts abordés:

  • Vocabulaire de base: variables, instructions, ...
  • Interactions d'un programme avec l'utilisateur (Entrée/Sortie)
  • Instruction conditionnelle (If ... else)
  • Instructions de boucles (For, while)
  • Fonctions
  • Structures de données : listes et dictionnaire
  • Lecture et écriture dans un fichier

Open Catalog for main Design Patterns - Java Implementation

Niveau avancé

  • Cours
  • Auteur : Aurélie Lagoutte, Université Clermont Auvergne
  • Public : étudiants de niveau L1 (éventuellement début d’IUT ou lycéens en spécialité ISN),
  • Prérequis : aucun
  • Type de contenu : Notes de cours et Banque de question
  • Objectif: codage machine des nombres, logique booléenne
L’objectif de ce cours est de comprendre le codage machine des nombres et les bases de la logique booléenne. Il est destiné à des étudiants de niveau L1 (éventuellement début d'IUT ou lycéens en spécialité ISN), débutant en Informatique. Il couvre les sujets suivants:

• Représentations des entiers en binaire (non-signé, valeur absolue signée, complément à 1, complément à 2), opérations arithmétiques
• Représentation des flottants selon la norme IEEE754, opérations arithmétiques
• Utilisation d'une table ASCII
• Codes correcteurs d'erreur: bits de parité et Codes de Hamming
• Bases de la logique booléenne (fonction logique, tableau de Karnaugh, circuit logique combinatoire)

Les notes de cours sont complétées par des quizz à correction automatique permettant de s'entraîner aux différents encodages et aux différentes compétences visées. Certaines questions des quizz sont guidées pour aider les étudiants à acquérir le raisonnement à mener face à telle ou telle question. Les valeurs numériques utilisées dans les questions changent à chaque tentative, ce qui permet de pouvoir s'entraîner à l'infini !

Pré-requis :

  • Bases de l'algorithmique : variables & types, instruction conditionnelle (Si), boucle (Pour et Tant que), tableaux (ou listes au sens Python)
  • (recommandé mais pas strictement nécessaire) implémentation en C ou en Python des bases de l'algorithmiques mentionnées ci-dessus

Objectifs :

  • Savoir analyser un algorithme : complexité temporelle, preuve de correction, preuve de terminaison
  • Maîtriser plusieurs structures de données : avantages et inconvénients de chacun, savoir les manipuler
  • Maîtriser les algorithmes classiques de parcours et de tri

Contenu/Plan du cours :

  • Rappels des notations de pseudo-code
  • Complexité temporelle
  • (Introduction aux) Preuves d'algorithme : correction, terminaison
  • Récursivité
  • Structure de données liste chaînée :
    • Variantes : simplement chaînée, doublement chaînée, doublement chaînée circulaire
    • Comparaison de complexité avec les tableaux pour les opérations usuelles.
  • Structures de données pile et file
  • Arbre binaire (enraciné).
    • Vocabulaire, opérations simples
    • Parcours (en largeur, en profondeur, préfixe, infixe, suffixe)
    • Introduction aux Arbres Binaire de Recherche : recherche et insertion simple (sans rotation)
  • Algorithmes classiques de tri : par insertion, par sélection, rapide, fusion

La Recherche Opérationnelle propose des méthodes scientifiques pour aider à la prise de meilleures décisions. L’idée est de développer et d’utiliser des outils mathématiques et informatiques pour maîtriser les problèmes complexes. Les applications pratiques sont historiquement dans la direction et la gestion de grands systèmes d’hommes, de machines et de matériaux dans l’industrie, le service, l’humanitaire, l’environnement...

A l'issue de ce cours, les étudiants seront aptes à proposer une modélisation et sauront mettre en oeuvre des solutions pratiques (outils dédiés ou industriels) pour traiter un problème  de décision ou d'optimisation.

Compétences

  • Reconnaître une situation où la Recherche Opérationnelle est pertinente.
  • Appréhender les principaux outils de la recherche opérationnelle.
  • Disposer des éléments méthodologiques pour choisir, face à un problème pratique, les méthodes de résolution et les outils les plus adaptés.
  • Savoir manipuler les outils informatiques pour résoudre un problème d'optimisation discrète.

Le cours couvre les thèmes suivants:

  • Programmation linéaire (modélisation, résolution, dualité)
  • Programmation linéaire en nombres entiers (techniques de modélisation, résolution avec Branch and Bound)
  • Programmation dynamique
  • Théorie des graphes
  • Bonus (énigmes, ailleurs sur le web, nouvelles de la RO)

Auteur : Nicolas Szafran

Contact : Nicolas Szafran

Public : étudiants de niveau L1

Prérequis : programme de mathématiques de terminale S

Type de contenu : documents de cours, fiche d'exercices et tests en auto-évaluation

Objectif et compétences visées : approfondir les notions élémentaires d'analyse vues au lycée :

  1. Fonctions usuelles, limites et continuité
  2. Dérivées
  3. Intégrales et primitives
  4. Equations aux dérivées partielles

Auteurs : Lydie du Bousquet, Yves Ledru, Christophe Saint-Marcel, Ioannis Parissis
Public : étudiants en licence ou en master
Prérequis : connaissance en Java
Type de contenu : Exercices d'application de méthodes de test unitaire
Objectif : maîtrise de méthodes de test