Period 2, Year 3, Age 21

Vadim Isakov · October 29, 2020

I thought it would make sense to share some of my thoughts about the courses that are going to be taking up most of my life for the next two months:

Operating Systems

This is a course that I am retaking. This year, due to coronavirus, all the exams for this period will remain online. This is a double-edged sword, I will talk more about this later.

  • No Exam: Operating Systems is one of those great courses where the teaching staff have decided to do the student-friendly and sane thing by having more assignments in lieu of having an exam. This is probably the way all exams should be handled, and I hope that even after the pandemic universities strive to make the courses for computer-science a lot more assignment-focused. There’s nothing wrong with theory, but it is straight up not fun to learn things that are completely theoretical and that you never actually get to apply during the course.
  • Online lectures: Not much to say here, this is standard practice at this point for the VU, online lectures are great, because they are easier to follow (speed up, slow down, skip, go back - all the great options that you get with prerecorded video), as well as don’t require you to be available in the middle of the day for several hours.

Overall, I think this is the course that I will enjoy the most.

Statistics

Another retake from last year (if you’re planning on attending courses that requires you do group projects, for the love of god please find a study buddy that doesn’t get sick or one that disappears suddenly).

  • Exam: With statistics, I sincerely believe that assigning difficult tasks instead of having an exam would achieve the same outcome. Computer Science is all about using computers to make your life easier. Why then, do we have to memorize formulae and terms, and perform mathematical calculations in our head? Computers do this much, much better than humans. Giving Googlers with experience artificial memory homework just seems like a stone age method of teaching. Of course, none of the proctoring methods that the university employs work either, as evidenced by many people’s GPA going up by several points during the pandemic. What is so wrong with using a freely-available resource instead of memorizing things that you will forget in two weeks’ time anyway?
  • Assignments: This part is relatively straightforward. We are to plot, calculate, and mess around with data in the R language. I’m personally not a fan of R, which comes off to me like a Frankenstein’s monster of programming language and statistical mathematics, but it’s not altogether bad.

This year I will be doing this course in a team of three with my Dutch friends, and we expect things to go smoothly.

Secure Programming

  • Exam: Proctorio. Spyware. Really sucks that we have to compromise our own security and privacy just so the university can “ensure we are not cheating”. This is just a stupid way to try to control students in their own rooms. People who have a bad internet connection, noisy neighbours, embarassing wallpaper, messy rooms, no webcam, or any number of things that can make installing spyware on your machine and sending audio, video, and screen contents unpleasant are basically given an ultimatum. An odd choice for a “Free University”.
  • Assignments: The first assignment looks to be a “Secure Chat” implementation in C.
  • Lecturer: Very nice man by the name of Erik van der Kouwe. The lectures so far have been very fun to watch, especially since my casual interest in security which I satisfied by watching YouTube videos is serving me well so far. Some of the things he discussed were Heartbleed and Stuxnet, which I encourage you to research yourself if you haven’t.

I’m working with a friend from Romania on this one. We will see how difficult it is to write secure code, but I’m quite excited for this course so far.

Equational Programming

Another theoretical course.

  • Exam: Probably proctored, worth 75% of the grade. The same critique of theory without practice applies here. I just don’t like learning things that I don’t see any practical use for. Maybe it’s meant for people who want to do a masters thesis and move on to having doctorates, but honestly I still don’t understand why we can’t have practical examples while doing a Bachelors’ degree, and save the theory for the people who want to do it.
  • Assignments: Haskell. Worth 25% of the grade, this can be expected to be uninspired routine stuff that you can complete in an afternoon. Not much that will inspire someone to start using pure functional programming languages. I feel like we could get so much out of this course, if only we focused on the practical part of it. Maybe show off what languages like Haskell, Lisp or Clojure can do? I suppose it’s just not meant to be…

I think that this course will be the worst one of them all. We will see how things pan out.