Course syllabus for Fundamentals of program development

The course syllabus contains changes
See changes

Course syllabus adopted 2024-02-19 by Head of Programme (or corresponding).

Overview

  • Swedish nameGrundläggande programutveckling
  • CodeDAT555
  • Credits7.5 Credits
  • OwnerTKIEK
  • Education cycleFirst-cycle
  • Main field of studyComputer Science and Engineering, Software Engineering
  • DepartmentCOMPUTER SCIENCE AND ENGINEERING
  • GradingTH - Pass with distinction (5), Pass with credit (4), Pass (3), Fail

Course round 1

  • Teaching language Swedish
  • Application code 51111
  • Open for exchange studentsNo
  • Only students with the course round in the programme overview.

Credit distribution

0122 Laboratory 3 c
Grading: UG
3 c
0222 Examination 4.5 c
Grading: TH
4.5 c
  • 30 Okt 2024 pm J DIG
  • 18 Mar 2025 am J DIG
  • 19 Aug 2025 am J DIG
  • 12 Jun 2025 am J DIG

In programmes

Examiner

Go to coursepage (Opens in new tab)

Eligibility

General entry requirements for bachelor's level (first cycle)
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Specific entry requirements

The same as for the programme that owns the course.
Applicants enrolled in a programme at Chalmers where the course is included in the study programme are exempted from fulfilling the requirements above.

Aim

Computer programming is a basic skill needed in both studies and professional life. This course gives the basic skills so that the participants can accomplish programming tasks that are typical in science and engineering as well as understand the fundamental principles of computers and programming.

Learning outcomes (after completion of the course the student should be able to)

Knowledge and understanding:

  • Grasp the relation between source code, the interpreter, and the machine.
  • Choose appropriate data types and data structures for different kinds of data, depending on their performance characteristics.
  • Design algorithms to solve simple programming problems.

Competence and skill:

  • Structure small programs by the use of concepts such as iterations, functions, modules, classes, and methods.
  • Structure larger programs into manageable and reusable units.
  • Form readable, descriptive and well-documented program code.
  • Use programming for basic data analysis involving large textual or numeric files.
  • Express mathematical formulas as programming language expressions and algorithms.
  • Build interactive programs with text-based and graphical user interfaces.
  • Test programs, for instance using unit testing.
  • Use programming tools such as text editor, command line interface, and IDE (integrated development environment).
  • Use standard libraries and follow best programming practices.
  • Apply basic tools and methods supporting an inclusive cooperation in group work, including JML aspects.

Judgement and approach:

  • Assess the difficulty and resources needed for typical programming tasks.

Content

The course is a first introduction to programming by using the general-purpose programming language Python. It gives a comprehensive knowledge of the language, enabling the student to write code for a wide variety of tasks and to read and reuse code written by other programmers.

  • Literals, types, variables, declarations, initialization, operators, expressions and statements, scope.
  • Control statements: if, while, for, break, continue, return, try, raise.
  • Exceptions and exception handling.
  • Functions, parameters, arguments, method calls, local variables.
  • Classes, objects, instance and class variables/methods.
  • Simple data structures (list, dictionary, set, stack).
  • One- and two-dimensional lists.
  • Input and output.
  • Introduction to graphical interfaces.
  • Overview of file handling.
  • Text handling, strings.

Organisation

The teaching consists of lectures, group work, exercises, as well as supervision in connection to the exercises.

Literature

Information on current literature will be published on the course homepage.

Examination including compulsory elements

A digital exam and compulsory programming assignments.

The course examiner may assess individual students in other ways than what is stated above if there are special reasons for doing so, for example if a student has a decision from Chalmers on educational support due to disability.

The course syllabus contains changes

  • Changes to course rounds:
    • 2024-05-23: Examinator Examinator changed from Jean-Philippe Bernardy (bernardy) to Aarne Ranta (aarne) by Studierektor/Adm
      [Course round 1]