Knowledge and skills in programming, 6 credits, equivalent to completed course DD1337/DD1310-DD1318/DD1321/DD1331/DD100N/ID1018.
Knowledge in foundations of computer science, 6 credits, equivalent to completed course DD1338/DD1320-DD1327/DD2325/ID1020/ID1021.
Knowledge in discrete mathematics, 3 higher education credits, equivalent to completed course SF1671/SF1610/SF1630/SF1662/SF1679.
Knowledge in algebra and geometry, 7.5 higher education credits, equivalent to completed course SF1624.
Knowledge in calculus in one variable, 7.5 higher education credits, equivalent to completed course SF1625.
Active participation in a course offering where the final examination is not yet reported in LADOK is considered equivalent to completion of the course.
Being registered for a course counts as active participation.
The term 'final examination' encompasses both the regular examination and the first re-examination.
Good programming skills (equivalent to DD1337/DD1310-1319/DD1331/DD1332/ID1018). For lab 2, some knowledge of Java programming is needed. In some of the labs in the course, a more efficient programming language than Python has to be used, e.g. Java or C/C++.
Concepts from algorithms and data structures (equivalent to DD1338/DD1320-DD1328/ID1021) including algorithm analysis, time complexity, pseudocode, algorithm justification, algorithms for searching and sorting, data structures: lists, queues, stacks, sets, binary trees, priority queues, hash tables.
Concepts from probability theory (equivalent to SF1900-SF1935) including probability, conditional probability, independence, expectation.
Concepts from logic (equivalent to DD1351) including propositional logic, induction, and program verification.
Concepts from algebra and geometry (equivalent to SF1624) including vectors, matrices, systems of linear equations, vector geometry with scalar and vector products.
Concepts from single-variable calculus (equivalent to SF1625) including functions, domains, ranges, increasing and decreasing functions, exponential functions and logarithms, power laws, logarithmic laws, limits, l'Hôpital's rule, sequences, and series.
Concepts from discrete mathematics including sets, induction, recurrence equations, numeral systems, divisibility, Euclid's algorithm, prime numbers, unique factorization, modular arithmetic, graphs, Eulerian circuits, Hamiltonian cycles, trees, graph coloring, bipartite graphs, permutations, rings. Anyone who has not completed 7.5 credits of discrete mathematics equivalent to SF1610/SF1630/SF1662/SF1679 by the start of the course must take SF1688 in parallel with DD2350, see additional regulations in the course syllabus.