INF 102 A: VIEWS ON COMPUTER SCIENCE


Coordinator:  Siegfried ROUVRAIS   

Presentation

Computer Science is both a scientific and technical subject with a very broad scope. Defining it remains complex, but we may nevertheless locate its place in human history through three dimensions addressing its foundations, the technologies through which it materializes and the uses it makes possible. This course actually aims at introducing students to the Computer Science world through these three dimensions precisely.

The purpose of the foundations dimension is to demonstrate that Computer Science relies on strict scientific grounds, in particular as regards the rather complex calculation concept. Such dimension does not greatly vary along the years.

The technology dimension aims at explaining the recurring purpose of this subject: creating an actual pattern applicable to numerous human ordinary problems, through calculations made by machines. This dimension, which is both hardware and software, is subject to important changes in time.

The use dimension attempts to illustrate the various interaction modes between humans and machines. More precisely, machines, which perform calculations, become the most adequate instrument for understanding and interacting with the environment, and creating related patterns. The increasing use of Computer Science by other disciplines gives an idea of the mutual reliance between traditional practices and Computer Science, and retrospectively reveals the broad scope, both theoretical and practical, of the latter.

Today we observe that, unfortunately, Computer Science is very often perceived as a group of stereotypes, most frequently as a mere tool (in particular as regards secretary activities) or a practice restricted to programming. Even for experts, Computer Science is sometimes merely viewed through only one of these dimensions.

The ambition of this course is therefore to put an emphasis on all these dimensions and their interdependence according to dedicated views, in combining discovery, practice, reflection and criticism applied to chosen aspects of these dimensions. The choice of these three dimensions aims at raising, in a unified manner, questions relating to the problems (i.e. the why), the means and limits of the solutions which are available (i.e. the how), and the perspectives (i.e. what’s next) relating to Computer Science. The INF 102 A course actually sharpens the students’ approach towards Computer Science.

Prerequisites

There are no theoretical or technical pre-requisites for this course. However, with respect to uses, students must have had a preliminary contact with a PC (i.e. a user account created and previous interactions with devices and graphical environments) for purposes of various machine-related experiences during practicals.

Objectives

- discovering the important ideas underlying Computer Science in order to understand why Computer Science is such as it is.
- for a few fields of this discipline, listing what has been made, what is being made and imagining what could be made.
- acquiring the cultural backgrounds allowing a critical approach of the subject
- justifying the creation and evolution of a Computer Science domain.
- distinguishing an environment (whether reference or map) for the Computer Science subject. Casting the entire INF-related education on this environment (minor courses – more uses oriented— and Majors courses – more foundations and technologies oriented)

Duration: 21h


Content

The educational method offers in turn classes, collective classes sessions (3 groups of 8 students per classes or 4 groups of 6 students), as well as binomial practices (6 or 7 binomial groups per workshop). Some pacticals and classes sessions include intermediary final periods called “restructuring periods” which are initiated by the professor when such tutorials or classes sessions are conceived as research/brainstorming units.

INF 102 A is designed as follows:
- Opening phase: defining the references and process of the course (20 minutes).
- Calculation phase: encoding the world ; making clear that Computer Science makes operational the way we conceive and act on the world, while rationalizing it to a certain extent. Computer Science is the discipline which implements the concept of calculation (you may not calculate anything and the inability to calculate has various causes).
- Historical overview on machines until today (technological angle): explaining the role played by the technological phenomenon designated as “microprocessor” in the construction of the current Computer Science landscape.
- Expert uses: demonstrating that, for experts, abstraction and efficiency are recurring notions in software tools ; studying why there are so many programming languages as opposed to one single universal language; underlying the difference between an interpreted language and a compiled language; reflecting about the future of the programming languages.
- Facilitated uses, Human-Machine Interface (HMI): understanding the importance of HMIs, acquiring a basic knowledge of the HMI-related technologies and uses, being able to justify the relative stability of the field.
- Closing phase: The computer science engineer : which competencies ?

Various reading assignments and media, which are not directly related to the course valuation, are proposed to the students. We insist that students should have a look at them when they found an actual interest in the questions raised along the various activities. They rarely require pre-requisites for a newly arrived student. Moreover, some Web links are provided through a dedicated Intranet on given themes (given in 1st course). Also, a document is provided.



Organization

Examination

A written individual valuation (80%) is made at the end of the course. In addition, a note-book is filled out by each group during the whole course (accounts for 20%).

Scheduled activities

  • C1 (1h30)   Introduction au calcul
  • C2 (1h30)   Calcul et codage du monde (fondements)
  • PC1 (1h30)   Problème de l'arrêt d'une machine (Halting problem)
  • C3 (1h30)   La complexité
  • C4 (1h30)   La machine de Von Neumann (technologies)
  • BE1 (3h)   Articulation entre matériel et langage machine
  • TP1 (3h)   Paradigmes de programmation (usages d experts)
  • C5 (1h30)   Restructuration autour des paradigmes de programmation
  • TP2 (3h)   Interfaces homme-machine (usages)
  • BE2 (3h)   Atelier sur les métiers de l'ingénieur en informatique

Team


  C1
  1h30
  C2
  1h30
  PC1
  1h30
  C3
  1h30
  C4
  1h30
  BE1
  3h
  TP1
  3h
  C5
  1h30
  TP2
  3h
  BE2
  3h
 Antoine BEUGNARD                    x
 Eric COUSIN            x x   x x
 Jean-Marie GILLIOT            x x   x x
 Ioannis KANELLOS  x x x x            
 Claire LASSUDRIE              x   x x
 Christophe LOHR            x        
 Julien MALLET      x     x x x x x
 Gérald OUVRADOU          x x x   x  
 Siegfried ROUVRAIS  x           x   x x


Educational resource

- Espace MOODLE contenant les polycopiés, supports de cours et les sujets de TP/BE/PC,
- Polycopié de I. Kanellos
- Article de G. OUVRADOU "Histoire et développement des ordinateurs jusqu'aux années 50",
- 40 ans d'interactions homme-machine, M. Beaudouin-Lafon, LRI. http://www.lri.fr/~mbl/ASTI2001/40ansIHM/40ans-ihm.html[niveau moyen]

* Généralités à consulter :
- Introduction à l'informatique par I.Tellier de l'Université de Lille:
http://www.grappa.univ-lille3.fr/polys/intro-info/index.html
(paragraphes 2, 3.1, 3.2 et 4.3) [niveau facile]

Recommended reading

Diverses lectures et médias sont proposés aux élèves. Ils ne sont pas directement associés aux évaluations du module. Nous incitons toutefois les élèves à s'y reporter pour leur controle continu et quand ils ont trouvé un intérêt sur des questions levées lors d'activités du module. Ils ne nécessitent que rarement de pré-requis pour un élève arrivé à l'école quand ils sont de niveau facile ou moyen. De plus, des liens Web sont fournis via l'espace associé sous Moodle sur des thèmes donnés.



* Pour la partie fondements :
- Douglas HOFSTADTER "Gödel, Escher et Bach : les brins d'une guirlande éternelle", Code "00.11 HOS" à la bibliothèque (chapitres Intro, I, IV, XIII, XVII puis X pour l'architecture machine et la programmation) [agréable mais très long]
- Pierre WOLPER "Introduction à la calculabilité ", code "2.12 WOLP " à la bibliothèque (paragraphes 1, 5, 7 et 7) [niveau moyen]
- Polycopié de cours de Ioannis Kanellos "logique et calculabilité" [niveau moyen]
- DELESSERT "Gödel: une révolution en mathématique", code 1.32 DELE [niveau difficile]

* Pour la partie usages :
- P. LEVY, "de la programmation considérée comme un des beaux-arts", code "02.08 LEVY" à la bibliothèque [facile], (chap. Intro, I "jeux d'aventure" et conclusion).
- Numéro spécial "La Recherche", IHM, No 285, mars 1996 [facile]
- J. LONCHAMP, "Les langages de programmation, concept, évolution et classification", 1989, code 2.21, (chap. 2, 7 et 9) [facile]
- A.B. TUCKER, "les langages de programmation", 1986, code 2.21 (introduction et conclusion) [facile]
- Si vous êtes intéressés par Prolog : P. BELLOT , "objectif Prolog", code 2.2183 BELL


  Year 2006/2007
Last update: 26-JUL-06
Last validation:

IMT Atlantique
Campus de Brest
Technopôle Brest-Iroise
CS 83818
29238 Brest Cedex 3
France

Tél  +33 (0)2 29 00 11 11
Fax +33 (0)2 29 00 10 00