Advanced programming in Python
Fortsättningskurs i programmering i Python
About the Syllabus
Grading scale
Course modules
Position
The course can be part of the following programme:
- Computer Science, Bachelor's Programme (N1COS)
The course is a also a single-subject course at Gothenburg University.
Entry requirements
To be eligible for the course, students must have an Introductory course in programming, in e.g. Python, Java or Haskell. Examples of such courses are DIT441, DIT013, FYD095 och MVG301.
Applicants must prove knowledge of English: English 6/English B or the equivalent level of an internationally recognized test, for example TOEFL, IELTS.
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 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.
Objectives
On successful completion of the course the student will 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
Competence and skills
- 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
Sustainability labelling
Form of teaching
Lectures, exercises, assignments, individual supervision.
Language of instruction: The course is given in Swedish but English may occur.
Examination formats
The course project is a compulsory element of the course. The project can be carried out individually or in a group. 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.
If a student who has been failed twice for the same examination element wishes to change examiner before the next examination session, such a request is to be granted unless there are specific reasons to the contrary (Chapter 6 Section 22 HF).
If a student has received a certificate of disability study support from the University of Gothenburg with a recommendation of adapted examination and/or adapted forms of assessment, an examiner may decide, if this is consistent with the course’s intended learning outcomes and provided that no unreasonable resources would be needed, to grant the student adapted examination and/or adapted forms of assessment.
If a course has been discontinued or undergone major changes, the student must be offered at least two examination sessions in addition to ordinary examination sessions. These sessions are to be spread over a period of at least one year but no more than two years after the course has been discontinued/changed. The same applies to placement and internship (VFU) except that this is restricted to only one further examination session.
If a student has been notified that they fulfil the requirements for being a student at Riksidrottsuniversitetet (RIU student), to combine elite sports activities with studies, the examiner is entitled to decide on adaptation of examinations if this is done in accordance with the Local rules regarding RIU students at the University of Gothenburg.
Grades
Sub-courses
- Written hall examination, 3 credits
Grading scale: Pass with distinction (5), Pass with credit (4), Pass (3) and Fail (U) - Project, 4.5 credits
Grading scale: Pass (G) and Fail (U)
The grading scale for the whole course comprises: Pass with distinction (5), Pass with credit (4), Pass (3) and Fail (U).
The final grade for the course is the grade from the exam.
Course evaluation
The course is evaluated through meetings both during and after the course between teachers and student representatives. Further, an anonymous questionnaire is used to ensure written information. The outcome of the evaluations serves to improve the course by indication which parts could be added, improved, changed or removed.
Other regulations
The course is a joint course together with Chalmers.
The course replaces the course DIT515, 7.5 credits. The course cannot be included in a degree which contains DIT515. Neither can the course be included in a degree which is based on another degree in which the course DIT515 is included.