DD1312 Programming Techniques and Matlab 8.0 credits
A basic course in programming techniques.
Content and learning outcomes
Course contents
Fundamental computer concepts.
Programming in a modern programming language (Python). Data structures. Using simple graphics routines. Problem-solving through division into sub-problems. Program structuring. Several smaller programming assignments as well as one larger, individual programming assignment with strong emphasis on structuring and specification of included modules.
Interactive computation, programming and two-dimensional graphical presentation in Matlab.
Intended learning outcomes
After passing the course, the student shall be able to
- design programs without code repetitions
- divide a larger problem in manageable parts
- divide a program
- apply control structures
- design and present user friendly output
- create flexible applications
- choose appropriate names of identifiers
- design interactive programs
- use and design composite data types and classes
- transfer data between file and program
- review others' programs
- handle matrices and use matrix operations in Matlab
- use existing functions from the Matlab library for computation and visualisation
- write own Matlab functions
in order to be able to
- use programming to solve problems
- apply the problem solving methodology also in other fields than programming
- discuss software development with experts
- assess commercial programs
- independently and in a group be able to solve problems by designing programs of up to 500 lines in a modern programming language
- utilise Matlab as an aid for numerical computations and visualisation in other courses.
Literature and preparations
Specific prerequisites
Recommended prerequisites
High school mathematics (scientific program). Some computer experience (the concepts of operating system and file and experience from one computer application, e.g. word processing).
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
- LAB1 - Laboratory Work, 2.0 credits, grading scale: P, F
- LAB2 - Laboratory Work, 1.5 credits, grading scale: P, F
- LAB3 - Laboratory Work, 3.0 credits, grading scale: A, B, C, D, E, FX, F
- MAT1 - Laboratory Work, 1.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.
LAB2 consists of a digital test
Other requirements for final grade
Compulsory attendance at the exercises of the course
Opportunity to complete the requirements via supplementary examination
Opportunity to raise an approved grade via renewed examination
An approved grade can be raised via renewed examination within a year from the start of the course offering. The end of this period normally coincides with the start of next year's corresponding course offering.
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
DD1320/DD1325 Applied Computer Science and DD1380 Java Programming for Python Programmers.
Contact
Supplementary information
From 2023/2024, the course will be replaced by DD1319.
Only one of the following courses may be counted in your degree:
DD100N, DD1310-DD1319, DD1331, DD1337, DD1340-DD1343, DD1345, DN1212, HI1024, HI1026, ID1004, ID1018, ID1201, ID1301, SF1511, SF1513, SF1516-SF1519.
In this course, the EECS code of honor applies, see:
http://www.kth.se/en/eecs/utbildning/hederskodex