Course syllabus adopted 2021-02-17 by Head of Programme (or corresponding).
Overview
- Swedish nameFortsättningskurs i programmering i Python
- CodeDAT515
- Credits7.5 Credits
- OwnerTKITE
- 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 52144
- Maximum participants200
- Open for exchange studentsYes
Credit distribution
Module | Sp1 | Sp2 | Sp3 | Sp4 | Summer | Not Sp | Examination dates |
---|---|---|---|---|---|---|---|
0121 Laboratory 4.5 c Grading: TH | 4.5 c | ||||||
0221 Examination 3 c Grading: TH | 3 c |
|
In programmes
Examiner
- Aarne Ranta
- Head of Division, Computing Science, Computer Science and Engineering
Eligibility
Information missingCourse 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
- 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
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 standard libraries
- testing methodologies
- creation of larger programming projects
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 startsExamination including compulsory elements
The course project is organized into three levels, corresponding to grades 3,4, and 5. Thus a higher grade can be obtained by doing more work in the project. A project of level 4 must also satisfy the requirements of level 3, and level 5 must satisfy level 4.After completed and accepted projects, an exam must be passed that has questions corresponding to the three levels 3,4, and 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, which can be at most the same as the grade for the project.
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.