Programming methodology in Python, containing aspects as programme quality, testing and troubleshooting strategies. Examples of both imperative and object-oriented programming are included, as well as programming with recursion. Algorithms that handle searching and sorting related to different data structures. Examples of treated data structures are stacks, queues, trees, hash tables and graphs. Algorithms for compression. Applications in computer science and numerical analysis.
DD2325 Applied Programming and Computer Science 7.5 credits
An introductory course in computer science and programming practise.
Information per course offering
Course offerings are missing for current or upcoming semesters.
Course syllabus as PDF
Please note: all information from the Course syllabus is available on this page in an accessible format.
Course syllabus DD2325 (Autumn 2023–)Content and learning outcomes
Course contents
Intended learning outcomes
After passing the course, the student should be able to
- write structured programmes in Python
- use classes and objects in program design
- troubleshoot programs systematically
- use abstraction as a tool to simplify the programming
- select an appropriate algorithm for a given problem
- compare algorithms with regard to time and memory usage
- describe algorithms for searching and sorting
- design and explain recursive algorithms
- describe different data structures in problem-solving contexts, such as stack, queue, tree, hash table, priority queue and graph
- implement and use different data structures in problem-solving contexts such as stack, queue, tree and hash table
- model problems as search problems and implement algorithms for graph search, such as breadth-first search and depth-first search
in order to master problem solving with programming, be able to use computational methods in applied contexts and acquire sufficient prior knowledge to be able to take advanced courses in computer science.
Literature and preparations
Specific prerequisites
- Knowledge in basic mathematics, 15 higher education credits.
- Knowledge and skills in programming, 6 higher education credits, equivalent to completed course DD1310/DD1311/DD1312/DD1314/DD1315/DD1316/DD1318/DD1331/DD100N/ID1018.
- The upper secondary course English B/6.
Recommended prerequisites
Knowledge of programming.
Equipment
Literature
Examination and completion
If the course is discontinued, students may request to be examined during the following two academic years.
Grading scale
Examination
- HEM1 - Home work, 3.0 credits, grading scale: A, B, C, D, E, FX, F
- LABB - Laboratory work, 4.5 credits, grading scale: P, F
Based on recommendation from KTH’s coordinator for disabilities, the examiner will decide how to adapt an examination for students with documented disability.
The examiner may apply another examination format when re-examining individual students.
Opportunity to complete the requirements via supplementary examination
Opportunity to raise an approved grade via renewed examination
Examiner
Ethical approach
- All members of a group are responsible for the group's work.
- In any assessment, every student shall honestly disclose any help received and sources used.
- In an oral assessment, every student shall be able to present and answer questions about the entire assignment and solution.
Further information
Course room in Canvas
Offered by
Main field of study
Education cycle
Add-on studies
Advanced courses in computer science DD2350/DD2352, DD1418, DD1334, DD1420/DD2421, DH2323. Furthermore DD1380 followed by DD1385 or DD1389.
Contact
Transitional regulations
HEM1 replaces TEN1 for students who have not passed this module.
Supplementary information
Only one of the following courses can be counted in your degree: DD2325, DD1320-DD1328, DD1338-DD1345, EL2310, HI1201, ID1020, ID1021.
The course will not be given in 2024/2025. It is not decided when it will be given next.
In this course, the EECS code of honor applies, see:
http://www.kth.se/en/eecs/utbildning/hederskodex