Course - Mathematics for Programming - BMA1020
Mathematics for Programming
Assessments and mandatory activities may be changed until September 20th.
About
About the course
Course content
Mathematics on a computer. Binary and floating point numbers.
Trigonometry and vectors.
Linear algebra. Systems of linear equations and linear transformations, especially in 2 and 3 dimensions. Projections. Rotations, complex numbers and quaternions.
Calculus. Derivative and integral. Differential equations.
Physics. Kinematics. Forces and Newtons laws. Elastic collisions. Torque and rotations. Optics and illumination.
Probability. Probabilistic algorithms and simulation.
Learning outcome
Knowledge of all fields mentioned in "Course content", including and particularlyt:
- Applications of mathematics in programming
- Elementary mechanics for games/applications
- The role of mathematics in software development
Ability to:
- Describe mathematically simple geometric objects such as lines, planes, triangles and circles. Find intersections of such objects. Find the normal to a plane, and reflected lines.
- Set up and solve linear equations on a computer. Describe and apply linear transformations. Program complex numbers for rotations in 2D, and quaternions for rotations in 3D. Use projections in 3D graphics.
- Explain the meaning of derivatives and integrals, and compute these numerically.
- Conduct physical simulations, including by numerical solution of differential equations. Detect and resolve elastic collisions.
- Apply knowledge of optics, geometry and linear transforms in graphics programming.
- Generate (pseudo-) random numbers on a computer. Implement algorithms which use these, and understand their use and limitations in simulations.
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
- Communication in English
Learning methods and activities
- Lectures and tutorials
- Compulsory assignments
Compulsory assignments
- Assignments
Further on evaluation
Oral examination will be based on the compulsory assignments.
The resit exam is in August.
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.
Subject areas
- Mathematics