Python and R
Beschrijving
Course goals
Content
Elective Students: Pay Attention! The assignments require prior knowledge of mathematical concepts covered in the first year of the mathematics bachelor's program, and therefore the course is not suitable for students without a background in mathematics. The prerequisite for this course is VWO Mathematics B and Calculus and Linear Algebra 1 (WISB107).
Course Content As a mathematician, you can encounter programming in various ways, such as developing algorithms for simulations (e.g., weather models, financial and economic models), finding structure and patterns in large datasets, extract meaningful insights and predicting unseen outputs as commonly seen in data science and statistical learning applications. Additionally, 'algorithmic thinking' is also useful in devising and writing proofs.
Computer experiments, alongside physical experiments and theory, are an important tool in scientific research. Therefore, it is crucial that a computer experiment meets all the standards expected of a normal experiment: the setup (computer code) must be correct, and the experiment should be reproducible.
This course is a mandatory part of the double bachelor's program in Mathematics-Economics. This course cannot be taken concurrently with Programming for Mathematics (WISB152).
Learning Objectives
In this course, we first learn the basic skills of programming (in Python 3. and R), with a focus on applications in mathematics.
The following topics will be covered:
- Simple calculations and string manipulation,
- Loops and conditions,
- Functions,
- Design of algorithms and data structures,
- Object-oriented programming,
- Using Python and R modules,
- Version control with GitHub,
- Elementary data analysis and statistical learning (like linear regression).
Upon completion of the course, students will be able to implement and analyze simple algorithms themselves and will be familiar with the following basic concepts:
- Variables, expressions, statements,
- Algorithms and data structures,
- Complexity (big O notation),
- Loops and conditions,
- Dynamic programming,
- Functions and classes,
- Python and R modules,
- Version control,
- Elementary data analysis and statistical learning.
Additionally, students will collaborate on writing a group report for their final project.
Teaching Methods
2 hours of lectures per week and 6 hours of computer lab per week.
Assessment
- Weekly programming assignments [35%],
- Quizzes [15%],
- Final project (group project) [50%]: code (program) + a report (elaborating both theoretical and practical aspects of the implemented code).
To pass the course, you must score at least a 5 in each component and have an average passing grade.
Important: The assignments require prior knowledge of mathematical concepts covered in the first year of the mathematics bachelor's program, and therefore the course is not suitable for students without a background in mathematics.
Resit and Effort Requirement
- To pass the course, you must have at least a 5 for each component (quizzes, submission assignment, final project) and a satisfactory average (i.e., ≥ 5.5).
- There is no resit scheme for students with an unrounded final grade < 4. The resit is intended for students with a failing final grade but is ≥ 4. If you obtained at least a 4 and attended at least 70% of the werkcolleges, you may repair one of the parts.
- This retake will consist of a repair assignment, in which the same weighting of the components will continue to apply.
Reviews0 reviews
Heb jij dit vak gevolgd?
Deel je ervaring met toekomstige studenten. Inloggen met je Universiteit Utrecht mailadres duurt één minuut.
Schrijf een review