"False"
Skip to content
printicon
Main menu hidden.
Syllabus:

Programming in Python: Code Quality and Best Practices, 5 Credits

Swedish name: Programmering i Python: Kodkvalitet och programmeringsprinciper

This syllabus is valid: 2023-07-10 and until further notice

Course code: 1NX002

Credit points: 5

Education level: First cycle

Main Field of Study and progress level: No main field: First cycle, has less than 60 credits in first-cycle course/s as entry requirements

Grading scale: Pass with distinction, Pass, Fail

Responsible department: HUMlab

Established by: Faculty director of studies, Faculty of arts, 2023-06-21

Contents

The course provides an introduction to object-oriented programming in Python. The course also covers practices that support writing good code, such as version control, documentation, and unit testing. The course content is applied in programming assignments.

Expected learning outcomes

Upon completion of the course, students should be familiar with fundamental concepts of object-oriented programming and be able to apply these concepts in simple Python programs. Additionally, students should understand the importance of and be able to use version control, documentation, and unit testing.

Knowledge and Understanding

  • Know about quality principles for programming;
  • Be familiar with basic concepts of object-oriented programming.

Skills and Abilities

  • Apply object-oriented programming in simple Python programs;
  • Document source code;
  • Write and run unit tests;
  • Use version control.

Judgement and Approach

  • Discuss code quality on the basis of basic quality principles;
  • Motivate the use of unit testing, version control and documentation.

Required Knowledge

10 ECTS credits in Python programming where the Python standard library and use of external packages is introduced (e.g. Programming in Python: basic and preparatory course 5 ETCS credits, Lund University, and Programming in Python: Working with Shared Libraries 5 ETCS credits, Uppsala University).

Form of instruction

The course is conducted entirely remotely via the course's learning platform in the form of individual exercises, lectures and supervision. Active participation via the learning platform is required, as well as independent work with mandatory assignments and exercises. The course is divided into two modules which have both theoretical and practical elements:

Module 1 (1 credit) Introduction to code quality and programming principles
Module 2 (4 credits) Problem-solving and application

Technical requirements:
The students are required to have access to a computer with Internet connection, and the ability to participate in digital meetings with a microphone and camera.

Examination modes

Both modules are examined continuously during the course through mandatory individual homework assignments and exercises. One of the homework assignments is also examined orally. Actively reviewing and discussing the work of other students through the learning platform, during the course, is also part of the examination.

On the course as a whole, the grades given are Fail (U), Pass (G), or Pass with Distinction (VG). For module 1, the grades given are Fail (U) or Pass (G). For module 2, the grades given are Fail (U), Pass (G), or Pass with Distinction (VG). To pass the course, all mandatory parts must have a passing grade. To receive the grade Pass with Distinction (VG) all mandatory parts must have a passing grade, and module 2 must have a Pass with Distinction (VG).  

Students who have passed may not undergo further examination for higher grades. For those students who have not been approved at the regular examination opportunity, a re-examination is arranged within two months after the ordinary examination opportunity, and another within one year, so-called collection examination. 

Students who have twice failed an examination for a course or part of a course have the right at the next re-examination opportunity to request from the head of education at the Faculty of Humanities that a new examiner be appointed for future re-examinations unless there are special reasons to the contrary. 

Deviations from the syllabus' examination form can be made for a student who has a decision on pedagogical support due to a disability. Individual adaptation of the examination form must be considered based on the student's needs. The examination form is adapted within the framework of the syllabus' expected study results. At the request of the student, the course teacher in consultation, in consultation with the examiner, shall promptly decide on an adapted form of examination. The decision must then be notified to the student. 

In the event that the syllabus expires or undergoes major changes, students are guaranteed at least three exams (including regular exams) according to the regulations in the syllabus on which the student was originally registered for a period of a maximum of two years from the previous syllabus expires or the course has been discontinued. 

 

Other regulations

In granting a university degree, this course may not be combined with any other course that has a similar content. In case of uncertainty, the student should consult the Director of Studies at Humlab, Umeå University. 

Literature

Valid from: 2024 week 35

Mandatory literature

Downey Allen
Think Python. : how to think like a computer scientist
2. ed., version 2.4.0 : Needham : Green Tea Press : 2015 : PDF (xxii, 222 s.) :
Online access for UMUB
Mandatory

Additional course materials provided by the teacher will be included.

Reference literature

Sweigart Al
Beyond the basic stuff with Python : best practices for writing clean code
San Francisco, CA : No Starch Press, Inc. : [2021] : xxv, 352 pages :
ISBN: 9781593279660
Search the University Library catalogue

The book is available for free at https://inventwithpython.com/beyond/.