•   Data Structures and Algorithms TE00BR82-3002 31.08.2021-31.12.2021  5 op  (PTIVIS20O, ...) +-
    Opintojakson osaamistavoitteet
    After completing the course the student can:
    Explain the most common data structures.
    Apply the most common data structures and algorithms connected to the use of these structures.
    Evaluate the efficiency of algorithms.
    Opintojakson sisältö
    Lists, stacks, queues, trees, graphs and hash tables.

    Analysing and evaluating algorithms.

    Designing algorithms.   

    Sorting methods.

    Search algorithms.

    Vastuuopettaja

    Tapani Ojanperä

    Oppimateriaali

    Granville- Luca Del Tongo: Data Structures and Algorithms
    MatLab help files.
    https://dsa.codeplex.com/
    Various internet sources, links & descriptions are provided in itslearning environment.

    Oppimismenetelmät

    Flipped classroom principle, group and independent work, online activities (quizzes and problem sets)

    Arvioinnin kohteet, ajoitus ja menetelmät

    Realized partly in groups.
    Quizzes 20 % Quizzes (5) in itslearning diagnostic/formative instant scoring
    Problem Sets 40 % Different Problem Sets (8) in itslearning Flipped classroom diagnostic/formative self and teacher evaluation
    Final exam 40 % A written exam (100 minutes) on specified material Summative teacher evaluation at the end of the course.

    Opetuskieli

    Englanti

    Ajoitus

    31.08.2021 - 31.12.2021

    Ilmoittautumisaika

    16.08.2021 - 16.09.2021

    Ryhmä(t)
    • PTIVIS20O
    • PTIETS20sepm
    Opiskelijamäärä (min - max)

    30 - 80

    Vastuuyksikkö

    Tekniikka ja liiketoiminta

    Ohjausvastuut

    Tapani Ojanperä

    Lisätietoja

    All practical information on schedules, quizzes, problems, grading etc., as well as links to web materials are provided in itslearning environment.

    Toimipiste

    Kupittaan kampus

    Verkko-opetuksen osuus

    3 op

    Arviointiasteikko

    H-5

    Tenttien ajankohdat ja uusintamahdollisuudet

    One exam and two re-exams announced later on itslearning.

    Pedagogiset toimintatavat

    The course material is totally in English. Data Structures and Algorithms are very crucial to know in order to make successful programs. Besides some of the students are international ones.
    Material consists of PowerPoint slides, Word and PDF files. In addition, there are links to different web materials, e.g. lectures and presentations in YouTube and in some other places in Internet.
    The course consists of rounds of topics (learning material & quiz - homework - teacher review). There will be a specified time slot of each round.
    Some rounds have quizzes. Each quiz will consist of 4-6 quick questions, where the student needs to choose an answer out of 4 available ones, or answer yes or no.
    After every section there will be a homework assignment to solve some algorithmic problems related to the current subject.
    The Flipped Classroom technique is applied to this course.
    MatLab is used in graphs (drawing and algorithms).

    Oppimistehtävät ja opiskelijan työn mitoitus

    Lectures (including the exam) and classroom working 7 x 6h + 18h = 60h
    Homework 60h
    Preparing exam 15h
    Total 135h

    Sisältö ja ajoitus

    September – December 2021

    9/21: Algorithmic Thinking and Analysis
    10/21: Basic Data Structures
    11/21: Advanced Data Structures
    12/21: Sorting Algorithms, Search Algorithms, exam

    • Arrays, Linked List, Stack, Queue
    • Hash table, Trees, Graphs
    • Bubble, Selection, Insertion, Merge and Quick Sort methods
    • Binary search, Pathfinding, Shuffling

    Arviointikriteerit
    Hylätty (0)

    Student fails to meet most of the general objectives of the course in a satisfactory level.

    Arviointikriteerit - tyydyttävä (1-2)

    • has an elementary understanding on the performance of algorithms and in simple cases is able to apply some methods of analysis covered during the course.
    • is familiar with some major algorithms and data structures covered in the course.
    • has a basic understanding on how to apply the algorithmic design parameters covered in the course.
    • has an elementary understanding on data representation.
    • demonstrates some understanding on how to decompose programming problems in a purposeful way.
    • can use most elementary data structures appropriately.

    Arviointikriteerit - hyvä (3-4)

    • can analyze the performance of simple algorithms and is able to apply some of the methods of analysis covered during the course.
    • is familiar with most of the major algorithms and data structures covered in the course.
    • has an understanding of the algorithmic design parameters covered in the course.
    • has a good understanding on data representation.
    • demonstrates ability to decompose programming problems in a somewhat purposeful way.
    • can choose and use elementary data structures appropriately in most cases.

    Arviointikriteerit - kiitettävä (5)

    • can analyze the performance of algorithms and is able to apply all the methods of analysis covered during the course.
    • is familiar with all the major algorithms and data structures covered in the course.
    • is able to apply the algorithmic design parameters covered in the course.
    • has a deep understanding on data representation.
    • demonstrates ability to decompose programming problems in a purposeful way.
    • can choose and use elementary data structures appropriately.