# BMA1020 - Mathematics for Programming

### Examination arrangement

Examination arrangement: Portfolio

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

• 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.

- 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.

All submissions are digital on the learning platform.

Deadlines are for the most part weekly, but will be adjusted to create an even workload and avoid collisions with other courses.

### Course materials

More on the course

No

Facts

Version: 1
Credits:  7.5 SP
Study level: Foundation courses, level I

Coursework

Term no.: 1
Teaching semester:  SPRING 2024

Language of instruction: English

Location: Gjøvik

Subject area(s)
• Mathematics
Contact information
Course coordinator: Lecturer(s):

Department of Mathematical Sciences

# Examination

#### Examination arrangement: Portfolio

Term Status code Evaluation Weighting Examination aids Date Time Examination system
Spring ORD Portfolio 100/100
• * 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.
Examination

For more information regarding registration for examination and examination procedures, see "Innsida - Exams"

More on examinations at NTNU