Embracing Participatory Culture in Education

I recently stumbled upon this article about how Github—the popular online code-sharing and collaboration platform—could be used in domains other than software development, such as education.

Traditional learning management systems (LMS) are a pain point for many educators (including myself). The basic purpose of these systems is to allow educators to share course material with the students, and to host student assignments. However, in reality, we end up using a combination of LMSs, and external services, while somehow most of the communication happens over email.

Having used a few Learning Management Systems myself, I can say that it’s not much better from the student’s end. Often, these systems packed with unnecessary features that few teachers use. And the features which are used, are often used inconsistently. Git, on the other hand, enforces a well-defined yet sufficiently flexible workflow that might help address this issue.

By using GitHub, educators can share and collaborate on course material. When a fellow educator wants to teach a similar course, all that she needs to do is fork the original course on GitHub. And if she improves it, other educators are aware of the changes and can integrate them back to their courses as well.

And this is just one of the many possibilities that Github could enable in education.

Even as a relative newbie, I can certainly see Git’s (and Github’s) potential in an academic setting, and not just in Computer Science. There’s definitely a barrier to entry with Git, but with the increasing availability of free Git GUI clients such as SourceTree and Github Desktop, and free courses to get you started, that barrier is falling.

One nitpick that I have with the article is the focus on Github (a for-profit online Git repository service) and not Git (the open source version control system) more generally. Great though Github is, especially for newbies, the powerful, decentralised nature of Git is what really sets it apart from other collaboration services such as Dropbox and Google Drive.


Should Computer Science at University Be More Like the Real World?

Cross-posted from Making Sense of Science.

An issue that has been on my mind recently is the question of whether Computer Science at tertiary level adequately prepares students for work in the real world. And secondly, whether that is really the point of Computer Science at all.

Today, I was in a tutorial for one of my CompSci courses, and while waiting for the tutors to arrive I was chatting away with the student next to me. A few minutes into our conversation, I asked him, “So what do you think you want to do when you graduate?” In hindsight, I was probably putting him on the spot a bit—after all, most of us only have a faint idea about what we really want to do.

He replied, “I’m not sure,” and then added, “The stuff we learn is only really basic.” And he’s right. The content taught in Computer Science, at least up until Stage II which I’m currently at, is often challenging in the sense that there are new concepts to grapple with and material to commit to memory. But even still, it is not nearly enough for students to begin building even basic software applications.

I accept that some concepts and terminology, although abstract and not often used outside of an academic setting, simply need to be learnt. And I don’t for a minute think that universities should stop teaching courses about algorithms, data structures, graph theory, and other fundamentals. But at the other end of the spectrum, going from theory to practice, I wonder whether teaching at the practical end of Computer Science could be somehow improved.

The way I see it, much of Computer Science simply does not lend itself well to the “lectures, assignments, mid-term, exam” format that most university courses tend to follow.

Other than the minority who continue on with Computer Science as academics, most students will go on to be software developers (sometimes called software engineers). In such occupations, the actual work will probably involve the entire development process, from planning, design, and construction to the on-going maintenance of software. Most students—as our lecturers often point out—will never have to implement the algorithms which we’re taught about in class. They will just import a library, or modify someone else’s implementation.

In my experience the subject of Computer Science does a good job of covering the fundamentals—the theory behind the code—which is critical if students are to solve problems effectively and efficiently. But what is missing is more of the practical side—for example, how to use version control systems, how to design a software application from the given specifications, and most importantly, how to work collaboratively with other developers.

I don’t believe that, in order to make improvements in these areas, universities necessarily need to radically alter their Computer Science programmes, or even introduce a raft of new courses. Even within existing courses, I think students could benefit from assignments and examples that better relate to reality, even if only a very simplified version of it.

Rather than being asked to manipulate text strings to demonstrate a particular concept, I believe students would benefit more, both in terms of their understanding of the concept and their long-term success as developers, if such problems were placed into some real-world context.

In addition to providing more context, I also see a place for more project-based courses that put the skills which students will need as developers—such as an understanding of usability, testing, collaboration, and software design—into practice. For example, students might be tasked with developing a working piece of software, whether it be a machine learning programme, smartphone app, or some form of augmented reality widget, using the tools and techniques of real-world developers.

As you can probably tell, these thoughts are somewhat unstructured as they stand. You could argue that there are many opportunities, such as hackathons and student internship programs, that give students a taste of real-world software development already. But often they are run by private companies looking to scoop up grads, and may give skewed picture of the industry.

However, I’m prepared to be corrected. So what do you think? If you’re a student or someone involved in the subject, do you agree that Computer Science as a subject should have more of a practical focus? Or do you believe it’s perfectly fine the way it is?

Further Reading

Here are a few additional links related to the topic:

Cyber Security and the Duty of Science

NSA Stop the Lying and Spying

Cross-posted from Making Sense of Science.

If there’s one area in which I believe science can and ought to improve, it would be the communication of science to the public at large. Granted, this is no easy task, especially in an environment in which many scientists feel gagged, unable to speak out publicly for fear of losing funding or their job. And the media, increasingly reliant on clickbait and ad views to remain viable, is far from a reliable spokesperson for the scientific community at this point in time.

However, public and political antagonism towards science is part and parcel of the discipline. Changing the public’s assumptions, or to use a trendy term, “nudging” people towards changing their behaviour, is a challenge that I believe the field of science needs to continue engaging in. And one area in which science could and should strive to be more vocal is the area of privacy and security.

You’ve probably heard about the egregious actions of government organisations such as the NSA in the US and GCSB in New Zealand, who, among other things, conspired to deliberately weaken industry security measures in an effort to make it easier for them to intercept the public’s data and communications. By cracking encryption technology and covertly putting back doors into widely used software, such organisations not only violate civil liberties, but also put the public at risk of cyber attacks perpetrated by criminal organisations.

Such revelations have made me realise two things. For one, we need scientists—not just judicial bodies—to help oversee and hold to account the likes of the NSA and GCSB. We need cryptographers, mathematicians, computer scientists and social scientists—arm-in-arm with rights activists and legal experts—to make sure that the government is doing as it says.

As well as advocating for better standards at the government level, we also need scientists to lead to way in educating the public about how they can protect themselves when online (read: all the time). After all, we can hardly trust the government to do so.

From simple things such as recommending the use of a password manager to protect our online identities, to the more complex, such as helping lawyers and journalists protect their sensitive information from prying eyes, there is much that scientists can do to help. The question is how and through which channels.

Photo by Fibonacci Blue / CC BY

A Place to Call Home: Six Weeks In Auckland

After a successful first quarter at the University of Auckland, I’m thankful to be able to spend a few quiet days at home, and reflect on my experiences so far—before it all kicks off again in a couple of weeks’ time.

Rather than giving a long-winded recap of my first five weeks of study, I will instead summarise it by saying that the experience has so far exceeded my expectations. Although I have greatly missed my family in Christchurch, I’m fortunate for the wonders of telephony, and the myriad distractions that life in the halls provides.

For a more thorough review of my University experience thus far, take a read of my first three blog posts for The Inside Word, a blog written by first-year students at the University of Auckland.

  1. Apples and Pretzels, or How I Survived Week One of Student Life
  2. Clubs, Classes and ‘Crying Monday’
  3. Life in Auckland: What I’ve Seen and Done

The best part of University so far? Without a doubt, the independence it affords. And the free time.

This point was driven home to me by one of my lecturers the other day. After class, he was talking about how, when he got his first job, he looked back on his time at University and reminisced about how much time he had on his hands back then. Then he began teaching, and shortly after had a kid, only to realise how much free time he used to have at his last job. Now, after having completed a PhD while raising several kids and continuing to teach, he can only smile knowingly whenever he hears students say how they have so little time.

The message here, as I see it, is not to fill one’s schedule to the brim, but instead to devote time to the things that really matter — whether a hobby, sport, or further learning. It’s interesting how the work that matters most to us can often be sidelined by the mundane and comparatively unimportant tasks of day-to-day life.

I hope you’ve had a wonderful Easter weekend. A special thank you to all of the friendly people who have welcomed me to Auckland, and made me feel at home at University Hall. It’s been a great experience so far, and I look forward to more of the same in coming months.

Week One in Auckland

Here are a few photos taken during my first week as an Auckland resident and University student.

For the full written account, have a read of my first blog post as a blogger for The Inside Word — a student blog written by an awesome team of ten University of Auckland freshers (first year students).

More words and photos to follow in the months ahead!

The view from the top of Mount Eden Domain.

The view from the top of Mount Eden Domain.

My workspace, in a state of exceptional tidiness.

My workspace, in a state of exceptional tidiness.

The view from my window, overlooking the Auckland Domain (and North-Western Motorway).

The view from my window, overlooking the Auckland Domain (and North-Western Motorway).

Why ‘digital natives’ prefer print to digital


“I like the feeling of it,” Schembari said, reading under natural light in a campus atrium, his smartphone next to him. “I like holding it. It’s not going off. It’s not making sounds.”

Textbook makers, bookstore owners and college student surveys all say millennials still strongly prefer print for pleasure and learning, a bias that surprises reading experts given the same group’s proclivity to consume most other content digitally.

The Washington Post

I can’t say I’m particularly surprised by the findings of this study. The observation that resonated most with me was that, among students who read hardcopy books, the likelihood of multitasking was 1%, versus 90% for those reading books on a screen. In some ways, the best feature of the book in today’s age is not portability, affordability, or aesthetics—but simplicity.

Unlike digital devices, books don’t have notifications, ringtones, Facetime, or messaging. At most, a book might have an index, illustrations, and a few end notes. But that’s about it.

The other advantage of books, of course, is their physical nature. While reading, you can see and even feel the progress you’ve made, which, as linguist Naomi Baron posits, helps in “building a physical map in my mind of where things are,” which researchers suggest aids our comprehension.

None of this is to say that the physical book is inherently better than digital. The two are entirely different forms, and the subject matter can affect which form is better for the task.

Personally, I find that my reading is split about 50/50 between digital and print (most of my long-form reading is on paper, whereas I find reading short-form articles far easier on my smartphone). The article cited above is right in pointing out that certain textbooks, such as those concerned with the sciences, can be greatly enhanced by virtue of being digital.

Perhaps more important than the finding that young people prefer to read on paper, is the idea that our assumptions about the superiority of digital versus analogue are not always correct.

The smart watch, for example has been touted as the next big thing, but personally, I’m ambivalent. I appreciate the singular nature of my wristwatch. It tells the time—in my choice of 12 or 24 hour—and it has a stopwatch. I’ve spent enough time trying to tame the onslaught of notifications from my smartphone, that I don’t really fancy having another device to unexpectedly interrupt my day.

I could be proven wrong, of course. I don’t doubt the potential of technology, and the information it can provide us, to make us healthier and more productive. If smart watches encourage exercise, help us get places on time, and allow us to get help quicker in an emergency, that is great.

But at the same time, we mustn’t fall into the trap of trying to fit every conceivable feature into every new device that is developed.

When the objective is to learn new information, or delve into a new novel, then sometimes a paperback, a quiet place, and a cup of coffee is the optimal combination.

Reading” by Sebastien Wiertz is licensed under CC BY 2.0.

Moving North


In less than 12 hours’ time, I will be leaving Christchurch, the city where I’ve spent the last 18 years of my life, and moving to Auckland, where I will be taking up residence at University Hall, and beginning studies at the University of Auckland. Even after typing those words, the very thought of it still seems surreal.

Part of me is sad to be leaving home—and especially family—behind. There’s no other city I would have rather grown up in, and I have many connections—both people and places—that I know I will miss when I’m gone.

That said, it also feels like the right time to branch out; to experience a new city, meet new people, and generally broaden my understanding. Although I’m incredibly nervous about the move, I also realise the importance of taking risks, and the otherwise unseen possibilities that a change of scene can present.

Time will tell though, and I look forward to sharing my observations with you along the way.

What I can tell you now, though, is that I will be studying a Bachelor of Science, majoring in Computer Science (CS for short), at the University of Auckland. I’ve long had an interest in technology, the web in particular, and I look forward to both deepening and broadening my knowledge within this field.

I expect that study and running, as well as hall life, will occupy much of my time, but I also hope to continue developing websites in my spare time, and maybe even release a product of my own. My writings here and elsewhere will continue as a matter of course.

For now, I should really get back to packing, seeing as though I have to get up at 5:30am tomorrow. I expect that it will be a whirlwind week from the moment I get up.

Auckland City, New Zealand” by Stuart Baird is licensed under CC BY-NC-ND 2.0.

How to Add an Accent Colour Using Action Hooks in WordPress

Recently, while developing a WordPress site, I had a very specific requirement: namely, to add a custom ‘accent colour’ to each page, for links, buttons and various other elements. At first, this seemed straightforward—create a custom field using ACF (which has a built-in colour picker) and then hook into wp_head(). I added the following code to functions.php:

function custom_accent_colour() {
	if ( get_field('colour_picker') ) { ?>
		<style type="text/css">
			/* Various custom styles using the value of the field colour_picker */
	<?php }

The theme I was using, however, had a nifty feature that reloaded the page using AJAX, which, as I soon found out, caused the accent colour to stay the same from page to page. There are undoubtedly more elegant, solutions to this particular problem, but at the time I had recently read an article on Using Action Hooks in WordPress, so I was eager to put a new technique into practice. So I copied the original theme file (page.php in this case) and dropped it into my child theme.

I then added this after get_header():

<?php do_action('after_header'); ?>

With that in place, it was just a matter of hooking into the new action hook. I replaced the last line of that first code snippet with the following:


The best thing about action hooks? You don’t need to touch your original theme files. If your theme developer is gracious enough to include a few action hooks by default, you can omit the do_action() bit and just add code from the safety of your child theme’s functions.php.

Choosing the Company and Not the Job


Among some of the most thought-provoking career advice that I received in 2014 was to imagine not the job I hoped to have in the future, but the company I hoped to work for; a company whose goals, values and culture align with my own. Time will tell whether this was advice that I would pass on, but the logic is difficult to argue with.

A company whose ethos I find inspirational, even as an outsider, is Automattic, whose founder, Matt Mullenweg, was the original developer of WordPress, the software which powers this blog—and as of January 2015, over 23% of the top 10 million websites. Matt recently shared his company’s creed on his blog, and it encapsulates in its brevity and discerning use of metaphor, everything which a modern company should aspire to:

I will never stop learning. I won’t just work on things that are assigned to me. I know there’s no such thing as a status quo. I will build our business sustainably through passionate and loyal customers. I will never pass up an opportunity to help out a colleague, and I’ll remember the days before I knew everything. I am more motivated by impact than money, and I know that Open Source is one of the most powerful ideas of our generation. I will communicate as much as possible, because it’s the oxygen of a distributed company. I am in a marathon, not a sprint, and no matter how far away the goal is, the only way to get there is by putting one foot in front of another every day. Given time, there is no problem that’s insurmountable.

Indeed, many of these values are as suitable for an individual as they are an organisation. I find it refreshing that, rather than speaking generally about what ‘we’ as an organisation should aspire to, Automattic’s creed addresses the reader in the first-person singular, acknowledging that shared values start with the individual and not the collective.

In my experience, too many organisations resort to the use of vague, generalised adjectives to describe their values and culture, or produce spiffy diagrams that unfortunately raise more questions than answers. I’m a strong advocate for goal-setting, and taking the time to articulate the values that an organisation aspires to—provided that those goals and values are actionable and unambiguous.

Blogging is hard, but worth the effort


Lately, with the freedom of the summer holidays, I’ve tried to make a habit of updating my blog on a regular basis. And the longer I go, the harder it seems to get; either the ideas dry up, or I don’t feel comfortable publishing what I’ve written.

Thankfully, though, these aren’t challenges unique to me. One of the obstacles, I’ve come to learn, is something called ‘the curse of knowledge.’ Although it doesn’t apply directly to blogging, the idea could be extended to say that, inherently, we as writers assume that everyone else knows what we know, and therefore tell ourselves that whatever we’re writing is common knowledge that everyone will have already read.

Hearing other writers allude to this phenomenon, and the need to block it out, has been greatly reassuring.

Another challenge with writing a blog is the question of quality. Knowing that your writing is going to be accessible by a large proportion of the world’s population can be daunting, especially when most of what’s published online these days can never really be erased.

Some wise words from blogger and programmer Steve Yegge comforted me on this front:

“People aren’t going to hold you to some exacting standard; they’re not going to demand that every blog entry you write be interesting or useful. Nobody can insist that you blog with regularity — blogs aren’t bowel movements, although certainly some of my entries have shared a certain family resemblance to them. But people are pretty forgiving, on the whole.”

— Steve Yegge, You Should Write Blogs

None of this is to say that you should publish everything and anything that ever occurs to you; it still pays to run each idea through a quick mental filter before publishing. Is this offensive? Fair? Does it sound snarky?

Being able to publish freely and openly on the internet is a huge privilege, if you think about it. Once upon a time, to have your voice heard by more than your own social circle, required sending a letter to the paper, thereby subjecting yourself to the whims of the editor, or becoming sufficiently esteemed to write a column of your own.

In closing, another quotation from Steve Yegge:

“That’s a key thing to realize about blogging: you can’t please everyone, and you won’t please everyone, so focus on making yourself happy. The rest will just happen naturally.”