DD1327 Fundamentals of Computer Science 6.0 credits

Choose semester and course offering
Choose semester and course offering to see information from the correct course syllabus and course offering.
Content and learning outcomes
Course contents
Algorithms and data structures: A systematic overview of the concepts abstract data types, stacks, queues, lists, trees, searching, sorting and recursion based on the knowledge the students acquired in the course Fundamentals of programming. Hashing, priority queues, search trees, problem trees, text searching, simple syntax analysis, encryption and automata. Algorithm analysis.
Programming: Software development methodology, programme quality, abstraction, modularisation, testing, system calls, standard libraries.
Intended learning outcomes
After completion of the course, the student should be able to:
- systematically test programs to discover errors,
- use abstraction as a tool to simplify the programming,
- choose appropriate algorithm to a given problem,
- describe different algorithms for searching, sorting and encryption as well as their properties,
- model problems using graphs and implement algorithms for searching in graphs,
- implement and use basic data structures,
- design and analyse simple algorithms with data structures,
in order to:
- become a good problem solver using programming,
- be able to use computational methods in application projects, and
- acquire sufficient prior knowledge to be able to take advanced courses in computer science.
Course disposition
No information inserted
Literature and preparations
Specific prerequisites
DD1331 or the equivalent (for example DD1310).
Recommended prerequisites
DD1331 Fundamentals of Programming and SF1672 Linear algebra, or the equivalent.
Equipment
No information inserted
Literature
No information inserted
Examination and completion
If the course is discontinued, students may request to be examined during the following two academic years.
Grading scale
A, B, C, D, E, FX, F
Examination
- IND1 - Individual home assignments, 2.0 credits, grading scale: A, B, C, D, E, FX, F
- LAB1 - Laboratory assignments, 4.0 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.
Other requirements for final grade
Passed laboratory assignments and individual home assignment.
Opportunity to complete the requirements via supplementary examination
No information inserted
Opportunity to raise an approved grade via renewed examination
No information inserted
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 web
Further information about the course can be found on the Course web at the link below. Information on the Course web will later be moved to this site.
Course web DD1327Offered by
Main field of study
Technology
Education cycle
First cycle
Add-on studies
For example DD1380 Java programming for Python programmers followed by DD1385 Software engineering and/or DD1386 Internet programming, DD1368 Database technology, DD1418 Language engineering with introduction to machine learning, DD2350 Algorithms, datastructures and complexity.
Contact
Stefan Nilsson
Supplementary information
Only one of the following courses can be counted in your degree: DD1320, DD1321, DD1325, DD1326, DD1327, DD1338, DD1339, DD1340, DD1341, DD1343, DD1344, DD1345, DD2325, EL2310, HI1201, ID1020, ID1021.
In this course, the EECS code of honor applies, see:
http://www.kth.se/en/eecs/utbildning/hederskodex