Serious Programming Games

In 2018, we published a review of 49 serious games for learning how to program: Michael A. Miljanovic, Jeremy S. Bradbury. “A Review of Serious Games for Programming,” Proc. of the 4th Joint Conference on Serious Games (JCSG 2018), pages 204-216, Darmstadt, Germany, Nov. 7-8, 2018. For each game we assessed the programming content of the gameContinue reading “Serious Programming Games”

Safety, Testing and Self-Driving Cars

Any system where erroneous behaviour can lead to serious injury or a potential loss of life is classified as a safety critical system. This is true for self-driving or autonomous vehicles where a vehicle malfunction can lead to the injury or death of the driver, passengers or others outside the vehicle. The potential for injuryContinue reading “Safety, Testing and Self-Driving Cars”

The 20th Anniversary of Y2K

“Y2K is a great case study that we can use to talk about best practices for how we develop software today.” SQR Lab leader Prof. Jeremy Bradbury was interviewed recently by Aaron Streck of Global News Durham for the 20th anniversary of the Y2K (Millennium) bug. You can watch the news segment and read theContinue reading “The 20th Anniversary of Y2K”

How to Succeed (and Fail) at Interdisciplinary Research

On May 3, 2018 I gave an invited talk at the 9th Annual Graduate Student Research Conference at UOIT. The topic of my talk was “How to Succeed (and Fail) at Interdisciplinary Research.” Interdisciplinary research is defined as research that involves multiple areas of knowledge and expertise. As graduate students, researchers are often trained toContinue reading “How to Succeed (and Fail) at Interdisciplinary Research”

Automating Software Development Using Artificial Intelligence

This week I gave a research seminar at Dalhousie University and at Mount Allison University on “Automating Software Development Using Artificial Intelligence (AI).” The intersection of AI and Software Engineering is an active research area and has lead to a number of effective and novel applications of machine learning, metaheuristic algorithms and deep learning. ManyContinue reading “Automating Software Development Using Artificial Intelligence”

Recording Programming Activities in the Classroom

Background Before I detail how I video record in-class programming activities I want to provide some context. I’ve been teaching introductory programming courses for close to 10 years and  most recently I instructed a first-year first-semester course called CSCI 1060U: Programming Workshop I. My general philosophy on teaching programming is based on two simple rules: LearningContinue reading “Recording Programming Activities in the Classroom”

Top Reasons to Study Computer Science at UOIT

[Undergraduate Edition] 5 years ago I wrote a blog post titled Top 4 Reasons to Study Computer Science at UOIT. Since then a lot has changed and I thought it was time to write an updated post! I have participated in UOIT recruitment events for the past 10 years and I have answered a lot ofContinue reading “Top Reasons to Study Computer Science at UOIT”

Adaptive Serious Games for Computer Science Education

PhD student and SQR Lab member Michael Miljanovic was selected as a finalist in the  2017 Three Minute Thesis (3MT) competition at UOIT. Michael’s 3MT talk discussed his PhD research into the use of adaptive serious games to improve Computer Science education. The goal of his research is to adapt games to an individual player in an effort to improve learning andContinue reading “Adaptive Serious Games for Computer Science Education”

Using Slack in the Classroom

This semester I decided to try using Slack as an alternative communication channel in an upper-year university course that I teach. I’d already been using Slack in my research lab and I was familiar with the features and I thought it might translate well to the university class setting. The one disclaimer I would offer to anybody considering using Slack isContinue reading “Using Slack in the Classroom”