Data Structures and Algorithms (5 cr)
Code: 5G00BD79-3005
General information
- Enrolment period
- 03.06.2019 - 06.09.2019
- Registration for the implementation has ended.
- Timing
- 02.09.2019 - 20.12.2019
- Implementation has ended.
- Credits
- 5 cr
- Mode of delivery
- Contact learning
- Unit
- ICT Engineering
- Campus
- TAMK Main Campus
- Teaching languages
- Finnish
- Degree programmes
- Degree Programme in ICT Engineering, students who began in 2014-2018
Objectives (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.
Content (course unit)
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.
Exam schedules
There is no exam in this course.
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.
Assessment scale
0-5
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.
Learning materials
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.
Student workload
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 scheduling
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 - fail (0) (Not in use, Look at the Assessment criteria above)
Not able to cope with the tasks entrusted even with assistance.
Assessment criteria - satisfactory (1-2) (Not in use, Look at the Assessment criteria above)
Can solve given tasks with the help of examples and ready made solutions.
Assessment criteria - good (3-4) (Not in use, Look at the Assessment criteria above)
Manages the whole and knows how to apply examples in different situations.
Assessment criteria - excellent (5) (Not in use, Look at the Assessment criteria above)
Can combine given information in a clever way and can analyze her/his own solutions.