Data Structures and Algorithms (5 cr)
Code: TT00CN71-3006
General information
- Enrollment
-
02.08.2025 - 31.08.2025
Registration for introductions has not started yet.
- Timing
-
02.09.2025 - 21.12.2025
The implementation has not yet started.
- Number of ECTS credits allocated
- 5 cr
- Local portion
- 5 cr
- Mode of delivery
- Contact learning
- Unit
- Engineering and Business
- Campus
- Kupittaa Campus
- Teaching languages
- English
- Seats
- 10 - 60
- Degree programmes
- Degree Programme in Information and Communications Technology
- Degree Programme in Information and Communication Technology
- Teachers
- Ali Khan
- Teacher in charge
- Ali Khan
- Groups
-
EMBO24Embedded Software and IoT
- Course
- TT00CN71
Evaluation scale
H-5
Content scheduling
Week 36: Course introduction
Session from Weeks 36 - 48
- Algorithms and algorithmic thinking
- Data structures
- Search algorithms
- Sorting algorithms
Contact hours according to lukkari.turkuamk.fi.
Objective
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.
Content
- lists, stacks, queues, trees, graphs and hash tables
- analysing and evaluating algorithms
- designing algorithms
- sorting methods
- search algorithms
Materials
Material available via the learning environment (ITS).
Teaching methods
Weekly contact 3 hours sessions for theory and practical exercises.
Additionally, if needed weekly 1h sessions for questions and support in exercises.
Exam schedules
No exam, and retake not possible after evaluation grade is published.
Pedagogic approaches and sustainable development
The course has 13 three-hour contact sessions where teacher present theory and examples and students work with practical tasks.
Additionally, students are able to receive extra guidance for exercises.
Electronic materials are used in the course. In addition, guidance is also organized online in order to reduce the carbon footprint caused by movement.
In teaching this course, active pedagogic methods like constructivist learning, flipped classroom, and project-based learning help students develop problem-solving, collaboration, and critical thinking skills. Continuous assessment and differentiated instruction support diverse learners.
Sustainable development is integrated by highlighting algorithm efficiency and its impact on energy consumption, promoting inclusive education, and encouraging innovation through real-world applications. Example activities include analyzing the environmental impact of algorithms or designing memory-efficient data structures for low-power devices.
This approach ensures students gain both technical expertise and awareness of their role in building sustainable digital solutions.
Completion alternatives
Self-paced learning
Student workload
Contact hours
- Course introduction: 3 hours
- 13 times 2h theory: 13 x 2h = 26 hours
- 13 times 1h demo 13 x 1h = 13 hours
- FLIP Classroom 10 X 1h = 10h
Home work:
- Working with assignments: approximately 80 hours
Total: approximately 130 hours
Evaluation methods and criteria
The course is graded on a scale of 0-5.
You can achieve 80 points from practical exercises in class room and home work exercises.
Around half of the exercises are done during the contact hours.
Demonstrations of exercises during the contact session is mandatory without demonstration you will lose 50% of your marks.
Additionally, there is a group project of 20 points, passing group project is mandatory to pass the course.
Lastly, to pass the course the student need to get at least 40 marks in the exercises and at least 10 marks in the project.
Failed (0)
Less than 50% points in the exercises OR Student does not passed the group project.
Assessment criteria, satisfactory (1-2)
50 points -> 1
60 points -> 2
Assessment criteria, good (3-4)
70 points -> 3
80 points -> 4
Assessment criteria, excellent (5)
90 points -> 5
Qualifications
Introduction to Programming, or equivalent programming skills
Further information
ITS and Teams.
USE OF ARTIFICIAL INTELLIGENCE REPORTED
Allowed, can be used, must be reported. Artificial intelligence can be used in the creation of outputs, but the student must clearly report its use. Failure to disclose the use of AI will be interpreted as fraud. The use of AI may affect the assessment.