Unité pédagogique

Socle technique de l'informatique

Derniere édition le: 22/02/2024

Modifier

Responsable:

SERPAGGI Xavier LEFRANCOIS Maxime

Description générale :

This course is given in English as it corresponds to a Teaching Unit of the International MSc on Cyber Physical and Social Systems (CPS2): AI and IoT

Part 1: Everything from the Command Line

The command line interface is an essential tool for computer developers, both for its wealth of available tools and for its ability to increase productivity through the development of ad-hoc scripts.

Each of the other courses in the Computer Science Major makes use of the Shell command line interface, now available on all major operating systems.

The objective of the "Everything on the Command Line" part of this course is for students to master the fundamental concepts of the Shell command line, and to become comfortable with the command line interface for computer development projects.

The following concepts will be covered: 

  • the file system and working with it,
  • text editing and processing,
  • input/output streams and command chaining,
  • process management
  • basic scripting.

Part 2: Technological Foundation of Software Development

The second part of this course aims to discover the tools and methods that are essential to know in any modern software development project.

Students will discover:

  • Concepts involved throughout the development and implementation of software systems
  • Modern tools and methods adapted to the development and implementation of software systems

    The course consists of eight independent parts:

    1. Master your working environment
    2. Manage your source code
    3. Master your development environment and software dependencies
    4. Automate code production
    5. Debug, log, test, profile, analyse your software
    6. Document, license, publish, maintain your software
    7. Run your software anywhere with Docker
    8. Integrate and deploy your software continuously

    Mots-clés:

    Programmation shell commandes Unix

    Nombre d’heures à l’emploi du temps:

    38

    Domaine(s) ou champs disciplinaires:

    Informatique, Systèmes d'information

    Langue d’enseignement:

    Anglais

    Objectifs d’apprentissage:

    A la fin de l’unité pédagogique, l’élève sera capable de : Niveau de taxonomie Priorité
    Concepts fondamentaux de l'interface en ligne de commande Shell 1. Connaître Essentiel
    Maîtriser son environnement de développement en ligne de commande Shell 2. Comprendre Important
    Connaître les principales fonctions et commandes Unix 3. Appliquer Essentiel
    Écrire des programmes simples en ligne de commande Shell 7. Créer Important

    Modalités d’évaluation des apprentissages:

    Part de l'évaluation individuelle Part de l'évaluation collective
    Examen sur table : % Livrable(s) de projet : %
    Examen oral individuel : % Exposé collectif : %
    Exposé individuel : % Exercice pratique collectif : %
    Exercice pratique individuel : % Rapport collectif : 50 %
    Rapport individuel : 50 %
    Autre(s) : %

    Programme et contenus:

    Type d’activité pédagogique : Contenu, séquencement et organisation
    Everything from the Command Line

    Lectures: Principle of Unix command processing (standard input and output, streams, command arguments, files, command interpreter) Overview of Unix commands.

    Practical Work: Use Unix commands to process streaming files. Simple shell programs

    Technological Foundation of Software Development

    Eight lectures, each having a set of todos that the students must submit individually.