First semester

Intermediate Computer Science

Objectives

This course complements the students’ knowledge of computer science, giving them a more global vision. The various topics covered will give students a better understanding of today’s computer science for their professional lives, while arming them for their computer science project, which will be carried out in parallel.
Apply basic software engineering concepts to create a functional, language-independent model of an application.
Explain how a client-server application works
Explain the principle of language injection
Determine the best data exchange format for a given case
Implement the tools needed to successfully complete an IT project

Course outline

The aim of this course is to provide students with additional computer science knowledge to enable them to move forward more serenely in the world of data science. Object-oriented programming concepts will be reviewed and deepened, and new concepts will be introduced.
Client-server communication, an essential part of today’s world, will also be covered. This will be an opportunity to demystify certain IT terms, as well as to introduce the http protocol, and IT security concepts such as language injections, with the example of SQL injection.
An analysis of the different data exchange formats will be carried out in this course, contrasting tabular data (csv, relational database) and non-tabular data (json, XML, HTML), as well as the means of processing each of these data formats.
Students will also be provided with elements of computer literacy to develop their general knowledge in the field.

Prerequisites

Object-oriented programming – introductory level, Python and SQL – intermediate level