Algorithmics

  • Teaching

    Details

    Faculty Faculty of Science and Medicine
    Domain Computer Science
    Code UE-SIN.03023
    Languages English
    Type of lesson Lecture
    Level Bachelor
    Semester SA-2023

    Title

    French Algorithmique
    German Algorithmik
    English Algorithmics

    Schedules and rooms

    Summary schedule Tuesday , Cours bloc (Autumn semester)
    Tuesday 08:15 - 12:00, Hebdomadaire (Autumn semester)
    Struct. of the schedule 2 x 2 Std. pro Woche während 14 Wochen
    Contact's hours 56

    Teaching

    Responsibles
    • Ries Bernard
    Teachers
    • Ruffieux Simon
    Description

    In this course, we teach the main principles of algorithmic design, study classic algorithmic problems and introduce the most important algorithms for solving them.

    Algorithmic design principles are general approaches for developing algorithms. In particular, we consider recursive and inductive methods, divide-and-conquer, backtracking and dynamic programming.

    Over the years, a number of algorithmic problems have established themselves as classical problems of computer science, and elegant data structures and algorithms have been developed to solve these problems. In this course, we consider the following problems, data structures and algorithms:

    • Sort: merge sort and quicksort
    • Search: symbol tables, binary search trees, balanced search trees, hash tables
    • Graphs: spanning trees, shortest paths, maximum flows
    • Strings: String search, tries, regular expressions, data compression

    Applications from practice illustrate the concepts.

    Training objectives

    The students gain a basic understanding of the design and analysis of data structures and algorithms.

    Condition of access

    Basic programming skills, particularly in Java

    Comments

    In general, the course consists of two hours of lecture followed by two hours of classroom exercises, which are overseen by the teachers and their assistants.

    Registration to the cours AND exams is mandatory and does not automatically happen if you are registered to a class. Please observe the deadlines of the faculty of science and medicine.

    Thank you for registering as well on Moodle: https://moodle.unifr.ch/course/view.php?id=277166. Note that the validation key is given during the first lecture. If you missed the first lecture, You may send an email to the lecturer to obtain the key 

    Softskills No
    Off field No
    BeNeFri Yes
    Mobility Yes
    UniPop No

    Documents

    Bibliography
    • Textbooks
      • (mandatory) Algorithms, Robert Sedgewick und Kevin Wayne,
        Addison-Wesley, 4th edition, 2011
      • Introduction to Algorithms, Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, Clifford Stein, The MIT Press, 3rd edition, 2009
  • Dates and rooms

    Campus / room change for following dates:  

    Tuesday 21.11.2023 PER21: 
    08:15h - 10:00h PER21 C130
    10:15h - 12:00h PER21 F130

    Tuesday 05.12.2023 PER21: 
    08:15h - 12:00h PER21 B130

    Date Hour Type of lesson Place
    19.09.2023 08:15 - 12:00 Cours PER 21, Room A120
    26.09.2023 08:15 - 12:00 Cours
    03.10.2023 08:15 - 12:00 Cours
    10.10.2023 08:15 - 12:00 Cours
    17.10.2023 08:15 - 12:00 Cours
    24.10.2023 08:15 - 12:00 Cours
    31.10.2023 08:15 - 12:00 Cours
    07.11.2023 08:15 - 12:00 Cours
    14.11.2023 08:15 - 12:00 Cours
    28.11.2023 08:15 - 12:00 Cours
    05.12.2023 08:15 - 12:00 Cours
    12.12.2023 08:15 - 12:00 Cours
    19.12.2023 08:15 - 12:00 Cours
  • Assessments methods

    Written exam - SA-2023, Session d'hiver 2024

    Date 06.02.2024 10:00 - 12:00
    Assessments methods By rating
    Descriptions of Exams

    Selon modalité A de l'annexe du plan d'études en informatique

    Requirements

    Validation des séries d’exercices selon les critères du cours 

    Comment

    Closed book exam

    Written exam - SP-2024, Autumn Session 2024

    Assessments methods By rating
    Descriptions of Exams

    Selon modalité A de l'annexe du plan d'études en informatique

    Requirements

    Validation des séries d’exercices selon les critères du cours 

    Comment

    Closed book exam

  • Assignment
    Valid for the following curricula:
    Additional Courses in Sciences
    Version: ens_compl_sciences
    Paquet indépendant des branches > Advanced courses in Computer Science (Bachelor level)

    Additional Programme Requirements to the MSc in Bioinformatics and Computational Biology [MA]
    Version: 2022_1/V_01
    Additional Programme Requirements to the MSc Bioinformatics and Computational Biology > Advanced courses in Computer Science (Bachelor level)

    Additional Programme Requirements to the MSc in Computer Science [MA]
    Version: 2022_1/V_01
    Supplement to the MSc in Computer science > Advanced courses in Computer Science (Bachelor level)

    Additional Programme Requirements to the MSc in Digital Neuroscience [MA]
    Version: 2023_1/V_01
    Supplement to the MSc in Computer science > Advanced courses in Computer Science (Bachelor level)

    Additional TDHSE programme in Computer Science
    Version: 2022_1/V_01
    Additional TDHSE Programme Requirements for Computer Science 60 or +30 > Programmes 60 or +30 > Additional Programme Requirements to Computer Science 60 > Additional TDHSE programme for Computer Science 60 (from AS2020 on)

    Ba - Business Informatics - 180 ECTS
    Version: 2020/SA_V02
    2nd year 60 ECTS > Algorithmics

    Computer Science 120
    Version: 2022_1/V_01
    BSc in Computer science, Major, 2nd-3rd year > Computer Science 2nd and 3th year (from AS2021 on)

    Computer Science 30
    Version: 2022_1/V_01
    Minor in Computer science 30 > Computer Science Minor 30 and 60 ECTS compulsory (from SA2020 on)

    Computer Science 60
    Version: 2022_1/V_01
    Minor in Computer Science 60 > Computer Science Minor 30 and 60 ECTS compulsory (from SA2020 on)

    Computer Science 50 [BSc/BA SI]
    Version: 2022_1/V_01
    BSc_SI/BA_SI, Computer science 50 ECTS, 1st-3rd years > BSc_SI/BA_SI, Computer Science, 2nd-3rd years, elective courses for 50 ECTS (from AS2020 on)

    Computer Science [3e cycle]
    Version: 2015_1/V_01
    Continuing education > Advanced courses in Computer Science (Bachelor level)

    Computer Science [POST-DOC]
    Version: 2015_1/V_01
    Continuing education > Advanced courses in Computer Science (Bachelor level)

    Computer Science [TDHSE] 60
    Version: 2022_1/V_01
    Minor in Computer Science (TDHSE) 60 > Computer Science Minor TDHSE 60 ECTS (from SA2021 on)

    Mathematics 30 for Mathematicians (MATH 30MA)
    Version: 2022_1/V_01
    Mathematics for mathematicians (MATH 30MA), minor 30 (from AS2020 on) > Mathematics, minor MATH 30MA, elective courses (from AS2018 on)

    Mathematics 30 for Physicists (MATH 30PH)
    Version: 2022_1/V_01
    Mathematics for physicists (MATH 30PH), minor 30 (from AS2020 on) > Mathematics, minor MATH 30PH, elective courses (from AS2018 on)

    MiBa - Computer Management - 60 ECTS
    Version: 2021/SA_V03
    Register in the option corresponding to your situation. > Standard > Min. 18 ECTS from the list > Algorithmics

    Pre-Master-Programme to the MSc in Bioinformatics and Computational Biology [PRE-MA]
    Version: 2022_1/V_01
    Prerequisite to the MSc in Bioinformtics and Computational Biology > Advanced courses in Computer Science (Bachelor level)

    Pre-Master-Programme to the MSc in Computer Science [PRE-MA]
    Version: 2022_1/V_01
    Prerequisite to the MSc in Computer science > Advanced courses in Computer Science (Bachelor level)

    Pre-Master-Programme to the MSc in Digital Neuroscience [PRE-MA]
    Version: 2023_1/V_01
    Prerequisite to the MSc in Computer science > Advanced courses in Computer Science (Bachelor level)