•   Data Structures and Algorithms 5G00BD79-3005 02.09.2019-20.12.2019  5 cr  (17I224) +-
    Learning outcomes of the course unit
    Students are able to:
    - specify, design and implement suitable data structures and algorithms for practical use and
    incorporate them as part of larger applications.
    - specify, design, implement and use stack, queue and list data structures and know their basic principles.
    - specify, design, implement and use dynamic data structures and know their basic principles.
    - specify, design, implement and use own data structures for specific use in applications.
    - specify, design, implement and use classical searching and sorting algorithms.
    Course contents
    Previous objectives will be addressed in the order shown. Every topic will first be
    handled in theory lessons, then practiced in teams on classrooms and the rest of the
    exercises will be made as independent homework.

    Name of lecturer(s)

    Erkki Hietalahti

    Recommended or required reading

    Following textbook is the primary source of information in this course:
    Robert L. Kruse, Alexander J. Ryba: Data Structures and Program Design in C ++.
    Prentice Hall, 1999.
    Other reading:
    Clifford A. Shaffer: A Practical Introduction to Data Structures and Algorithm Analysis.
    Second Edition. Prentice Hall, 2001.
    William Ford, William Topp: Data Structures with C ++ Using STL. Second Edition. Prentice Hall, 2002.
    Data Structures and Algorithm Analysis in C
    Mark Allen Weiss
    The Benjamin / Cummings Publishing Company, Inc.
    1993
    Data Structures and Algorithm Analysis in C ++,
    2nd edition
    Mark Allen Weiss
    Addison-Wesley
    February 1999
    Data Structures and Algorithms
    Ilkka Kokkarinen and Kirsti Ala-complex
    Satku - Kauppakaari
    2000
    The course materials will be published to tabula area of this course.
    Tabula usage is practised during the first lessons of this course.
    The course lecture / exercise material is in English, as well as the course
    the textbook.

    Planned learning activities and teaching methods

    The three-hour block begins with theory lesson. After that we go
    through homework exercises and the rest of the time is used to begin new
    homeworks or continuing programming projects. In this phase teacher acts
    as a consultant / coach.

    Assessment methods and criteria

    Course performance is evaluated on the basis of exercise activity and
    programming projects made in the course. Both of these are evaluated on
    the scale of 0-5 and the course grade is the average of these two
    rounded upward.
    In exercise activity following scale is used:
    - 0 - 20% of all exercises made => score is 0
    - 20 - 35% of all exercises made => score is 1
    - 35-50% of all exercises made => score is 2
    - 50-65% of all exercises made => score is 3
    - 65-80% of all exercises made => score is 4
    - 80% or over of all exercises made => score is 5
    There will be three programming projects in the course. Each of these
    are graded as points between 0 - 5 and your total point of programming
    projects is the average of these rounded upward. Requirements of each
    project are spesified separately during the course. The more work you do
    for each project the better points value you get from it. Projects are
    made in an incremental way: first you do a very simple program and after
    that you add increments and so on.

    Language of instruction

    Finnish

    Timing

    02.09.2019 - 20.12.2019

    Registration

    03.06.2019 - 06.09.2019

    Credits

    5 cr

    Group(s)

    17I224

    Teacher(s)

    Erkki Hietalahti

    Unit, in charge

    Degree Programme in ICT Engineering

    Degree programme(s)

    Degree Programme in ICT Engineering, students who began in 2014-2018

    Office

    TAMK Main Campus

    Evaluation scale

    0-5

    Exam schedule

    There is no exam in this course.

    Students use of time and load

    See above. Time for independent / group work outside of class lessons should be reserved same amount as time for contact hours in the course.

    Content periodicity

    Course topics include following areas - subjects are straight from course textbook
    chapter titles:
    - Programming Principles
    - Introduction to Stacks
    - Queues
    - Linked Stacks and Queues
    - Recursion
    - Lists
    - Searching
    - Sorting
    Course schedule and division of topics in it are published to a separate Excel file,
    which will be published to tabula.

    Assessment criteria
    Satisfactory

    Can solve given tasks with the help of examples and ready made solutions.

    Good

    Manages the whole and knows how to apply examples in different situations.

    Excellent

    Can combine given information in a clever way and can analyze her/his own solutions.

    Approved/Failed

    Not able to cope with the tasks entrusted even with assistance.