Algorithms and Data Structures I
Course, Bachelor's level, 1DL210
Expand the information below to show details on how to apply and entry requirements.
Autumn 2025
Autumn 2025,
Uppsala, 33%, On-campus, English
- Location
- Uppsala
- Pace of study
- 33%
- Teaching form
- On-campus
- Instructional time
- Daytime
- Study period
- 1 September 2025–2 November 2025
- Language of instruction
- English
- Entry requirements
-
10 credits in computer programming (Program Design, Programming Techniques II, or the equivalent) and 10 credits in mathematics, including basic algebra. Alternatively 45 credits in the Master's Programme in Language Technology (HSP2M).
- Selection
-
Higher education credits in science and engineering (maximum 240 credits)
- Fees
-
If you are not a citizen of a European Union (EU) or European Economic Area (EEA) country, or Switzerland, you are required to pay application and tuition fees.
- First tuition fee instalment: SEK 10,833
- Total tuition fee: SEK 10,833
- Application deadline
- 15 April 2025
- Application code
- UU-11032
Admitted or on the waiting list?
- Registration period
- 25 July 2025–7 September 2025
- Information on registration from the department
Autumn 2025
Autumn 2025,
Uppsala, 33%, On-campus, English
For exchange students
- Location
- Uppsala
- Pace of study
- 33%
- Teaching form
- On-campus
- Instructional time
- Daytime
- Study period
- 1 September 2025–2 November 2025
- Language of instruction
- English
- Entry requirements
-
10 credits in computer programming (Program Design, Programming Techniques II, or the equivalent) and 10 credits in mathematics, including basic algebra. Alternatively 45 credits in the Master's Programme in Language Technology (HSP2M).
Admitted or on the waiting list?
- Registration period
- 25 July 2025–7 September 2025
- Information on registration from the department
About the course
The course treats a number of fundamental data structures such as linked lists, stacks, queues, and trees, as well as more advanced data structures. These structures can be used to implement sequences, sets and graphs - where different choices have different effects on the usage of memory and time. An important part of the course is the mathematical analysis of the execution time as a function of the size of the problem. The course treats also general principles for the construction of algorithms, as well as questions like "What is theoretically the fastest possible way to solve this problem?".