Teaching

Data Structures and Algorithms (DIT181, Spring 2018-2020, approx. 85 Students)

Undergraduate course, University of Gothenburg, Dept. of Computer Science and Engineering (SEM Bachelor Program), 2020

[Example course materials: Download here.] Students learn about algorithm complexity, recursion, sorting algorithms, and data structures (e.g., linked lists) and abstract data types (e.g., stacks and queues). In Spring 2018 term, I designed the course from scratch. In Spring 2019 term, I redesigned this course introducing three more course components besides lectures so that this instance consisted of the following course components: (1) Lectures, (2) hands–on programming sessions, (3) problem sessions and (4) supervision sessions. I prepared all course material of each component from scratch.

Mini Project: Team Programming (DIT092, Fall 2019, approx. 85 students)

Undergraduate course, University of Gothenburg, Dept. of Computer Science and Engineering (SEM Bachelor Program), 2019

Students learn about project management and human aspects (e.g., group dynamics, cognitive biases during lectures, that are complemented by hands-on exercises done in class. Students put theory they learn during lectures into practice while working on a software development project in groups.

Mini Project: Systems Development (DIT112, Spring 2018, approx. 50 students)

Undergraduate course, University of Gothenburg, Dept. of Computer Science and Engineering (SEM Bachelor Program), 2018

This is the updated version of the “Project: Systems Development” course (see below) in the new curriculum where the scope of the autonomous mini-car system to be developed is delimited to fewer features.

Project: Changing Software Development Process (DIT037, Fall 2017, approx. 15 students)

Undergraduate course, University of Gothenburg, Dept. of Computer Science and Engineering (SEM Bachelor Program), 2017

This is an elective course where students are expected to conduct an exploratory research study in industrial settings. This instance continue from the previous with two additional tutorials that I prepared for data collection and analysis techniques.

Project: Systems Development (DIT524, Spring 2017, approx. 65 Students)

Undergraduate course, University of Gothenburg, Dept. of Computer Science and Engineering (SEM Bachelor Program), 2017

This is a software development project course, which employs problem–based learning technique. Students work in groups developing a system for autonomous mini–cars and develop skills in requirements analysis, software design, quality analysis, programming and testing.

Applied Research Methods (MT8103, Fall 2012, approx. 30 students)

Ph.D./M.Sc. course, Ryerson University, 2012

Students learn about qualitative and quantitative research methods. In this course, I lectured on data collection methods in field studies (e.g., interviews, questionnaires, shadowing, observation synchronized shadowing, participant observation, think aloud protocols), statistical analysis techniques, qualitative measures and construct validity.