Passer au contenu

GAC017 Informatique III : Science des données et applications web

GAC Informatique · Sujet 3

Entrainer
3.1

Ce que ce module est, et comment il est évalué

GAC017 est le module de niveau III en informatique : ce qui se trouve derrière un site web. Six unités couvrent le back-end JavaScript, les bases de données, SQL, la connexion entre les deux, et une première approche de la data science.

L'évaluation est entièrement pratique — une database 数据库 que vous concevez et construisez, une web app 网络应用 qui communique avec elle, un data analysis project 数据分析项目, et du coursework — généralement réparti sur la majeure partie du semestre plutôt qu'accumulé à la fin.

  • Le travail est jugé selon s'il fonctionne et répond à une question, pas selon la quantité de code.
  • ⚠ Conceptionnez la base de données avant d'écrire une requête. Presque tous les problèmes ultérieurs sont des problèmes de table déguisés en requêtes.

Chaque exemple SQL ici fonctionne dans le playground de code du site, et la référence SQL là-bas est la version complète de ces notes.

Vocabulaire Entrainer
Anglais Chinois Pinyin
database/ˈdeɪtəbeɪs/ 数据库 shù jù kù
web app/web æp/ 网络应用 wǎng luò yìng yòng
data analysis project/ˈdeɪtə əˈnæləsɪs ˈprɒdʒekt/ 数据分析项目 shù jù fēn xī xiàng mù
3.1

JavaScript for a web app's back end

Programme

Unité 1 sur 6 dans GAC017 Informatique III : Data Science et Applications Web (Niveau III). Le module est dispensé sur environ 40 heures de cours plus 20 heures d'étude autonome, et est évalué au centre d'enseignement et moderé par ACT — il n'y a pas d'examen externe.

Objectif du module : À l'issue de ce module, les étudiants devraient être capables de créer une application web. Les étudiants apprendront la programmation back-end et comment créer un site web dynamique. Ils seront capables d'utiliser SQL pour analyser des données provenant de plusieurs tables afin de prendre des décisions éclairées.

Les objectifs de module auxquels cette unité contribue :

Objectif d'apprentissage GAC017.1 : Comprendre les composants de base d'une Application Web.

Source : Programme Cambridge International

  • Le front end 前端 s'exécute dans le navigateur ; le back end 后端 s'exécute sur un serveur et détient ce que le navigateur ne doit pas voir.
  • Un server 服务器 reçoit une request 请求 et retourne une response 响应. Cette boucle est l' architecture entière.
  • Une API 应用程序接口 est la forme convenue de ces requêtes et réponses.
  • ⚠ Tout secret — mot de passe, clé — appartient uniquement au back end. Le code dans un navigateur est visible par tous ceux qui visitent.
Vocabulaire Entrainer
Anglais Chinois Pinyin
front end/frʌnt end/ 前端 qián duān
back end/bæk end/ 后端 hòu duān
server/ˈsɜːvə/ 服务器 fú wù qì
request/rɪˈkwest/ 请求 qǐng qiú
response/rɪˈspɒns/ 响应 xiǎng yìng
API/ˌeɪ piː ˈaɪ/ 应用程序接口 yìng yòng chéng xù jiē kǒu
3.2

Programmation back-end

Programme

Unité 2 sur 6 dans GAC017 Informatique III : Data Science et Applications Web (Niveau III). Le module est dispensé sur environ 40 heures de cours plus 20 heures d'étude autonome, et est évalué au centre d'enseignement et moderé par ACT — il n'y a pas d'examen externe.

Les objectifs de module auxquels cette unité contribue :

Objectif d'apprentissage GAC017.2 : Adapter une application back-end en utilisant des langages de script pour interagir avec des bases de données.

Source : Programme Cambridge International

  • Un route 路由 mappe une URL à du code qui s'exécute lorsque cette URL est demandée.
  • Validate input 校验输入 sur le serveur. Vérifier dans le navigateur est une commodité pour les utilisateurs honnêtes, mais pas une défense.
  • Ne jamais construire une requête en concaténant des chaînes avec des entrées utilisateur. C'est ainsi que l'injection SQL SQL 注入 se produit, et c'est l'échec de sécurité que cette unité existe pour prévenir.
  • Retournez un statut honnête : 200 pour succès, 400 pour mauvaise requête, 404 pour quelque chose qui n'existe pas.
Vocabulaire Entrainer
Anglais Chinois Pinyin
route/ruːt/ 路由 lù yóu
Validate input/ˈvælɪdeɪt ˈɪnpʊt/ 校验输入 jiào yàn shū rù
SQL injection/ˌes kjuː ˈel ɪnˈdʒekʃn/ SQL 注入 SQL zhù rù
relational database/rɪˈleɪʃənl ˈdeɪtəbeɪs/ 关系数据库 guān xì shù jù kù
SQL/ˌes kjuː ˈel/ 结构化查询语言 jié gòu huà chá xún yǔ yán
3.3

Introduction to databases

Programme

Unité 3 sur 6 dans GAC017 Informatique III : Data Science et Applications Web (Niveau III). Le module est dispensé sur environ 40 heures de cours plus 20 heures d'étude autonome, et est évalué au centre d'enseignement et moderé par ACT — il n'y a pas d'examen externe.

Les objectifs de module auxquels cette unité contribue :

Objectif d'apprentissage GAC017.3 : Créer une base de données avec plusieurs tables.

Source : Programme Cambridge International

  • Une base de données relationnelle 关系数据库 stocke les données dans des tables 表 de lignes et de colonnes.
  • Une primary key 主键 identifie une ligne de manière unique. Une foreign key 外键 pointe vers une autre clé primaire de table, et ce pointeur est la relation.
  • La Normalisation 规范化 élimine les données dupliquées pour qu'une seule information vive à un endroit.
  • Concevez en demandant quelles sont les entities 实体, puis ce qui les relie.

Exemple résolu. Une école veut stocker les étudiants, les cours et qui prend quoi.

Deux tables ne suffisent pas : un étudiant suit plusieurs cours et un cours a plusieurs étudiants. Le beaucoup-vers-beaucoup nécessite une troisième table — inscriptions — dont les lignes sont des paires (étudiant, cours).

Reconnaître que cette troisième table est nécessaire est l'idée de base de données la plus utile dans le module, et c'est là que la plupart des premières conceptions échouent.

Vocabulaire Entrainer
Anglais Chinois Pinyin
tables/ˈteɪblz/ 表 biǎo
primary key/ˈpraɪməri kiː/ 主键 zhǔ jiàn
foreign key/ˈfɒrən kiː/ 外键 wài jiàn
Normalisation/ˌnɔːməlaɪˈzeɪʃn/ 规范化 guī fàn huà
entities/ˈentɪtiz/ 实体 shí tǐ
3.4

SQL for back-end programming

Programme

Unité 4 sur 6 dans GAC017 Informatique III : Data Science et Applications Web (Niveau III). Le module est dispensé sur environ 40 heures de cours plus 20 heures d'étude autonome, et est évalué au centre d'enseignement et moderé par ACT — il n'y a pas d'examen externe.

Les objectifs de module auxquels cette unité contribue :

Objectif d'apprentissage GAC017.4 : Analyser des données en utilisant SQL afin de prendre des décisions.

Source : Programme Cambridge International

  • SQL 结构化查询语言 pose des questions à une base de données. SELECT … FROM … WHERE … est le cœur.
  • JOIN 连接 combine des lignes de deux tables sur une clé correspondante.
  • GROUP BY 分组 avec COUNT, SUM ou AVG répond aux questions "combien par…".
  • ⚠ WHERE filtre les lignes avant le groupement ; HAVING filtre les groupes après. Utiliser le mauvais est l'erreur SQL classique, et cela retourne souvent une réponse plausible mais fausse.

Exemple résolu. Quels cours ont plus de 20 étudiants ?

SELECT c.title, COUNT(*) AS students
FROM enrolments e
JOIN courses c ON c.id = e.course_id
GROUP BY c.title
HAVING COUNT(*) > 20;

Le comptage est une propriété du groupe, donc le filtre est HAVING. Écrit avec WHERE il ne s'exécute pas — et quand une erreur similaire s'exécute, elle répond silencieusement à une question différente. exécuter — et quand une erreur similaire se produit, elle répond silencieusement à une question différente.

Vocabulaire Entrainer
Anglais Chinois Pinyin
JOIN/dʒɔɪn/ 连接 lián jiē
GROUP BY/ɡruːp baɪ/ 分组 fēn zǔ
parameterised query/ˌpærəˈmetəraɪzd ˈkwɪərɪ/ 参数化查询 cān shù huà chá xún
3.5

Lier JavaScript avec SQL

Programme

Unité 5 sur 6 dans GAC017 Informatique III : Data Science et applications Web (Niveau III). Le module est dispensé sur environ 40 heures de cours plus 20 heures d'étude autonome, et il est évalué au centre d'enseignement et moderé par ACT — il n'y a pas d'examen externe.

Les objectifs de module auxquels cette unité contribue :

Objectif d'apprentissage GAC017.2 : Adapter une application back-end en utilisant des langages de script pour interagir avec des bases de données.

Objectif d'apprentissage GAC017.4 : Analyser des données en utilisant SQL afin de prendre des décisions.

Source : Programme Cambridge International

  • Le back-end接收请求,执行参数化查询 参数化查询,并将行作为 数据返回,通常是JSON 数据交换格式。
  • 参数化意味着值与查询文本分开传输。这就是使 注入不可能而不是不太可能的原因。
  • 处理空的情况。返回零行的查询是正常的,而因此崩溃的页面是 不完整的。
Vocabulaire Entrainer
Anglais Chinois Pinyin
JSON/ˈdʒeɪsn/ 数据交换格式 shù jù jiāo huàn gé shì
3.6

Data science

Programme

Unité 6 sur 6 dans GAC017 Informatique III : Data Science et applications Web (Niveau III). Le module est dispensé sur environ 40 heures de cours plus 20 heures d'étude autonome, et il est évalué au centre d'enseignement et moderé par ACT — il n'y a pas d'examen externe.

Les objectifs de module auxquels cette unité contribue :

Objectif d'apprentissage GAC017.5 : Appliquer la Data Science à d'autres domaines académiques.

Source : Programme Cambridge International

  • Data science 数据科学将数据转化为决策,大部分工作都在 分析之前:清理、关联和检查数据能支持什么。
  • Descriptive statistics 描述性统计进行总结;visualisation 可视化显示形状;两者都 不能证明因果关系。
  • Correlation is not causation 相关不等于因果 — 每个数据项目都需要这句话,而大多数 省略了它。
  • 陈述数据集的limitations。一个明确说明其数据无法展示内容的项目比一个默默夸大其词的项目得分更高。 scores au-dessus de un qui surendiment discrètement.
Vocabulaire Entrainer
Anglais Chinois Pinyin
Data science/ˈdeɪtə ˈsaɪəns/ 数据科学 shù jù kē xué
Descriptive statistics/dɪˈskrɪptɪv stəˈtɪstɪks/ 描述性统计 miáo shù xìng tǒng jì
visualisation/ˌvɪʒuːəlaɪˈzeɪʃn/ 可视化 kě shì huà
Correlation is not causation/ˌkɒrɪˈleɪʃn ɪz nɒt kɔːˈseɪʃn/ 相关不等于因果 xiāng guān bù děng yú yīn guǒ

Leçons interactives sur ce sujet

Traversez-le étape par étape, avec des exercices à vérification instantanée.

Plus de sujets dans GAC Informatique

Se connecter ou créer un compte

IGCSE, A-Level & AP