Minor Programming

Minor Programming

George Soroko
30 maart 2020

As anyone at the UvA knows, the third year of our Bachelor programme finally offers a long-wanted freedom to choose a course or an internship of their one’s liking during the first semester. That includes a minor – a specialised “microprogramme” to get one’s feet wet in the field unrelated to anything one has toiled over the past 2 years. At the top of the list of recommended minors for Econometrics students sits Programming – the one that I have followed over the last half a year and which, in my eyes, has been an extraordinary experience that I wish some of you will choose to have in the future.

It started at 9 am, 2 September 2019, when all of us taking the course found ourselves in a small lecture hall listening to a recorded lecture by David J. Malan – a charismatic and inspiring young professor at the University of Harvard. So much so that there is an entire Wikipedia article devoted to him (https://en.wikipedia.org/wiki/David_J._Malan). The lecture sets the tone of what was there to come, as a couple of hours later, we found ourselves learning the first computer language – Scratch, designed to teach kids the basics of Programming, as you can see below.

Though at first sight it came over as nothing special, by 5 p.m. that day we could boast of knowing the basics of how algorithms in every programme, big or small, are set up – through looping, conditioning, various mathematical operations, all wrapped up in the first project we had to submit – a simple computer game.

The following days and weeks, our work got more serious as we were to study our first real computer language – C, and submit a list of assignments by the end of each week - from cracking a website to decoding messages. All the study we did was self study – all we had were recorded lectures by David Malan and a “question button” on the course website to call for assistance. Though queues for assistance could last for hours, the mentors seemed communicative and helpful most of the time. Unlike any other course: no classes, no lectures, no homework, no exams (except non-graded weekly tests) – all we had to do is to be present between 9 am and 5pm every day and turn in the assignments by the end of the week.

Having learnt the basics of programming in C, we moved to a higher level and to new more serious languages – Python and HTML. As languages got more serious, so did the assignments. In November we started with web-programming: integrating Python and HTML to create web-applications like restaurant menu and book review websites, both to prepare us for what was to come in December – our own personal website project. The idea, design, interface, and coding were all to be thought up ourselves. Anything was possible, as long as it is sophisticated enough and might attract users. Just before Christmas we submitted our projects and did a final presentation to advertise them.

January was the final phase of our minor. Though the course was called Theory of Programming, all we did was still coding, but now on an even more serious project of our choice: from perfecting Dutch railway to connecting houses to a power source in the most efficient way possible, but now done in groups of three. This was also the time that we got actual lectures to learn about optimisation algorithms for our projects, as well as presenting our progress before the class. January 31st our final presentations were over and so was the minor.

As I hope I have managed to show, my time in the Programming minor was no boredom. What’s even more, it was sincerely the most productive and yet exciting experience I have got over the last three years studying at UvA. The amount of practical knowledge I have got and the freedom I enjoyed convinced me there was nothing better I could have done instead.

Neither do I think there is anything better that you can do instead.