DS830: Introduction to programming

Study Board of Science

Teaching language: Danish or English depending on the teacher
EKA: N340100102
Assessment: Second examiner: Internal
Grading: 7-point grading scale
Offered in: Odense
Offered in: Autumn
Level: Master

STADS ID (UVA): N340100101
ECTS value: 10

Date of Approval: 08-02-2021


Duration: 1 semester

Version: Archive

Comment

The course is co-read with: DM536, DM562, and DM857

Entry requirements

The course cannot be taken by students enrolled in the master programme in computer science. The course cannot be followed if the student has passed DM536, DM550, DM562, DM857, DS800, DS801 or MM560, or if the student has DM536, DM550, DM562, DM857, DS800, DS801 or MM560 mandatory in their curriculum.

Course introduction

The course provides an academic basis for solving problems by modelling and implementing computer programs.

In relation to the learning outcomes of the degree the course has explicit focus on:
  • giving the competence to plan and execute computer programs
  • knowledge of common programming methods
  • developing skills in programming in different types of programming languages
  • developing skills in software development
  • developing skills in constructing bigger software systems
  • developing skills in deciding and justify professional decisions
  • developing skills in describing, formulating and disseminating problems and results to either other professional or non-specialists or collaborative partners and users
  • giving the competence to handle complex and development-oriented situations in study and work contexts
  • giving the competence to identify one's own needs for learning and structure one's own learning in different learning environments
  • giving the competence to design higher level software architectures

Expected learning outcome

The learning objectives of the course are that the student demonstrates the ability to:
  • design models for concrete problems.
  • devise a program structure based on the model.
  • implement the planned program in the concrete programming language used.
  • find and use adequate elements in the program library belonging to the language.
  • plan and execute a testing of the program.
  • design and implement recursive solutions of problems.
  • design and implement abstract data types.
  • use basic tree structures and algorithms for these.

Content

The following main topics are contained in the course:
  • The basic structuring tools sequence, repetition, conditional instruction and procedure.
  • Fundamental data structures such as lists, maps, and trees.
  • Structured programming techniques, including examples and applications.
  • Recursion and recursive data structures.
  • Examples of abstract data types and their realization.

The course is taught in Python.

Literature

See Blackboard for syllabus lists and additional literature references.

Examination regulations

Exam element a)

Timing

January

Tests

The portfolio exam consists of small individual assignments and a group project (with written report and oral defense).

EKA

N340100102

Assessment

Second examiner: Internal

Grading

7-point grading scale

Identification

Student Identification Card

Language

Normally, the same as teaching language

Examination aids

To be announced during the course.

ECTS value

10

Additional information

Portfolio exam with oral defense consists of small individual assignments and a group project (with written report and oral defense). The oral defense is located during the exam period in January. 
The form of examination in the re-examination may be different from the form of examination in the ordinary examination. 

Indicative number of lessons

56 hours per semester

Teaching Method

At the faculty of science, teaching is organized after the three-phase model ie. intro, training and study phase.

  • Intro phase: 28 hours
  • Training phase: 28 hours, of which 20 hours of tuorials and 8 hours of laboratory

The intro phase facilitates an introduction to new material and topics, which in the skills training phase are processed with exercises prepared at home and discussed in class to validate the acquired knowledge.
The training phase is divided into tutorials and labs, where students learn the competencies that enable them to translate their knowledge into a solution and subsequently into concrete computer programs.
In the study phase, the students work independently to increase their understanding and their competencies regarding the content of the subject. Activities in the study phase: Programming of small assignments and projects.

Teacher responsible

Name E-mail Department
Marco Peressotti Peressotti@imada.sdu.dk Institut for Matematik og Datalogi

Additional teachers

Name E-mail Department City
Arthur Zimek zimek@imada.sdu.dk Institut for Matematik og Datalogi

Timetable

Administrative Unit

Institut for Matematik og Datalogi (datalogi)

Team at Educational Law & Registration

NAT

Offered in

Odense

Recommended course of study

Profile Education Semester Offer period