Project reports

This page contains a list with some of my academic reports. I also added the course I created (scroll down).

Master’s thesis in Computer Science

Study of Convolution Algorithms using CPU and Graphics Hardware


In this thesis we evaluate different two-dimensional image convolution algorithms using Fast Fourier Transform (FFT) libraries on the CPU and on the graphics hardware, using Compute Unified Device Architecture (CUDA). The final product is used in VISSLA (VISualisation tool for Simulation of Light scattering and Aberrations), a software written in Matlab. VISSLA TM is used to visualise the effects of cataracts, therefore it is important for our proposed method to be called from within Matlab. The product makes it possible to call graphics hardware from Matlab using the Mex interface. In this thesis we also explore the optimal usage of memory, and attempt to control allocated memory in a predictable way, to be able to minimise memory-related errors. A novel (hybrid)
GPU/CPU algorithm using gpuArray and the row-column method is also presented and examined.

Our proposed method speeds up the current computation on VISSLA TM by 3-4 times. Additional proposed optimizations are examined along with the estimated resulting speed-up.

Bachelor’s thesis in Computer Science

Bury The Needle: A Racing Game in Open Terrain


This bachelors thesis describes the implementation of a 3D racing game for the Windows platform using the XNA framework. Presented are results and discussions concerning fundamental aspects of implementing a modern computer game: 3D modeling, computer graphics, physics, particle systems, audio, networking and artificial intelligence.

This thesis shows that developing a computer game using an iterative, incremental approach is a feasible task. We demonstrate possible solutions for solving tasks common to modern game development.

Bachelor’s thesis in Mathematics (Swedish)

Relationell Korpusanalys i Mathematica


Within this report a framework for relational corpus analysis is presented. The framework is developed to be used with the computational software Mathematica from Wolfram Research.
More precisely the framework presented has been created to be able to extract, handle and visualize relations between textual data. Geometric data analysis plays a central role together with it’s methodology of an iterative analytical workflow. This methodology can be put in contrast with the hypothesis based classical statistical analysis. Going further, methods from corpus linguistics, natural language processing, latent semantics analysis and information retrieval is also used within the framework.
The functionality of the framework is exemplified and the underlying theories are presented. Further more, the work to create the framework is discussed together with the choice of Mathematica as a platform for development and suggestions for further development on the framework.

Course projects

Simulation of Complex systems

Simulating a Real-World Taxi Cab Company using a Multi Agent-Based Model


In this article we propose a novel multi-agent approach to simulate the behavior of a real-world taxi cab company. The focus of this article is to minimize the number of bailed customers by examining other rules and compare their performance to the existing system. With our proposed rules we reduce the number of bailed customers, on average, by 40% and as a result of this, we reduce the waiting time also on average by 40%.

Image Processing

Comparison of Wavelet and Discrete Cosine Transform


The purpose of this project is to compare methods of compressing an image using two wavelet packet transforms (WPT) bior 4.4 and rbio 6.8, and the Discrete Cosine transform (DCT). Also, the compression artifacts and the reason for why they appear will also be discussed. The wavelet packet transform using rbio 6.8 provides a smaller e rms error after compression than bior 4.4 and DCT. WPT are very good at masking edge artifacts and higher frequency errors because of the adaptive way it analyses the signal it transforms. By comparison, DCT is a very poor algorithm to compress images, because it is static. WPT can be compressed by a factor of 20 and get the same quality result as DCT using a factor 8.

Course ARK385

At Chalmers University of Technology.

I have placed my lecture notes and exercises, written in Swedish and used for my own course in C++ for the students at Architecture and Technology. The course was optional and worked as a ‘crash course’ for a seminar held by Chris Williams at University of Bath, England.

All of the course contents were created by me, written in LaTex and Beamer. I lectured in the period Nov 2009 – Nov 2011.

The content is in Swedish, but a lot of it is code and there are some nice images and figures, check it out. If you have any questions just mail me or comment below.



A cool feature I found in LaTex is when you can get a pop up window from simply hovering over a word. I used this featured to give the students some help without writing them.

A simple cheat sheet covering basic C++ keywords and syntax examples:

The example source code for the exercises can be downloaded below

Leave a Reply

Your email address will not be published. Required fields are marked *