Course syllabus for Introductory course in programming

The course syllabus contains changes
See changes

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

Overview

  • Swedish nameInledande programmering
  • CodeDAT445
  • Credits7.5 Credits
  • OwnerTKELT
  • 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 English
  • Application code 50130
  • Open for exchange studentsNo
  • Only students with the course round in the programme overview.

Credit distribution

0120 Laboratory 2.5 c
Grading: UG
0 c0 c2.5 c0 c0 c0 c
0220 Examination 5 c
Grading: TH
0 c0 c5 c0 c0 c0 c
  • 12 Mar 2024 am J DIG
  • 25 Okt 2023 pm J DIG
  • 20 Aug 2024 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.

Course specific prerequisites

-

Aim

Computer programming is a basic skill needed in both studies and professional life. This course gives the basic skills so that the students can both perform 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
  • Express mathematical formulas as programming language expressions and algorithms
  • Choose appropriate data types and data structures for different kinds of data
  • Structure large programs into manageable and reusable units by the use of concepts such as modules, classes, and functions
  • Search and find relevant program libraries and use them in adequate ways
  • Explain the relations between hardware, operating system, and user programs
  • Use programming for basic data analysis involving large files

Competence and skills
  • Write programs that manipulate numeric and textual data to perform standard programming tasks
  • Build interactive programs with both text-based and graphical user interfaces
  • Make programs that read, transform, and generate files in the file system
  • Use standard libraries and follow best programming practices
  • Test programs by methods such as unit, regression, and property-based testing
  • Use programming tools such as code editors and revision control systems

Judgement and approach
  • Assess the difficulty and resources needed for typical programming tasks
  • Analyse code written by others and find errors and possibilities for improvement

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. In parallel to learning the language, the student will be introduced to the basic concepts of computers and programming. These concepts include:
  • Data types and their binary representations in the computer
  • The relation between source code, compiler, and the machine
  • The syntactic structure of expressions, statements, functions, classes, modules, etc
  • The basics of algorithmic design by the use of iteration, recursion, decomposition to functions, and top-down vs. bottom-up
  • The basics of software design in terms of functions, classes, modules, etc

Organisation

The course consists of lectures and exercise sessions. There are also a number of programming assignments for training practical skills.

Literature

Information about literature will be given on the course home-page before the start of the course.

Examination including compulsory elements

Compulsory programming assignments that must be completed during the course. The final grade is set based on a computer exam at the end of the course.

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:
    • 2023-10-05: Examinator Examinator changed from Krasimir Angelov (krasimir) to Jean-Philippe Bernardy (bernardy) by Viceprefekt
      [Course round 1]