CSI 4506 - automne 2026
Version: sept. 11, 2026 12h06
Joëlle Pineau — une dirigeante de l’IA originaire d’Ottawa
Cohere raises US$500-million, hires former Meta AI expert Joelle Pineau, Joe Castaldo, The Globe and Mail, 2025-08-14.
Description officielle
Concepts et méthodes de base de l’intelligence artificielle. Connaissances et représentation des connaissances. Recherche, recherche stratégique, jeux de stratégie. Raisonnement et déduction. Incertitude en intelligence artificielle. Introduction au traitement du langage naturel. Éléments de base de la planification. Éléments de base de l’apprentissage automatique.
(Wang 2019, traduction GPT-4o)
Pour la communauté plus large de l’informatique et des technologies de l’information, l’IA est généralement identifiée par les techniques qui en ont émergé, lesquelles, à différentes époques, peuvent inclure la démonstration de théorèmes, la recherche heuristique, les jeux, les systèmes experts, les réseaux neuronaux, les réseaux bayésiens, la fouille de données, les agents, et récemment, l’apprentissage profond.
La bonne vieille IA de style classique (GOFAI) reposait sur l’ingénierie des connaissances faite à la main, mais elle a été largement remplacée par l’apprentissage automatique en raison de la disponibilité accrue des données, des ressources informatiques et des nouveaux algorithmes.
L’apprentissage profond a eu un impact significatif sur divers domaines, notamment le traitement du langage naturel, la robotique et la vision par ordinateur.
Cependant, l’apprentissage profond présente actuellement des limites, notamment en matière de raisonnement, où l’IA symbolique excelle et pourrait potentiellement offrir des perspectives précieuses.
Andrew Ng, The Batch, April 10, 2024
De nombreux développeurs de logiciels craignent que les grands modèles de langage ne rendent les programmeurs humains obsolètes. Nous doutons que l’IA remplace les programmeurs, mais nous croyons que les programmeurs qui utilisent l’IA remplaceront ceux qui ne le font pas.
(traduction GPT-4o)
Richard Feynman
Ce que je ne peux pas construire, je ne le comprends pas.
Ce sera ma troisième itération de ce contenu. Votre aide pour identifier ce qui fonctionne et ce qui ne fonctionne pas sera très appréciée.
CSI 4506 est un cours d’introduction à l’intelligence artificielle, offrant un aperçu bref de divers sujets dans ce domaine vaste. Chaque sujet couvert pourrait être exploré beaucoup plus en profondeur à travers un ou plusieurs cours de niveau supérieur. L’objectif principal de CSI 4506 est de fournir aux étudiants une compréhension de base des principaux domaines qui constituent l’intelligence artificielle.
Les chevauchements avec d’autres cours sont inévitables, mais je ferai de mon mieux pour les minimiser.
Ce cours n’est pas un cours sur l’impact de l’IA sur la société, y compris les questions d’éthique, d’équité, de confiance et de sécurité.
(pour information uniquement)
Le jeu des tours de Hanoï comporte trois piquets et plusieurs disques de tailles différentes. Il commence avec tous les disques empilés par ordre décroissant sur un piquet, et l’objectif est de déplacer la pile entière sur un autre piquet, en respectant ces règles.
D1, D2, D3, P1, P2, P3 sont des symboles, où D1, D2, et D3 sont des disques, et P1, P2, et P3 sont des piquets.
Étant donné quelques faits concernant qui est parent de qui (symboles) et une poignée de règles en forme de Horn, déduisez de nouvelles relations (par exemple, ancêtre, frères et sœurs, grand-parent) par déduction logique.
Étant donné les prérequis des cours et l’ensemble réussis d’un étudiant, déduire quels cours il peut suivre ensuite. Cela montre le raisonnement par contraintes symboliques.
Les réseaux de neurones artificiels (ANN) sont des modèles computationnels vaguement inspirés des systèmes neuronaux biologiques. Ils se composent d’unités de calcul interconnectées par des connexions pondérées.
Pendant l’entraînement, leurs paramètres, y compris les poids des connexions, sont ajustés afin d’améliorer les performances sur un objectif spécifié.
Les connaissances sont encodées dans les paramètres du réseau et les motifs d’activité, plutôt que principalement sous forme de faits et de règles explicites.
Perceptions et attitudes face à l’intelligence artificielle
Améliorer la clarté et la communication : Établir une compréhension mutuelle des critères d’évaluation, des tests de référence et des jalons.
Aborder les implications éthiques, sociales et juridiques : Permettre aux décideurs de développer des réglementations minimisant les risques liés à l’IA.
(Wang 2019) (traduction GPT-4o)
Pour la grande communauté de l’informatique et de la technologie de l’information, l’IA est généralement identifiée par les techniques issues de celle-ci, qui à différentes périodes peuvent inclure la démonstration de théorèmes, la recherche heuristique, les jeux, les systèmes experts, les réseaux de neurones, les réseaux bayésiens, l’exploration de données, les agents, et récemment, l’apprentissage profond.
Engouement («hype») significatif.
Plusieurs entreprises de premier plan, dont DeepMind et OpenAI, se concentrent principalement sur le développement de l’intelligence artificielle générale (IAG).
Si l’IAG devenait une réalité, ses implications pourraient profondément impacter divers aspects de nos vies, y compris l’éducation, l’emploi, les structures économiques et les avancées scientifiques.
User: The man and the goat want to enjoy a picnic near a river, but there’s a wolf. What to do with the zucchini?
ChatGPT 5: You’ve got the classic river‐crossing (wolf–goat–cabbage ⇒ here, zucchini).
Boat carries you + one item. Unsafe pairings: wolf with goat; goat with zucchini.
Minimal plan:
- Take goat over.
- Return alone.
- Take wolf over.
- Bring goat back.
- Take zucchini over.
- Return alone.
- Take goat over.
Conclusion: keep the zucchini never alone with the goat; ferry it on step 5.
Source: Andriy Burkov, publié sur LinkedIn en août 2025.
User: Surgeon but child, hopsital, it have a no, why it so?
ChatGPT 5: You’re pointing to the classic riddle:
Car crash → injured child → surgeon says “I can’t operate—this is my child.”
Resolution: the surgeon is the child’s mother (or another parent in a non-heteronormative family).
The “paradox” arises from implicit gender assumptions about surgeons.
Source: Andriy Burkov, publié sur LinkedIn il y a 3 semaines.
Artificielle concerne la création d’entités ou de phénomènes qui imitent les processus naturels en utilisant la technologie ou des matériaux synthétiques, une définition largement reconnue et acceptée.
Par conséquent, définir l’intelligence artificielle nécessite fondamentalement de clarifier d’abord ce que nous entendons par intelligence. Étonnamment, “malgré une longue histoire de recherche et de débat, il n’y a toujours pas de définition standard de l’intelligence.” (Legg et Hutter 2007, traduction GPT4o)
Russell et Norvig considèrent deux axes.
| Penser | Agir | |
|---|---|---|
| Humain | penser humainement (simulation) | agir humainement (test de Turing) |
| Rationalité | penser rationnellement (logique) | agir rationnellement (agent) |
La rationalité implique l’évaluation des choix pour atteindre un objectif ou trouver la solution optimale à un problème. Simon (1972, p. 161) définit la rationalité comme “un style de comportement approprié à la réalisation des objectifs fixés, dans les limites imposées par les conditions et contraintes données.”
(traduction GPT-4o)
L’intelligence artificielle générale (IAG/AGI) se réfère à une forme d’intelligence artificielle (IA) qui égale ou dépasse la compétence humaine dans une large gamme de fonctions cognitives.
Je le répète, il n’y a rien de mal à l’IA spécialisée.
«Two papers in this week’s issue dramatically expand our structural understanding of proteins. Researchers at DeepMind, Google’s London-based sister company, present the latest version of their AlphaFold neural network.»
(\(\ldots\)) dès qu’un système informatique est construit pour résoudre un problème avec succès, le problème n’est plus “seulement solvable par l’esprit humain,” donc n’a plus besoin d’intelligence. Par conséquent, “l’IA est ce qui n’a pas encore été fait” (Hofstadter, 1979 ; Schank, 1991), ce qui est connu sous le nom de “l’effet IA” (McCorduck 2004, traduction GPT-4o).
Les recherches de McKinsey estiment que l’IA générative pourrait ajouter à l’économie entre 2,6 billions et 4,4 billions de dollars par an tout en augmentant l’impact de toute l’intelligence artificielle de 15 à 40 pour cent.
En fait, il semble possible que dans les trois prochaines années, tout ce qui n’est pas connecté à l’IA sera considéré comme obsolète ou inefficace.
Apprentissage Automatique (Machine Learning): Détection de fraude par carte de crédit
Apprentissage Profond (Deep Learning): Reconnaissance d’images et de visages
Traitement Automatique du Langage Naturel (Natural Language Processing): Assistants virtuels comme Siri ou Alexa
Vision par Ordinateur (Computer Vision): Véhicules autonomes
Robotique (Robotics): Automatisation industrielle dans la fabrication
Systèmes Experts (Expert Systems): Support au diagnostic médical
Reconnaissance Vocale (Speech Recognition): Services de transcription vocale
Planification et Prise de Décision (Planning and Decision Making): Optimisation de la chaîne d’approvisionnement
Apprentissage par Renforcement (Reinforcement Learning): IA de jeu dans les jeux de stratégie complexes
Représentation des Connaissances (Knowledge Representation): Technologies du web sémantique pour la recherche d’information
L’expert en IA Kai-Fu Lee prédit que son impact sera “plus important que tout ce qui s’est passé dans l’histoire de l’humanité.”
Le concept d’intelligence peut-il être considéré indépendamment des entités qui l’expriment ? C’est le problème de l’incarnation (embodiment).
Une machine peut-elle manifester une intelligence de niveau humain ?
Est-il possible de dissocier les concepts suivants de celui de l’intelligence?
Est-ce qu’une IA peut souffrir ?
Rouleau, N. & Levin, M. (2024). Discussions of machine versus living intelligence need more clarity. Nature Machine Intelligence, 6(12), 1424–1426.
Un agent et son interaction avec l’environnement sont spécifiés comme un tuple : \[ \langle P,S,A \rangle \] où
Pour une séquence de moments, \(0,\ldots,t\).
L’IA est conçue comme des systèmes informatiques similaires à l’esprit humain dans un certain sens, bien qu’un ordinateur et un esprit humain ne puissent pas être identiques en tous aspects.
\[ \langle P^H,S^H,A^H \rangle \approx \langle P^C,S^C,A^C \rangle \]
Wang (2019) propose 5 perspectives: Structure-IA, Comportement-IA, Capacité-IA, Fonction-IA, et Principe-IA.
(modélisation du cerveau, sciences cognitives)
J’appelle ce type de définition “Structure-IA,” car il nécessite qu’un système IA traverse des états isomorphes ou des changements de structure comme le fait le cerveau lorsqu’il reçoit des entrées similaires, ce qui produira des sorties similaires, donc les trois composants des deux sont par paires similaires les uns aux autres :
\[ P^H \approx P^C, S^H \approx S^C, A^H \approx A^C \]
(Test de Turing)
Une façon de reconnaître un esprit semblable à celui de l’homme sans exiger un cerveau semblable à celui de l’homme est d’associer l’intelligence aux comportements externes de l’agent. Après tout, si un agent se comporte comme un humain, il doit être considéré comme intelligent, peu importe s’il ressemble à un humain, à l’intérieur ou à l’extérieur.
\[ P^H \approx P^C, A^H \approx A^C \]
Dans le cadre de l’agent, cela signifie que \(C\) est similaire à \(H\) dans le sens où il y a des instants \(i\) et \(j\) que :
\[ p_i^C \approx p_j^H, a_i^C \approx a_j^H \]
l’action (solution) que l’ordinateur produit pour une perception (problème) est similaire à l’action produite par un humain pour une perception similaire (\(\ldots\)) De cette manière, l’intelligence d’un système est identifiée par un ensemble de problèmes qu’il peut résoudre, peu importe si ces problèmes sont résolus de la “manière humaine”.
“Je suggère que nous remplacions le test de Turing par ce que j’appellerai le ‘test d’emploi.’ Pour passer le test d’emploi, les programmes d’IA doivent occuper les emplois normalement occupés par des humains. Les progrès vers une IA au niveau humain pourraient alors être mesurés par la fraction de ces tâches qui peuvent être acceptablement réalisées par des machines”
Dans le cadre de l’agent, cette perspective de “Fonction-IA” considère que \(C\) est similaire à \(H\) dans le sens où il y a des moments \(i\) et \(j\) que :
\[ a_i^C \approx f^C(p_i^C), a_j^H \approx f^H(p_j^H), f^C \approx f^H \]
Ici, la fonction peut correspondre à la recherche, au raisonnement, à l’apprentissage, etc., et puisque l’accent est mis sur les fonctions (c’est-à-dire les correspondances entrée-sortie), les valeurs concrètes d’entrée et de sortie des deux agents n’ont pas besoin d’être similaires les unes aux autres.
Comme dans tout domaine, il y a des chercheurs en IA qui essaient de trouver des principes fondamentaux qui peuvent uniformément expliquer les phénomènes pertinents. Ici, l’idée vient de l’utilisation de l’intelligence comme une forme de rationalité (\(\ldots\)) qui peut prendre la meilleure décision possible dans diverses situations, en fonction de l’expérience ou de l’histoire du système.
\[ A^C = F^C(P^C), A^H = F^H(P^H), F^C \approx F^H \]
Le \(F\) ci-dessus n’est souvent pas spécifié formellement, mais décrit de manière informelle comme un certain “principe,” qui ne concerne pas seulement un type de problème et sa solution, mais l’histoire de vie de l’agent dans diverses situations, lorsqu’il traite divers types de problèmes.
#!/usr/bin/env python3
# -*- Mode: Python -*-
# ai_lecture-01.py
# Author : Marcel Turcotte & ChatGPT 5
# Created On : Tue Feb 13 16:29:41 2024
# Last Modified By: Marcel Turcotte
# Last Modified On: Sun Sep 6 09:58:08 EDT 2026
# The initial version of this script was developed in 2024.
# In 2025, ChatGPT was used to revise the code to align with the
# latest API version, expand the comments to improve its instructional value,
# and enhance its suitability as a teaching example. In 2026, the script was
# further updated using Codex ChatGPT 5.6 Sol.
# Attempts to use Codex ChatGPT 6 Astra Light were disappointing.
"""Generate bilingual narration and speech for the first lecture.
The script uses the OpenAI API to write an English narration, translate it
into Canadian French, and synthesize both versions as audio files.
Required:
python -m pip install openai
OPENAI_API_KEY can be exported by the shell or injected by a secret manager:
export OPENAI_API_KEY="your_api_key_here"
python ai_lecture-01-v04.py --voice marin
With a 1Password environment file containing a secret reference:
op run --env-file="$HOME/.env" -- python ai_lecture-01-v04.py --voice marin
Optional .env support:
python -m pip install python-dotenv
Keep API keys private and exclude .env files from version control.
When presenting the recordings, disclose that the voices are AI-generated.
"""
from __future__ import annotations
import argparse
import os
import sys
from pathlib import Path
from typing import Optional
from openai import (
APIConnectionError,
APITimeoutError,
AuthenticationError,
OpenAI,
OpenAIError,
RateLimitError,
)
try:
from dotenv import load_dotenv
except ImportError:
load_dotenv = None
TEXT_MODEL = "gpt-4o"
SPEECH_MODEL = "gpt-4o-mini-tts"
WELCOME_SENTENCE = 'Welcome to CSI 4106, "Introduction to Artificial Intelligence"!'
# Quoted verbatim from the official uOttawa calendar.
OFFICIAL_CALENDAR_DESCRIPTION = (
"The roots and scope of Artificial Intelligence. Knowledge and knowledge "
"representation. Search, informed search, adversarial search. Deduction and "
"reasoning. Uncertainty in Artificial Intelligence. Introduction to Natural "
"Language Processing. Elements of planning. Basics of Machine Learning."
)
TEACHING_APPROACH = (
"The calendar description establishes the broad scope of the course rather than its "
"teaching order. This offering uses a modernized, machine-learning-first structure and "
"introduces deep learning as early as the necessary foundations allow. Deep learning "
"is central to contemporary AI, so studying it early connects the course with "
"technologies that attract students' attention. It also provides a framework for "
"introducing and defining central AI ideas. We will examine cases in which deep "
"learning has displaced or changed the role of earlier approaches, as well as cases "
"in which its limitations make earlier, purpose-built methods valuable. A further "
"motivation is to treat learning as an early and extensively studied milestone in the "
"development of intelligence. This foundation will later help us compare learning-based "
"and search-based approaches when studying Monte Carlo Tree Search."
)
LEARNING_OUTCOMES = (
"Explain the fundamental concepts of Artificial Intelligence (AI)",
"Apply problem-solving strategies using AI techniques",
"Critically analyze and compare different AI approaches",
"Demonstrate independent learning and exploration",
)
PRELIMINARY_COURSE_OUTLINE = (
"Defining AI",
"Introduction to machine learning",
"Linear regression",
"Training",
"Logistic regression",
"Evaluation",
"Hyperparameter tuning",
"Machine learning engineering",
"Introduction to artificial neural networks",
"Backpropagation",
"Softmax, cross-entropy, and regularization",
"Convolutional neural networks",
"Introduction to search",
"Informed search",
"Local search",
"Population-based metaheuristics",
"Adversarial search",
"Monte Carlo Tree Search",
)
# -------------------------------------------------------
# Setup
# -------------------------------------------------------
def prepare_api_key() -> bool:
"""Load an optional .env file and check for an API key."""
if not os.getenv("OPENAI_API_KEY") and load_dotenv is not None:
load_dotenv(override=False)
api_key = os.getenv("OPENAI_API_KEY", "")
if api_key.startswith("op://"):
print(
"OPENAI_API_KEY is an unresolved 1Password reference. Run:\n"
f' op run --env-file="$HOME/.env" -- python {Path(__file__).name}',
file=sys.stderr,
)
return False
if not api_key:
print(
"No OpenAI API key was found. You can:\n"
" • export OPENAI_API_KEY=\"your_api_key_here\"\n"
" • use a secret manager to inject OPENAI_API_KEY\n"
" • install python-dotenv and store the key in a local .env file\n\n"
"An exported key or a secret manager does not require python-dotenv.",
file=sys.stderr,
)
return False
return True
# -------------------------------------------------------
# Prompt builders
# -------------------------------------------------------
def build_course_context() -> str:
"""Organize the source material while keeping its roles unambiguous."""
outcomes = "\n".join(f"- {outcome}" for outcome in LEARNING_OUTCOMES)
outline = "\n".join(
f"{number}. {topic}"
for number, topic in enumerate(PRELIMINARY_COURSE_OUTLINE, start=1)
)
return f'''REQUIRED OPENING SENTENCE:
{WELCOME_SENTENCE}
OFFICIAL UOTTAWA CALENDAR DESCRIPTION:
{OFFICIAL_CALENDAR_DESCRIPTION}
INSTRUCTOR'S DESIGN FOR THIS OFFERING:
{TEACHING_APPROACH}
LEARNING OUTCOMES:
Upon completion of the course, students will be able to:
{outcomes}
PRELIMINARY AND AMBITIOUS COURSE OUTLINE:
{outline}'''
def build_instructions_en(tone: Optional[str]) -> str:
"""Build instructions for the English narration."""
instructions = (
"Write a natural spoken welcome of 180 to 240 words for the first lecture of an "
"undergraduate AI course at the bilingual University of Ottawa. Begin with the "
"required opening sentence exactly as supplied. Clearly identify the calendar "
"paragraph as the official uOttawa course description, then explain that this "
"offering uses a modernized, machine-learning-first structure and reaches deep "
"learning as early as its foundations permit. Do not present the calendar "
"description as the teaching sequence or the preliminary outline as official "
"calendar text. Explain both reasons for teaching deep learning early: its "
"importance to current AI and its use as a framework for discussing other AI "
"ideas. Contrast cases where deep learning has changed earlier approaches with "
"cases where its limitations make specialized methods valuable. State all four "
"learning outcomes naturally, preserving their action verbs. Describe the "
"preliminary and ambitious sequence as an arc from machine-learning foundations "
"through neural networks and then search, ending with Monte Carlo Tree Search; do "
"not recite all eighteen topics. Do not imply that deep learning is a prerequisite "
"for Monte Carlo Tree Search. The students have varied backgrounds, languages, and "
"prior exposure to AI. Be welcoming, inclusive, clear, and encouraging. Use plain "
"language and short sentences. Return only the narration."
)
if tone:
instructions += f" Writing style: {tone}"
return instructions
def build_instructions_fr() -> str:
"""Build instructions for the Canadian French translation."""
return (
"Translate the supplied English narration into natural Canadian French. "
"The University of Ottawa is bilingual, and CSI 4506 is the French-language "
"course corresponding to CSI 4106. Replace 'CSI4106' or 'CSI 4106' with "
"'CSI 4506'. Translate the course title as 'Introduction à l’intelligence "
"artificielle'. Preserve the distinction between the official calendar description "
"and the way this offering is organized, along with all other ideas and the "
"welcoming tone. Return only the translation."
)
def build_speech_instructions(language: str, tone: Optional[str]) -> str:
"""Build language-specific delivery instructions."""
if language == "en":
instructions = (
"Speak as a welcoming university instructor. Use natural Canadian English, "
"a conversational tone, and a measured pace. Pause briefly between the main "
"ideas. Pronounce 'CSI 4106' as 'C S I four one zero six'."
)
else:
instructions = (
"Parlez comme une personne qui accueille sa classe à l’université. Utilisez "
"un français canadien naturel, un ton chaleureux et un débit mesuré. Faites "
"une courte pause entre les idées principales. Prononcez « CSI 4506 » comme "
"« cé esse i, quatre cinq zéro six »."
)
if tone:
instructions += f" Additional delivery instruction: {tone}"
return instructions
# -------------------------------------------------------
# OpenAI utilities
# -------------------------------------------------------
def generate_text(client: OpenAI, source: str, instructions: str) -> str:
"""Generate text with the Responses API."""
response = client.responses.create(
model=TEXT_MODEL,
instructions=instructions,
input=source,
temperature=0.2,
max_output_tokens=800,
)
return (response.output_text or "").strip()
def synthesize_speech(
client: OpenAI,
text: str,
output_path: Path,
*,
voice: str,
instructions: str,
response_format: str,
) -> None:
"""Stream synthesized speech to an audio file."""
with client.audio.speech.with_streaming_response.create(
model=SPEECH_MODEL,
voice=voice,
input=text,
instructions=instructions,
response_format=response_format,
) as response:
response.stream_to_file(output_path)
# -------------------------------------------------------
# Script logic
# -------------------------------------------------------
def main(audio_format: str, voice: str, tone: Optional[str]) -> int:
"""Generate English and French narrations and audio files."""
if not prepare_api_key():
return 1
course_context = build_course_context()
try:
client = OpenAI()
narration_en = generate_text(
client, course_context, build_instructions_en(tone)
)
if not narration_en:
print("The text model returned an empty English narration.", file=sys.stderr)
return 1
narration_fr = generate_text(
client, narration_en, build_instructions_fr()
)
if not narration_fr:
print("The text model returned an empty French translation.", file=sys.stderr)
return 1
narrations = (
("en", narration_en),
("fr", narration_fr),
)
for language, narration in narrations:
output_path = Path(
f"01_tts_course_intro-{language}-{voice}.{audio_format}"
)
synthesize_speech(
client,
narration,
output_path,
voice=voice,
instructions=build_speech_instructions(language, tone),
response_format=audio_format,
)
print(f"[OK] {language.upper()} audio → {output_path}")
except AuthenticationError:
print(
"OpenAI rejected the API key. Check OPENAI_API_KEY or the secret manager.",
file=sys.stderr,
)
return 1
except (APIConnectionError, APITimeoutError) as error:
print(f"Could not reach the OpenAI API: {error}", file=sys.stderr)
return 1
except RateLimitError:
print(
"The request was rate-limited. Check the account's limits and API credit.",
file=sys.stderr,
)
return 1
except OpenAIError as error:
print(f"OpenAI API error: {error}", file=sys.stderr)
return 1
except OSError as error:
print(f"Could not write an audio file: {error}", file=sys.stderr)
return 1
print("Reminder: disclose that the narration uses AI-generated voices.")
return 0
# -------------------------------------------------------
# Command-line interface
# -------------------------------------------------------
if __name__ == "__main__":
parser = argparse.ArgumentParser(
description="Generate bilingual first-lecture narration and speech."
)
parser.add_argument(
"--format",
default="mp3",
choices=("mp3", "wav", "aac", "flac", "opus", "pcm"),
help="Audio output format (default: mp3).",
)
parser.add_argument(
"--voice",
default="marin",
help="Speech voice (default: marin). Try cedar or nova.",
)
parser.add_argument(
"--tone",
default=None,
help=(
"Optional writing and delivery instruction, for example: "
"'Sound warm, calm, and optimistic.'"
),
)
args = parser.parse_args()
raise SystemExit(main(args.format, args.voice, args.tone))Marcel Turcotte
École de science informatique et de génie électrique (SIGE)
Université d’Ottawa
Comment définissez-vous l’intelligence?
Quelles sont les caractéristiques que vous associez à l’intelligence?
“Intelligence is a very general mental capability that, among other things, involves the ability to reason, plan, solve problems, think abstractly, comprehend complex ideas, learn quickly and learn from experience.”