Planning the Spontaneous

It's more than just a blueprint.

Archive for October, 2010

From Vision to Speech

Posted by Robert Chow on 23/10/2010



It’s been a long year. Although it has also gone very fast indeed, I have now officially finished my term at IGI.

I have spent the last 14 months trying to get to grips with C#, OpenGL, WPF, Python, SVN, Kanban and all sorts of other technologies and methodologies.  I gave my final presentation at the user group meeting a fortnight ago, and, despite the length, it seemed to be very well received.  I showcased my demos that I tried to cram together to show the progress I had made throughout the year.

So that’s it for Renderer and Grapher on my behalf.  What did I think about the year?

Before joining, I was rather skeptical about it at first.  I had always said that for the duration of the year, I didn’t want to be a statistic; I wanted a responsibility, and to not just be doing the “little” jobs that I’ve heard a lot of other placement students undertake. IGI certainly did not fall into the latter – I was working in a team of 2.  That’s it.  Just my boss and I.  What if I didn’t get along with him?  What if he took the wrong end of the stick and had me “running” for him?  After all, this was his first time in management too.

I remember being sat at my desk at the end of the first day, and next to me was a pile of books he recommended I read.  I can’t say I was happy with this.  It’s not in everyone’s nature to be able to just read up on a topic as practical as programming and expect them to pick it up with enthusiasm.  In fact, I don’t think it’s in anyone’s.   Most certainly not mine.

But I managed to turn this lack of enthusiasm around.  I set myself little tasks.  To achieve and complete a new goal at the end of each day; and each goal had a new learning objective.  It’s not easy trying to teach yourself a new skill, especially when you don’t know what skills are out there, but the more I learnt, the more I wanted to learn.

I was rather glad with the set up I had at IGI.  As far as I’m aware, no other placement student on my course was so fortunate to get teaching at such a personal level.  I often do say that within the first 2 weeks of being at IGI, I had probably learnt more than I had in the first 2 years at university.  It was during the first few months that I was introduced to C# and an OpenGL implementation to accompany it.  It was exciting to learn from a professional and hands-on level about OpenGL, unlike the second-year course at university.  More exciting was learning C#.  Everyone’s said C# is Microsoft’s answer to Java.  I might agree, however, and also much to the similar views of other placement students working with the language, the Microsoft answer is also far superior.  Exploring the infinite avenues that lambda expressions, LINQ and extension methods offered was definitely something I particularly enjoyed learning about.  Renderer was born.

As much as it sounds so far, it wasn’t all perfect.  There were a number of issues I encountered during the latter half of the year.  Our approach for Grapher didn’t quite suit my working style for such a task.  Grapher can be seen as a large component, full of lots of smaller components.  However, take one of these smaller components away, and none of it would work.  Our original approach was to tackle it incrementally – build from the ground up, adding small sections at a time.  Alas, it didn’t seem to be the case.  Our switch to use the vertical stack – a skeleton made up of smaller skeletal sections – proved a lot more efficient.  Using the skeleton, I was able to “flesh” out the rest of the code incrementally, without have to change much of the base code.

Aside from the main objectives, I did enjoy sections of time spent on other projects.  It was agreed that I should learn a new programming language, of which it should be a dynamic language.  My language of choice was Python.  I started off with a few examples, and then managed to work my up towards near completing a very graphical version of minesweeper, implemented with IronPython and WPF.  I intend to finish that project sometime – I want to further my knowledge base of languages, technologies and methodologies.

If there is anything this year has taught me, it is about myself.   My hunger for knowledge has always been there, that I can already admit to.  However, combine this with creativity, an ambition to succeed and a thirst for problem solving, it has taught me that I really do enjoy working in the field of software development.  I am pretty sure that I want to do this for the rest of my career, and not only watch the world of software development evolve around me, but to also evolve with it.  Heck, if I could be a part of the evolution, then even better.

So what’s next?


Now I’m doing my final year at university, graduating in 2011.  My third year project title: Automatic Spoken Language Recognition.

For my third year project, I’ve particularly wanted to work in artificial intelligence and medicine.  However, due to the limited resources of the school, I’ve not been able to secure such a project, yet I think this does verge on it being similar.

During the first couple of weeks of term, I have spent learning about the anatomy of the human vocal system, and researching into how this is then transpired into and interpreted by a machine.  Next up is the introduction of the artificial intelligence, and to make the decision on whether or not take a model-based approach, or a data-driven approach.  I have a meeting with my supervisor next week, so hopefully I’ll be able to get some answers…


Posted in Automatic Spoken Language Recognition, Computing, Placement, University | Tagged: , , | Leave a Comment »