Aller à : contenu haut bas recherche
 
 
EN     FR
Vous êtes ici:   UNIL > HEC Inst. > HEC App. > SYLLABUS
 
 

Algorithmes et Pensée Computationnelle

  • Teacher(s): B.Garbinato
  • English title: Algorithms and Computational Thinking
  • Course given in: French
  • ECTS Credits: 6 credits
  • Schedule: Autumn Semester 2018-2019, 4.0h. course (weekly average)
  •  séances
  • site web du cours course website
  • Related programme: Bachelor of Science (BSc) in Management

 

Objectives

Learn a set of thinking skills and practical methods to formulate and solve problems using algorithms and computing devices.

Contents

Computational thinking can be defined as an approach encompassing the thought processes involved in formulating problems and expressing their solutions in such a way that a computer can execute them. Such solutions are expressed in terms of algorithms, which are in turn written in some programming language compiled and executed on some computing device, e.g, a desktop computer, a data center server, a tablet, a smartphone, etc.

While this approach is essential to software development, its scope goes far beyond programming. Just like math is not only useful to mathematicians, computational thinking and algorithmic principles applicable by everyone, not just computer scientists, and can be used to support problem solving across all disciplines.

This approach includes a number of characteristics, such as breaking down problems into smaller parts (modularisation), developing step-by-step instructions for solving problems (algorithms), observing regularities in data (pattern recognition), mastering various levels of abstractions (encapsulation), dealing with complexity and open-ended problems, etc.

In this course, you will learn and exercise computational thinking by studying and solving typical computational problems, both from an algorithmic viewpoint (concepts) and from a programming viewpoint (practice). You will also learn how to navigate from high-level concepts, such as iteration, recursion, higher-order functions, objects and classes, to their practical implementation in terms of memory and computer architecture. At the programming level, rather than focusing on a single language, you will have the opportunity to experiment with several ones, i.e., Python, Scala/Java et Swift, in order to clearly distinguish concepts from their specific implementations.

More precisely, the following notions will be presented:

  • algorithms and their complexity,
  • computers and their intrinsic limits,
  • programming languages and their expressiveness,
  • software architectures and their modularity.

The course is given in French but most of the course written material is in English. Moreover, English-speaking students can ask their questions and be answered in English.

References

  • Jeannette M. Wing. 2006. Computational thinking. Commun. ACM 49, 3 (March 2006), 33-35. DOI=http://dx.doi.org/10.1145/1118178.1118215

Evaluation

First attempt

Exam:
Written 2 hours
Documentation:
Not allowed
Calculator:
Not allowed
Evaluation:

The evaluation is based on a mid-semester test and on a final written exam during the regular session.

Retake

Exam:
Oral 20min. minutes
Documentation:
Not allowed
Calculator:
Not allowed
Evaluation:

A new final exam takes place during the retake session, oral this time, while the grade obtained for the mid-semester test is simply reused to compute the final mark.



[» go back]           [» courses list]
 
Search


Internef - CH-1015 Lausanne - Suisse  -   Tél. +41 21 692 33 00  -   Fax +41 21 692 33 05
Swiss University