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 than involves multiple areas of knowledge and expertise.

As graduate students, researchers are often trained to develop expertise in only one specific area and those interested in interdisciplinary problems usually need to collaborate to be successful.

Continue reading

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:

  1. Learning programming should occur through doing not through seeing. In my experience active programming activities are a much more effective way to teaching then passively showing already written code on a PowerPoint slide.
  2. Never teach an example that you can’t program yourself in the classroom. This rule helps me avoid the use of overly complex examples that maybe difficult to follow (which is an easy way to demotivate students who are new to programming).

Continue reading

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 of questions from potential students and their parents. One of the most common questions that I get asked every year is:

Why should I choose to study Computer Science at UOIT?

In my opinion here are the benefits of UOIT’s Computer Science undergraduate program:

1. Reputation and national ranking.
In the 2017 Maclean’s university program rankings, Computer Science at UOIT was listed nationally as a top 10 Computer Science program (4th in Ontario). Started in 2005, UOIT Computer Science was the youngest program included in the rankings and UOIT was also the smallest university to be ranked as a top Computer Science institution. It’s often easier at a smaller university to receive a more personalized educational experience – one where you know your classmates and your professors. Continue reading

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

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 is to make sure that you use any technology to improve learning don’t just use technology for the sake of it.
Slack logo
Continue reading

A Computer Science Professor’s Backpack

Every morning I read through my favourite technology blogs and one series of blog posts that I confess to enjoying are the Featured Bag posts on Lifehacker. These are basically a series of posts where different people from different jobs/walks of life describe the kind of bag they use and what they keep inside it. I find this interesting because I’m always looking for ways to ensure that what I carry to and from work, to research meetings, and to conferences is lightweight and maximizes functionality. A collection of user submitted bags/backpacks can be found on the Lifehacker Go Bag Show and Tell (hosted on Flickr).

So with that said here is my backpack:

My Backpack Continue reading

Advice on Finding Relevant Research Papers

One of the questions I often get asked by new research students in my lab is how can they find research papers that are relevant to their thesis. For a student new to research this can be a very daunting task and doing a straight Google, Bing or Yahoo search generates a lot of noise (i.e. irrelevant content, non peer-reviewed papers, etc.).

The first advice I usually give is where to start searching. There are a number of academic-specific search engines that provide good results from a wide variety of researcher, publisher and academic websites. For example: Continue reading

Good Resources for Learning to Program with Concurrency

With the increase in multicore processors there has been an increase in demand for concurrent programming and an increase in books and resources that focus on programming with concurrency. Below I will outline some of the books on my own bookshelf that have been useful.
Continue reading

The Importance of Incremental Research

Quote

Last year Bertrand Meyer authored a post titled Long Live Incremental Research! at BLOG@CACM. Rather then writing my own post on the topic, I instead want to encourage people to read Meyer’s post as I think he does a great job of summarizing the importance of approaching research incrementally and not aiming for the next great breakthrough. A few quotes from his post:

“First, 99.97% of all research (precise statistic derived from my own ground-breaking research, funding for its continuation would be welcome) is incremental. Second, when a “breakthrough” does happen — the remaining 0.03%  — it was often not planned as a breakthrough.”

Continue reading