Course syllabus for Continuation course in programming in Python

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

Overview

  • Swedish nameFortsättningskurs i programmering i Python
  • CodeDAT516
  • 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 English
  • Application code 51146
  • Maximum participants200 (at least 10% of the seats are reserved for exchange students)
  • Open for exchange studentsYes

Credit distribution

0124 Laboratory 4.5 c
Grading: UG
0 c4.5 c0 c0 c0 c0 c
0224 Examination 3 c
Grading: TH
0 c3 c0 c0 c0 c0 c
  • 14 Jan 2025 pm J DIG
  • 20 Mar 2025 pm J DIG
  • 22 Aug 2025 pm J DIG

In programmes

Examiner

Information missingGo 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

Introductory course in programming, in e.g. Python, Java or Haskell. Examples of such courses are DAT455, TDA548,TDA555, TIN213 and TIN214. 

Aim

To provide skills for programming in a larger scale via concepts such as object-oriented design, testing, and use of standard libraries. The course will also work as a conversion course in Python for students who have taken an introductory course in some other programming language.

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

Knowledge and understanding:
  • recognize all constructs of Python and the design choices behind them
  • explain the design alternatives in modular and scalable programming
Skills and abilities:
  • create well-organized software projects for complex tasks
  • read and analyse code written by others
  • contribute to collaborative projects
  • use standard libraries for advanced tasks
  • apply testing methods to guarantee the quality of code
  • write code documentation on different levels of detail
  • apply fundamental methods to give constructive feedback in peer reviews of program code, including the aspects of gender equality, diversity, and equal conditions

Judgement and approach:

  • reason about software design choices
  • assess the complexity of programming tasks

Content

The course starts with a quick introduction to the elements of Python, which serves as repetition for students who already know Python but also enables students with other backgrounds to get started with Python.

After the introduction, the course proceeds to more advanced features of Python programming:

  • object-oriented design
  • functional programming techniques
  • advanced Python-specific techniques
  • the use of software libraries
  • testing methodologies
  • creation of larger programming projects
The goal is to give a thorough understanding of Python so that the participants can read and write state of the art code and reason about design choices.

The theoretical material is presented in relation to a project, which is divided into individual components ("labs"), and which results in a comprehensive software system implementing techniques such as scientific computing, data analysis, visualization, and machine learning. No knowledge of these techniques is presupposed but will be a part of the teaching; the focus here is not on the theory but on enabling the students to use relevant software libraries in adequate ways.

Organisation

Lectures, exercises, assignments, individual supervision.

Literature

Will be given before the course starts

Examination including compulsory elements

The course project is a compulsory element of the course. The project can be carried out individually or in groups of two or three. The project is graded with grades Fail or Pass.

The exam is also a compulsory element. It is graded Fail, 3, 4, or 5.The purpose of the exam is to control that the students have made their projects independently and understood what they are doing.

The final grade for the course is the grade from the exam.

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.