Syllabus des cursus de Centrale Lille

Refresher in computer science

Libellé du cours : Refresher in computer science
Département d'enseignement : EEA / Electronique Electrotechnique Automatique
Responsable d'enseignement : Monsieur PIERRE-ANTOINE THOUVENIN / Monsieur PIERRE CHAINAIS
Langue d'enseignement :
Ects potentiels : 0
Grille des résultats :
Code et libellé (hp) : MR_DS_S3_RCS - Refresher in computer science

Equipe pédagogique

Enseignants : Monsieur PIERRE-ANTOINE THOUVENIN / Monsieur PIERRE CHAINAIS
Intervenants extérieurs (entreprise, recherche, enseignement secondaire) : divers enseignants vacataires

Résumé

Fundamentals of object oriented programming, with a strong focus on the Python programming language. This course emphasizes the theoretical fundamentals of object oriented programming with hands-on training for rapidly prototyping applications. The practicals will illustrate : ● the benefits of object oriented programming, ● the ability of Python to quickly translate ideas into code, ● the process of developing and scaling a proof-of-concept, and preparing for production. Some of the frameworks and tools we will utilize are : ● pyTest, cProfile, pycallgraph, Pylint, Travis, asyncio, zeroMQ, Docker, Flask.

Objectifs pédagogiques

After successfully taking this course, a student should: ● understand the notions of class and object, ● understand the concepts of encapsulation and inheritance, ● understand the most common design patterns used in object oriented programming, ● understand the principle of inversion-of-control through dependency injection, ● lay the groundwork for testing, analyzing and profiling software, ● learn to leverage continuous integration in the development process, ● learn to package and prepare an application for production, ● learn to scale applications through asynchronous parallelization, ● learn to quickly prototype applications with simple web frontends.

Objectifs de développement durable

Modalités de contrôle de connaissance

Contrôle Continu
Commentaires: Labs, grading scale: (min) 0 – 20 (max) Exam, grading scale: (min) 0 – 20 (max)

Ressources en ligne

Design Patterns: Elements of Reusable Object-Oriented Software. Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides. Python Programming: An Introduction to Computer Science. John Zelle. Clean Code: A Handbook of Agile Software Craftsmanship. Robert C. Martin Series. Flask Web Development: Developing Web Applications with Python. Miguel Grinberg. Continuous Delivery: Reliable Software Releases through Build, Test, and Deployment Automation. Jez Humble, David Farley.

Pédagogie

24 hours, 8 lectures 4 exercises Language of instruction is specified in the course offering information in the course and programme directory. English is the default language.

Séquencement / modalités d'apprentissage

Nombre d'heures en CM (Cours Magistraux) : 12
Nombre d'heures en TD (Travaux Dirigés) : 12
Nombre d'heures en TP (Travaux Pratiques) : 0
Nombre d'heures en Séminaire : 0
Nombre d'heures en Demi-séminaire : 0
Nombre d'heures élèves en TEA (Travail En Autonomie) : 0
Nombre d'heures élèves en TNE (Travail Non Encadré) : 0
Nombre d'heures en CB (Contrôle Bloqué) : 0
Nombre d'heures élèves en PER (Travail PERsonnel) : 0
Nombre d'heures en Heures Projets : 0

Pré-requis

Basics of programming in Python.

Nombre maximum d'inscrits

Remarques