(Created 2011-09-01.)

PROGRAMMING, FIRST COURSE | EDA017 |

**Aim**

The students shall learn to write small and medium-sized computer programs and attain basic knowledge of object-oriented programming and the programming language Java.

*Knowledge and understanding*

For a passing grade the student must

- be able to explain fundamental concepts in object-oriented and imperative programming
- be able to explain and give examples of use of fundamental algorithms, for example for searching and sorting
- be able to describe and give examples of use of fundamental data structures such as arrays, matrices and lists
- be able to list and describe the most basic Matlab functions

*Skills and abilities*

For a passing grade the student must

- be able to develop and implement algorithms to solve simple problems
- be able to implement Java classes, starting from given specifications
- be able to structure programs, both using subroutines and using classes and methods
- be able to use tools to write, test and debug programs
- be able to use Matlab to perform simulations and calculations to solve mathematical problems

*Judgement and approach*

For a passing grade the student must

- be able to estimate the degree of difficulty of writing different programs

**Contents**

Programs as models of real systems. Objects and operations, classes and methods. Basic Java programming, fundamental algorithms. Data structures: arrays, the class ArrayList. Inheritance, polymorphism. String classes. Object-oriented program development. Assignments in Matlab.

**Literature**

Material distributed by the department.

**Code: **0106.
**Name: **Programming Assignments.

**Higher education credits: ** 3.
**Grading scale: **UG.
**Assessment:** Completed programming assignments in Java.

**Code: **0206.
**Name: **Written Programming Examination.

**Higher education credits: ** 4,5.
**Grading scale: **TH.
**Assessment:** Written examination. The final grade of the course is based on the written examination.
**Further information:** To qualify for the written examination, students must have completed the compulsory assignments.

**Code: **0306.
**Name: **Introduction to Matlab.

**Higher education credits: ** 1,5.
**Grading scale: **UG.
**Assessment:** Completed assignments in Matlab.