Course - Mathematics for Programming - BMA1020
BMA1020 - Mathematics for Programming
About
Examination arrangement
Examination arrangement: Portfolio
Grade: Letter grades
Evaluation | Weighting | Duration | Grade deviation | Examination aids |
---|---|---|---|---|
Portfolio | 100/100 |
Course content
Probability theory
Discrete Probability. Expectation and variance. Simulations.
Logic
Bitwise logic. Negative and floating point numbers in binary.
Linear Algebra
Matrix algebra, programming with matrices, linear systems of equations, least squares method
Geometry.
Trigonometry and vectors2. Transformations in 2 and 3 dimensions. Rotations, Euler angles and quaternions
Procedural Methods
Perlin noise and midpoint displacement. Interpolation.
Mechanics
Differentiation and integration. Newtons laws. Elastic collisions. Particle systems.
Introduction to functional programming in Python.
Learning outcome
Knowledge about
- Applications of mathematics in programming
- Elementary mechanics for games/applications
- The role of mathematics in software development
Skills in
- Translating mathematics to code
- Using relevant mathematical symbols and formulas
- Applying mathematical libraries
- General logical and mathematical reasoning
General competencies
- Problem solving and description of problems and their solutions
- Programming
- Written communication in English
Learning methods and activities
- Lectures and tutorials
- Compulsory assignments:
Further on evaluation
The portfolio consist of:
- Ten weekly homework assignments to practice material covered in the course.
- A summary final assignment at the end of term given more weight to take the students development into account. The final assignment can include a presentation.
- Two challenging programming assignments requiring independence, creativity and problem solving skills.
Weighting is 60% for weekly assignments, 20% for challenge assignments and 20% for the final assignment. Each assignment is given a score, and the total sum forms the basis for the final grade. Students get continuous feedback on scores.
Weekly assignments are in part automatically graded where students get feedback while working.
The weekly assignments have a programming component which is graded manually. Students get feedback on all programming assignments individually, and assignments judged not satisfactory can be resubmitted once without penalty.
Students can ask questions to teachers and teaching assistants while working in weekly tutorial sessions, and assignments are discussed in plenary meetings and lectures.
We encourage discussions among the students, but work is done individually.
Deadlines are for the most part weekly, but will be adjusted to create an even workload and avoid collisions with other courses.
Recommended previous knowledge
Mathematics from secondary education and one mathematics course for computer science. One programming course, e.g. using C++.
Course materials
Published notes and downloadable books. Web resources.
No
Version: 1
Credits:
7.5 SP
Study level: Foundation courses, level I
Term no.: 1
Teaching semester: SPRING 2025
Language of instruction: English
Location: Gjøvik
- Mathematics
Department with academic responsibility
Department of Mathematical Sciences
Examination
Examination arrangement: Portfolio
- Term Status code Evaluation Weighting Examination aids Date Time Examination system Room *
- Spring ORD Portfolio 100/100
-
Room Building Number of candidates
- * The location (room) for a written examination is published 3 days before examination date. If more than one room is listed, you will find your room at Studentweb.
For more information regarding registration for examination and examination procedures, see "Innsida - Exams"