bild
School of
Computer Science
and Communication
KTH / CSC / CVAP / Kai Hübner / Lectures / EL2310 - Scientific Programming

EL2310 Scientific Programming (2009)

Scientific Programming is a programming course that started September 2008. It is worth 7.5 credits, given in the first quester (lp1) and is tailored for the Systems, Control and Robotics program. The aim is to ensure that everyone can use MATLAB, which will be used in many advanced courses, as well as program in C/C++. The examination of this course is through projects that should be solved individually. The student is expected to live up to the when performing this work.


Overview

The course consists of 16 lectures, 3 labs and 3 individual projects. The idea is that the lab sessions will introduce the tools necessary to solve the projects and provide supervised hands-on experience. The three projects, each covered one part of the course, MATLAB, C and C++ and has as a theme control and path planning for mobile robots.

The course will start with MATLAB as it is needed in other courses, move on to C and finish with C++. The aim is not to make programming wizards out of everyone, but rather make sure that everyone masters MATLAB and has basic knowledge in C/C++. Most people will already have some or even plenty of programming experience and for these students the course will primarily act as a "brush up" on programming, and instead illustrate some problems in robotics in the domain of control and path planning.

Lecture outline

The exact lecture distribution will be updated along the course, but a rough outline is :
  • Introduction: course outline, motivating examples, [L1]
  • MATLAB using it as a tool and programming [L2-L5]
  • Programming in C [L6-L12]
  • Programming in C++ [L13-L16]

Labs

The labs are intended to give the student the hands-on experience. You are encourage to work together during the labs to learn from each other and discuss problems. Though you do not have to do labs, they will provide and good opportunity to discuss problems with a collegue. They can also act as a starting point for questions to the teacher or an assistant.

You can borrow a CD with MATLAB for Windows or Linux/Mac. See library for more information. You can also download MATLAB and other programs directly from the web.

You can download instructions that will help you during the lab sessions. As the background knowledge between participants usually varies much, you are encouraged to explore on your own and discuss in groups as well.

Projects

The examination of the course is in the form of projects that should be solved individually by each student. Each student should be ready to explain all details about the solution that they have.

Student's are encouraged to bring the paper for signatures with them when they present the result of the project so that the person looking at the project can sign it. In the best of worlds you should not need this, but it is a suggestion.

Process of submission:

1. you submit your files (source files + optional docu) to khubner@kth.se,
2. your solutions will be evaluated (which takes some time),
3. if most of it is correct and we are confident with your work, it will be accepted by giving you feedback by mail.
4. dependent on that feedback, we may formulate some questions or comments
5. those comments will then be discussed when you come along to get your signature on your signature sheet.

You have to keep your signature sheet - since this proves your passing of the projects. Having three signatures for the three projects at the end of the course means: you have passed the course.


Schedule & Material

The official schedule on when and where the lecture will be held can be found below (click here if you can not see the table).

The lecture slides on each lecture will be available shortly before each lecture.

Notes:

2009-09-01The computer rooms you can use are not the fylkesalarna, but those in the E-Building, on 4th and 5th floor. The slides of today (very last slide of 2009-09-01) have been updated.
2009-09-03The course's MatLab Lab is available now.
2009-09-04The course's MatLab Project is available now.
2009-09-09The MatLab Lab Help Session has been set to Wednesday, 16th of September, between 11:15 and 12:45.
2009-09-14The submission deadline for the MatLab Project has been set to Monday, 28th of September.
2009-09-17A signature sheet is available here. Please print out a sheet and keep it for your project signatures. Each time a project solution has been evaluated by the teacher, you have to get a signature on that sheet.
2009-09-21The course's C Lab is available now.
2009-09-22The course's C Project is available now.
2009-09-24The C Lab Help Session has been set to Wednesday, 30th of September, between 11:30 and 12:30.
2009-09-29For those of you who submitted parts in time, the submission deadline for the MatLab Project has been extended to Thursday, 1st of October
2009-09-30Note: In the schedule below, there is (at the very end) an entry for an exam. The exam has been entered accidentally and is meant for another course. There will be no exam in this course. Requirements are only related to the 3 projects (see above).
2009-10-01The submission deadline for the C Project has been set to Thursday, 15th of October.
2009-10-07The course's C++ Lab and C++ Project are available now.
2009-10-12The submission deadline for the C Project has been extended to Sunday, 25th of October
2009-10-22Two doodles are out for voting on a time for C++ Lab session (doodle link) and a MatLab signature session (doodle link). Please vote until Sunday, 25th of October. Then the times will be selected.
2009-10-26Please do not vote for the doodles anymore. Those who voted got informed when to come to a session.
2009-10-29The submission deadline for the C++ Project has been set to Monday, 16th of November
2009-11-17The course evaluation form has been published on bilda.kth.se (see bottom of the page).


Slides






Labs











Literature

There is no course book in the normal sense in the course as students have very different backgrounds. Lecture notes will be available along the way of the course online.

There is plenty of good information online, or in books,

MATLAB Mathworks online documentation
Introduction to Matlab - TU Delft
An introduction to Matlab - Dundee
"Matlab for Engineers Explained", F. Gustafsson och N. Bergman, Springer Verlag, 2003 (ISBN 1-85233-697-8)

C C/C++ Reference
C Tutorial
C Programming
C FAQ
"The C Programming Language", Kernighan and Ritchie, 2nd edition, Prentice Hall (ISBN 0-13-110362-8)

C++ The C++ Resources Network
C/C++ Reference
C++ Tutorial
C++ FAQ
"The C++ programming language", Stroustrup, 3rd edition, Addison Wesley (ISBN 0-201-88954-4)

Course Evaluation

After some problems with the original course evaluation form, the evaluation has now been published in bilda. You have to login to bilda (bilda.kth.se) with your regular account. You will find the course there (EL2310 Sci Prog H09), and under contents you will find the questionnaire for the course's evaluation. Please answer until Monday, November 23rd.
Published by: Kai Hübner <khubner@kth.se>
Updated 2009-11-17