autumn 2024
DTE-3611 Algorithms - Design and Analysis - 10 ECTS
Admission requirements
A relevant undergraduate Bachelor degree in Engineering program in computer science or equivalent.
In addition, the following requirements must be met:
- minimum 25 credits in mathematics (equivalent to Mathematical Methods 1, 2 og 3), 5 credits in statistics and 7,5 ects i physics on a higher level is required.
Application Code: 9371
Recommended knowledge about and being able to apply basic object-oriented programming, algorithms and data structures. Recommended experience with basic C++ programming, compilers, build systems and debugging
Course content
A master-level course in algorithms that focuses on decidability and analysis, design and efficiency, and implementation.
Advanced algorithms in selected categories covering different complexities are analyzed, implemented, benchmarked, and reported utilizing scientific methods.
Determinability, NP-completeness, dynamic programming, network flow- and graph algorithms, matching, and selected advanced data structures are central topics.
Objectives of the course
Knowledge
- An overview of standard non-polynomial problems and problem settings.
- Basic understanding of polynomial, pseudo-polynomial, and non-polynomial problems, their differences, and some proofs.
- Basic understanding of solution strategies for pseudo-polynomial and non-polynomial problems.
- Basic knowledge of challenging tasks in research by understanding a scientific way of working.
- Special knowledge of theories, methods, and tools for determining, analyzing, and solving problems using computer programming.
Skills
- Design algorithms that can solve specific problems.
- Write technically secure and efficient source code that implements a given algorithm, its invariants, and bounds.
- Ability to check determinability, and perform performance analysis and benchmarking, for implementations of algorithms.
- Write a scientific report which communicates the applied methods, experiments, and results.
Competence
- Can apply the knowledge and skills to analyze problem settings, determine their solvability, and recognize and distinguish between polynomial and non-polynomial problems;
- Can apply the knowledge and skills to solve solvable problems, and propose solutions for some NP-complete problems;
- Can apply the knowledge and skills to communicate problems, challenges, properties, limitations, and results to other specialists in the field of computer science engineering.
Teaching methods
The course is taught using an intensive teaching strategy during four non-consecutive weeks as a mixture of lectures and problem-based learning.
Problem-based learning, in this course, focuses on utilizing analysis- and programming skills to analyze problem settings, suggest strategies for solving, and then solve problems.
Efficient algorithms and their design and bounds are emphasized.
Information to incoming exchange students
This course is open for inbound exchange student who meets the admission requirements. Please see the Admission requirements" section".
Master Level
Do you have questions about this module? Please check the following website to contact the course coordinator for exchange students at the faculty: https://en.uit.no/education/art?p_document_id=510412.
Schedule
Examination
Examination: | Duration: | Grade scale: |
---|---|---|
Oral exam | 40 Minutes | A–E, fail F |
Coursework requirements:To take an examination, the student must have passed the following coursework requirements: |
||
Programming project | Approved – not approved |
- About the course
- Campus: Narvik |
- ECTS: 10
- Course code: DTE-3611
- Responsible unit
- Institutt for datateknologi og beregningsorienterte ingeniørfag
- Tidligere år og semester for dette emnet