NBIK14037U Python Programming
Programming basics, data types, conditionals, loops, functions, object oriented programming, pattern matching (regular expressions), recursive data types/functions, computational complexity.
After completing the course, the student will master key programming concepts such as data-types, variables, conditionals, loops, and functions, and have an understanding of the central concepts in object oriented programming and pattern matching. Finally, the student will be familiar with the concepts of recursive definitions and computational complexity.
The student is capable of solving small to medium sized programming tasks in Python, including tasks related to life sciences and bioinformatics. The student can produce programs that are well-written, well-structured, and well-commented.
The student is capable of solving the many small to medium size programming tasks that arise in the life sciences and bioinformatics, and is able to write well-structured and maintainable programs in Python.
- can explain the differences between various data-types in Python and can select the relevant type for a given programming task
- can give a detailed description of conditionals and loops, and is able to explain how loops relate to the complexity of a program
- can motivate the concepts of function and module, and give examples of how these tools should be used to structure code
- can explain the basic concepts of Object Oriented Programming, and give examples of appropriate uses of classes and object
- can identify problems for which regular expressions are well suited, and is able to construct an appropriate regular expression for a given pattern matching problem
- can give examples of how to handle errors in a program
- is capable of independently finding online information about external Python modules, and applying this information to solve a specific task
- Practical exercises
- 5 ECTS
- Type of assessment
- Written assignment, 5 daysIndividual, writtten take-home exam, grading on the 7-point grading scale. Submission in Absalon.
- Exam registration requirements
- Approval of 80% of the weekly exercises is mandatory in order to qualify to participate in the final exam.
- All aids allowed
- Marking scale
- 7-point grading scale
- Censorship form
- No external censorship
Several internal examiners
Criteria for exam assesment
The exam is a 5-day take-home exam. The students hand in a written report with attached code. The assessment is based on the report and the attached code. Criteria include quality of the code (overall structure, quality, presence of suitable comments), and the correctness, relevance (with respect to the exam questions) and coherence of the report. The level of knowledge displayed should reflect what is outlined in "Learning ourcome".