EL2310 Scientific Programming 7.5 credits
This course has been discontinued.
Last planned examination: Spring 2020
Decision to discontinue this course:
No information insertedContent and learning outcomes
Course contents
The course focuses on providing the participants with the tools that are needed to work in research and development in an environment where computers are becoming increasingly more important. To instruct computers, programming is needed.
The following will be covered in the course:
- Basic general concepts in programming such as variables, functions, objects, classes, etc.
- Basic programming, input/output of data, processing of data and visualisation in MATLAB
- Basic programming, input/output of data and processing in C/C++ and basic concepts in object oriented programming.
Intended learning outcomes
The goal of the course is to provide the participants with a basic
knowledge in programming in general and specifically in
MATLAB, C and C++.
After completing the course, the participants should:
- be able to demonstrate and discuss basic concepts in programming such as loops, recursion, memory access and object oriented programming.
- be able to read in, process and display data in MATLAB
- solve problems and implement algorithms in MATLAB
- be skilled enough in the use of MATLAB to understand programs written in MATLAB and to independently learn about more advanced features of MATLAB.
- be able to read in and process data in programs written in C and C++
- be able to solve problems and implement algorithms in C and C++
- be able to describe what simple programs written in C or C++ do, i.e., be able to read and understand existing code in those programming languages.
- be able to document their code and have an understanding of the importance of writing code that others can understand also.
- be able to change code, correct errors and build upon existing code in MATLAB, C and C++.
Literature and preparations
Specific prerequisites
For single course students: 120 credits and documented proficiency in English B or equivalent.
Recommended prerequisites
None required, but without any programming experience at all the student will need to work very hard.
Equipment
Literature
Det finns ingen kursbok. Föreläsningsanteckningar distribueras online
För de studenter som trots allt önskar en bok rekommenderas
- MATLAB
F. Gustafsson och N. Bergman, Matlab for Engineers Explained, Springer Verlag, 2003 (ISBN 1-85233-697-8) - C
Kernighan and Ritchie, The C programming language, 2nd edition, Prentice Hall (ISBN 0-13-110362-8) - C++
Stroustrup, The C++ programming language, Addison Wesley
There is no dedicated course book. Lecture notes will be distributed
online. For those who would like a book, the following are recommended:
- MATLAB
F. Gustafsson och N. Bergman, Matlab for Engineers Explained, Springer Verlag, 2003 (ISBN 1-85233-697-8) - C
Kernighan and Ritchie, The C programming language, 2nd edition, Prentice Hall (ISBN 0-13-110362-8) - C++
Stroustrup, The C++ programming language, Addison Wesley
Examination and completion
If the course is discontinued, students may request to be examined during the following two academic years.
Grading scale
Examination
- LAB1 - Programming in MATLAB, 2.5 credits, grading scale: P, F
- LAB2 - Programming in C, 2.5 credits, grading scale: P, F
- LAB3 - Object Oriented Programming, 2.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.
Other requirements for final grade
To pass the course, the students need to successfully complete
each of the three projects incl homework assignments: MATLAB, C and C++.
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
There is a large number of programming courses at KTH.
Contact
Supplementary information
The course is mainly a so-called transition course and should not be
read by students who already read:
DD2310 Javaprogrammering för Pythonprogrammerare
DD2385 Programutvecklingsteknik
DD2387 Programsystemkonstr. m. C++
DD1320 Tillämpad datalogi
DD1321 Tillämpad programmering och datalogi
DD1322 Tillämpad programmering och datalogi, del 1
DD1324 Tillämpad programmering och datalogi, del 2
DD1332 Objektorienterad programmering
DD1343 Datalogi och numeriska metoder, del 1
DD1345 Grundläggande programmering och datalogi
DD1346 Objektorienterad programkonstruktion