department of informatics

Liste de cours

Code Ens

Unité d'enseignement avec descriptions / résumés

IN.0110

Logiciels programmables [pour branche propédeutique]

La matière couvre notamment les logiciels de calcul scientifique tels de Mathematica ou Matlab.

IN.0111

Projet : Robotique [pour branche complémentaire] / Projekt : Robotik [für Zusatzfach] / Project : Robotic [for minor]

Sous la conduite d'un-e professeur-e et d'un-e assistant-e, les étudiant-e-s apprennent:

  • des concepts fondamentaux de l'algorithmique et d'un langage de programmation
  • à concevoir, implémenter et tester une application par étapes,
  • les concepts de base de la robotique autonome et de la simulation (un environnement matériel différent de l'ordinateur classique et avec des pratiques de développement logiciel spécifiques).
IN.0113

Logiciels programmables [pour sciences biomédicales]

La matière couvre notamment les logiciels de calcul scientifique tels de Mathematica ou Matlab.

IN.1010

Project: Robotic

Sous la conduite d'un-e professeur-e et d'un-e assistant-e, les étudiant-e-s apprennent:

  • des concepts fondamentaux de l'algorithmique et d'un langage de programmation
  • à concevoir, implémenter et tester une application par étapes,
  • les concepts de base de la robotique autonome et de la simulation (un environnement matériel différent de l'ordinateur classique et avec des pratiques de développement logiciel spécifiques).

IN.1011

Object-Oriented Programming

Die Lehrveranstaltung objektorientierte Programmierung führt die theoretischen und praktischen Grundlagen für Studenten ein, die Informatik als Hauptfach belegen. Im Vordergrund steht das systematische Kennenlernen der objekt-orientierter Programmierung, Konzepte und Sprachstrukturen, die geeignet sind, um komplexe Programmieraufgaben zu bewältigen.

IN.1013

Funchional Programming

  • Construction syntaxique et évaluation d'expressions
  • Evaluation numériques, y compris calcul matriciel
  • Evaluation symbolique et manipulation d'expressions abstraites
  • Visualisation scientifique et animations
  • Utilisation de règles et de motifs, "template matching"
  • Programmation fonctionnelle
  • Programmation impérative
MA.0101 + MA.0161

Propädeutische Analysis I mit Übungen

Funktionen, Grenzwerte, Stetigkeit, Differentialrechnung, Integralrechnung, Logarithmus und Exponentialfunktion, Differentialgleichungen, komplexe Zahlen, Funktionen mehrerer Variablen, unendliche Reihen.

MA.0201 + MA.0261

Algèbre linéaire propédeutique avec exercices

Espaces vectoriels, matrices, déterminants, systèmes d'équations linéaires, valeurs propres et applications.
 

IN.3010

Project : Web Technologies

Le but du projet est de se familiariser avec le développement dapplications web dynamiques liées à des bases de données dans le respect de régles ergonomiques minimales. Dans le cadre de ce projet, les étudiants développeront une application (par exemple un "content management system" (CMS)) avec le langage de programmation php et la base de données mySQL.

IN.3011

Imperative Programming

Introduction to a basic system programming language (C): Memory model, static and dynamic memory allocation. Constants, variables and basic types. Statements and control structures. Advanced types: pointers, arrays and structures. Functions, procedures, argument passing modes, scoping, Unix processes and threads.

Abstract data types: Stack, queue, linked list, priority list and binary tree.

Introduction to the Unix programming environment: Command line, inclusive pipe and input/output redirection. File system and privileges, inclusive hard and symbolic links. Regular expression and shell variables. C-Shell scripts, makefiles, gdb debugger and performance tools. Secure remote access and X Window.

IN.3012

Databases

Vorgehensmodell für den Datenbankentwurf, Entitäten-Beziehungsmodell, Grundlagen des Relationenmodells, Abhängigkeiten und Normalformen, Relationenalgebra, Uebersicht über Datenbanksprachen, Structured Query Language (SQL), Datenbankarchitektur, Übersetzung und Anfrageoptimierung, Mehrbenutzerbetrieb und Transaktionskonzept, Speicherstrukturen, verteilte und objektorientierte Datenbanken, multidimensionale Datenbanken und Data Mining. Übungen mit relationalen Datenbanksystemen (SQL Server, PostgreSQL)

MA.7001 + MA.7061

Mathematical Methods for Computer Science I with exercises

Automata, Regular languages and properties, Graph theory: trees, connectivity, matchings, coloring, planar graphs, Combinatorics: counting, inclusion exclusion principle, recurrence relations, generating functions.
 

IN.0210

Technologies multimédia [pour branche propédeutique]


L'objectif général de ce cours est de fournir une introduction aux technologies multimédias, "orientées documents", et d'immerger les étudiants dans leur utilisation. Plusieurs technologies multimédias (XHTML, CSS, XML, XSLT, SVG, javascript, latex) seront abordées aussi bien au niveau théorique que pratique.

IN.0211

Projekt: Prozesssteuerung [für Zusatzfach]


Die Projekte des ersten Jahres bieten den Studentinnen und Studenten erste Erfahrungen in wichtigen Bereichen der Softwareentwicklung. Unter der Leitung eines Professors bzw. einer Professorin und einer Assistentin bzw. eines Assistenten lernen sie, ein Pflichtenheft zu definieren und eine konkrete Anwendung zu planen, zu implementieren und schliesslich zu testen. In diesem Projekt werden Sie Programme schreiben, die es ermöglichen, eine Miniatureisenbahn zu steuern.

IN.2010

Project : Process Control

IN.2011

Computer Architecture

IN.2013

Document Engineering for the web

Le cours a pour objectif l'apprentissage des méthodes "orientées document" pour la mise en place de systèmes d'information sur le Web. Il met en évidence les bénéfices de cette approche qui se base sur deux concepts fondamentaux issus de l'ingénierie documentaire:

  • la séparation du fond et de la forme (metttant en évidence les avantages que cela procure en termes d'adaptation aux différents media)
  • la modélisation arborescente des informations (offrant un paradigme unifié pour gérer les données structurées, les documents et les métadonnées)

Le cours intègre une dimension pratique et donnera la possibilité d'utiliser un ensemble d'outils et de langages basés sur l'usage des technologies "orientées document".

MA.0102 + MA.0162

Propädeutische Analysis II mit Übungen

Funktionen, Grenzwerte, Stetigkeit, Differentialrechnung, Integralrechnung,
Logarithmus und Exponentialfunktion, Differentialgleichungen, komplexe Zahlen, Funktionen mehrerer Variablen, unendliche Reihen.
 

MA.0401 + MA.0461

Statistique propédeutique avec exercices

Estimation ponctuelle, intervalle de confiance. Moindres carrés, corrélation. Problématique des tests et discussion de quelques tests importants.
 

IN.4010

Project : Programming Models

Ce projet aborde quelques modèles de programmation concurrente (en C), parallèle (en C++) et distribué (en Java)

IN.4011

Algorithms

  • Rappel sur les structures de données élémentaires
  • Récursion et notion de complexité
  • Méthodes de tri élémentaires, tri rapide (quicksort), fil de priorité, tri par tas (heapsort), tri par fusion, tri basique
  • Méthodes de recherche élémentaires, arbres binaires de recherche, arbres équilibrés, adressage dispersé, recherche basique
  • Recherche de sous-chaînes
  • Algorithmes géométriques: intersection de segments, recherche par plages, ...
  • Algorithmes de parcours graphes, connexité, plus court chemin, ...

IN.4012

Object-oriented methods

Bref rappel des principaux concepts de la programmation orientée objets (modularité, encapsulation, héritage, réutilisabilité). Design orienté objets avec une introduction à la notation UML. Etude des Design Patterns. Création d'un framework orienté objets pour la simulation par événements discrets.

(1) B. Meyer. Object-Oriented Software Construction, Prentice Hall, 1997

(2) M. Fowler, UML Distilled, Addison-Wesley, 2000.

(3) E. Gamma, R. Helm, R. Johnson. J. Vlissides, Design Patterns, Addison-Wesley, 1995.

MA.7002 + MA.7062

Mathematical Methods for Computer Science II with exercises

The goal of the course is to familiarize computer science students with concepts that form the basis of theoretical computer science, but also to develop their analytical skills by presenting proofs of all of the main results and requiring them to provide proofs as well. The algorithmic nature of the problems is also discussed and the students are expected to be able to generate basic algorithms.
 

IN.5010

Bachelor Thesis

IN.5011

Telecommunication

Netzwerktopologien, Referenzmodelle (Schichtenmodelle), Dienste/Protokolle, Internet, Netzwerksicherheit.

IN.5012

Operating Systems

This course studies the principles and concepts that govern the design of modern computer operating systems. In general terms, the course covers the two primary functions of an operating system: insulating users and applications from details of the computer hardware, and managing the allocation of resources to improve efficiency. Specific topics covered include : The process and threads models of computation. Interprocess communication (IPC): semaphores, monitors, message passing, barriers. Classical IPC Problems: Philosophers, Producers-Consumers, Readers-Writers, Sleeping Barber. Process deadlock detection and recovery, avoidance and prevention. Basic memory management, swapping, paging and segmentation. Principles of Input/Output (hardware and software), and case studies: disks, clocks, terminals. File system specification and implementation. Introduction to distributed operating systems. Case studies: Unix, Linux, Mac OS X and Vista.

Furthermore, there will be a lab which will allow the students to implement some new features in the kernel of an open source Unix operating system (e.g. Minix or Linux).

IN.5013

Decision Support I - Quantitative Modelling

Einführung in die Entscheidungsunterstützung mit quantitativen Modellen des Operations Research. Nebst der Darstellung der Methoden wird besonderes Gewicht auf die Modellierung und die Anwendungen gelegt. Zu diesem Zweck kommen verschiedene Softwares zum Einsatz, insb. der Tabellenkalkulator, der mit add-in Modulen und Macros ergänzt wird. Das Modul Entscheidungsunterstützung I behandelt Modelle der linearen und ganzzahligen linearen Programmierung, die Anwendung in vielfältigen betrieblichen Entscheidungsproblemen finden, und für die eine breite Software-Palette verfügbar ist.  

Literatur:

F.S. Hillier, G. J. Liebermann, Introduction to Operations Research, 9th Ed., McGraw Hill Text, 2009.

G. Monahan, Management Decision Making: Spreadsheet Modeling, Analysis and Applications, Cambridge University Press, 2000.

IN.6011

Formal Methods

IN.6012

Programming paradigms

Le cours commence par une mise en perspective historique de la programmation et des langages de programmation. Un chapitre important est ensuite consacré à la programmation logique en Prolog. Il est suivi d'une étude de la programmation logique parallèle basée sur le langage Strand, avec une mise en pratique en Erlang. Sont ensuite explorés le paradigme des agents et systèmes d'agents, le style fonctionnel, dérivé du langage Lisp, et quelques autres paradigmes pouvant organiser la pensée en programmation, comme la notion d'aspect, rencontrée dans la programmation impérative et objet, et certains modèles réactifs ou à flots de données. Le cours est accompagné d'exercices qui permettent de mettre immédiatement en pratique les concepts présentés dans divers langages de programmation.