Advanced programming in Python
About
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.
Prerequisites and selection
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 level 2 or the equivalent level of an internationally recognized test, for example TOEFL, IELTS.
Selection
Selection is based upon average grade from upper secondary school (34 %), the number of credits from previous university studies, maximum 165 credits (33 %) and Högskoleprovet - Swedish Scholastic Aptitude Test (33 %).