Home > education > Undergraduate projects

Undergraduate projects

In this post, I set the stage for a discussion of the question: What is an academic project in the field of computing? This question will not be dealt with in this post, but possibly a future post. For an understanding of what constitutes an academic computing project, we should think back to the various projects we worked on during our undergraduate years. As part of its assessment regime, a study unit might require that we work on a project for a few weeks. Such projects are usually small and their primary objectives are to test our understanding of a subject matter. A project might be largely about reading up on a particular topic and write a small piece of software in a chosen programming language.

For example, in my third year undergraduate cryptography unit, the class was given an individual project (translated as “work on your own, no team work”) to implement a few cryptosystems using Maple. Each student was given the choice to implement three cryptosystems from among a pool of cryptosystems. I can’t remember what I did exactly, but I vaguely recall that I implemented the Hill cipher. This project tested our skills in translating mathematical ideas to computer programs, our ability to document the software we wrote, and our familiarity with other good software engineering principles. Despite the unit being a semester’s worth of third year undergraduate cryptography, that mini project afforded students an opportunity to showcase not only good software engineering practices but also their ability to work individually.

Some undergraduate projects require team work. I remember a third year unit that spanned two semesters, called “Industry Project”. At the start of semester one, students allocated themselves into teams of four and the teams more or less stay the same throughout the two semesters. Each team then chose a project with an industry partner and, as you would have guessed by now, the team would work with the industry partner throughout the two semesters to design and implement something (e.g. a software system) for the partner. The primary objectives of this year-long project was to develop our ability to work as a team, our inter-personal communication skills, and our skills in liaising with stakeholders in the project. Our final marks took into account the individual work each student contributed to their project and also the finished product the teams delivered at the end of the second semester.

Do any of the projects I mentioned above qualify as an academic project? The short answer is “No”. The cryptography project above is more or less a run of the mill project: read up on an existing concept and implement it as a computer program. The existing concept would very likely have had its details worked out in the cryptography or mathematics literature, e.g. the papers [1,2] in the case of the Hill cipher. The “Industry Project” is no more academic than many projects that software engineers or programmers are hired to work on. Projects at the undergraduate level usually test our understanding of a subject matter. These allow us to showcase our ability to apply skills gained during previous years to bear on practical problems.


[1] L. S. Hill. Cryptography in an algebraic alphabet. The American Mathematical Monthly, 36(6):306–312, 1929.

[2] L. S. Hill. Concerning certain linear transformation apparatus of cryptography. The American Mathematical Monthly, 38(3):135–154, 1931.

  1. No comments yet.
  1. 3 July 2011 at 12:06 pm

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: