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

Programming

  • Enseignant(s): S.Scheidegger
  • Titre en français: Programmation
  • Cours donné en: anglais
  • Crédits ECTS: 6 crédits
  • Horaire: Semestre de printemps 2018-2019, 4.0h. de cours (moyenne hebdomadaire)
  •  séances
  • site web du cours site web du cours
  • Formations concernées:
    Maîtrise universitaire ès Sciences en économie politique

    Maîtrise universitaire ès Sciences en finance, Orientation finance d'entreprise

    Maîtrise universitaire ès Sciences en finance, Orientation gestion des actifs et des risques

    Maîtrise universitaire ès Sciences en finance : Entrepreneuriat financier et science des données

    Maîtrise universitaire ès Sciences en management, Orientation marketing

    Maîtrise universitaire ès Sciences en management, Orientation business analytics

    Maîtrise universitaire ès Sciences en management, Orientation comportement, économie et évolution

    Maîtrise universitaire ès Sciences en management, Orientation stratégie, organisation et leadership

 

Objectifs

This is a fast-paced introductory course to the Python and C++ programming languages. Moreover, it will cover topics from parallel computing, high-performance computing, and cloud computing.


The course is intended for those with a relatively little programming background, though prior programming experience will make it easier, and those with previous experience will still learn specific constructs and concepts.

By the end of this course, you should be able to:

a) Understand and use the basic programming constructs of Python and C++.

b) Manipulate various data types, such as arrays, strings, and pointers).

c) Isolate and fix common errors in Python/C++ programs.

d) Use memory appropriately, including proper allocation/deallocation procedures.

e) Apply object-oriented approaches to software problems in Python and C++.

f) Write small-scale Python C++ programs using the above skills.

g) Understand algorithmic complexity.h) Understand how to accelerate software by means of parallel computation.

h) Deploy software on cloud infrastructure.

In summary, the goal of this course is to provide students with the skills and confidence in computational problem-solving.

Contenus

- Basic Programming concepts in Python and C++.

- Differences of interpreted versus compiled languages.

- Recursions, List, dictionaries.

- Program control flow, exception handling, software debugging.

- Software management and unit testing.

- Variables, scopes, functions, argument passing, structures, file I/O.

- Object-oriented programming, classes, inheritance, polymorphism.

- multithreading, multiprocessing, semaphores, locks, inter-process communication, pipes.

- Performance, Virtualization.

- MPI, OpenMP, Cuda, OpenACC

- Libraries for scientific computing

Références

John V. Guttag, Introduction to Computation and Programming Using Python, Revised And Expanded Edition, https://mitpress.mit.edu/books/introduction-computation-and-programming-using-python-revised-and-expanded-edition

Hans Petter Langtangen, A Primer on Scientific Programming with Python, https://www.springer.com/us/book/9783662498866

Bjarne Stroustrup, Programming: Principles and Practice Using C++, http://www.stroustrup.com/programming.html

Stephen Prata, C++ Primer Plus, https://www.amazon.com/Primer-Plus-6th-Developers-Library/dp/0321776402

Pré-requis

No strict pre-requirement is necessary apart from a personal interest in computing and the basic knowledge of mathematics delivered in the bachelor programme. Students are encouraged to have a strong interest in computationally solve complex problems.

The course will consist of both lectures, software tutorials, and exercises. For the tutorials and exercises, you will need to bring a laptop computer to each class. If you do not have a laptop computer, you can still follow the class but please contact the professor to help you find a solution for effective participation in the practical hands-on exercises.

Evaluation

1ère tentative

Examen:
Sans examen (cf. modalités)  
Evaluation:

There will be four graded problem sets (counting each 15% of the final grade) and a term paper of 10 pages length (counting 40% of the final grade).

We will award the grades based on whether problem set grades are generally on par with the class average and whether the final project demonstrates an understanding of the material. There will be no exams.

Rattrapage

Examen:
Sans examen (cf. modalités)  
Evaluation:

There will be four graded problem sets (counting each 15% of the final grade) and a term paper of 10 pages length (counting 40% of the final grade).

We will award the grades based on whether problem set grades are generally on par with the class average and whether the final project demonstrates an understanding of the material. There will be no exams.



[» page précédente]           [» liste des cours]
 
Recherche


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