text: Last Thursday I took the final step in my current education and science activities and finished the Masters' degree exam. This was the goal I've been working towards for the previous two years. Especially the last six months have been pretty tight on time as I have been writing my diploma thesis and preparing for the additional two complementary subject exams which are part of the degree exam.
  Well, as the topic already gave away, I have succeeded and passed the exam. With that job done the only remaining duty for me at the University is to attend the Graduation Ceremony in mid-October.
  As this now frees up my spare time from almost everything I've been using it in the last years, I can finally begin to flesh out the many small plans I've collected over the years for "the time after University". These plans are manifold and cover topics spanning from finally watching movie recordings over a reboot of sports activities to even tackling some electronics projects. Also more regular activity in this blog is on the agenda.
  I'm still unsure on the order of the stuff I'm starting to burn the reclaimed leisure time. But I think I'm not in a hurry currently and may even continue to sleep late :-)
  Posted by Kosi2801 on 2012-09-22 17:26 tagged as Education, Personal, University | Permalink | Comments (1)
  It feels a bit odd. Knowing that I'm currently sitting in my last lecture. Really, the last hour of learning for my whole Masters degree. Whew.
  What's left are of course some lecture exams as well as writing my thesis. And finally conclude it with the exam for the Masters degree.
  The dates for the Master thesis and exam are either in June (I doubt that I'll manage that) or in September.
  Yep, it's done. As said last month, I've finished my bachelors exam two weeks ago. Unexpected for me was, that I finished this whole degree with good success.
  But there wasn't much time to relax because last week my next step in education happened, the start of the Masters Degree Programme for Advanced Security Engineering. I mainly chose this degree because in my opinion it is the final part which finishes my education in IT which is already going on for many years.
  This degree will cover the timespan of the upcoming two years and I hope that I will learn even more new stuff about IT, engineering and even some management topics than I have learned during the course for my bachelors degree. The topics of this and last week were already very promising and interesting and the first exercises have been assigned.
  Since I'm in the last few weeks of my Bachelor degree programme at the University, I've been applying for the subsequent programme. I've chosen to apply for the Masters degree in Advanced Security Engineering. For me this is just the logical consequence of my overall education path as it would conclude my technical progression over the last years.
  Today I had the face-to-face talk with representatives from the University, which is part of the application procedure. All in all it was the same talk I had when I applied for the Bachelors degree. Just that I knew the interviewer, who in fact was the one who supervised my first Bachelor thesis, I knew the difficulties and challenges when studying and that I knew how I could organize everything together with my private and work life. And it was in English of course, since it's the main education language in this course.
  I think it went quite well and it shouldn't be much of a problem getting accepted but who knows... have to wait for the confirmation.
  I've already ranted about one of our lectures of this semester the one or other time. Today it has been neccessary once again for our C programming lecture that we sat together and I tried to create a rough how-to-do-it-draft for our lecture. It's been different to the first exercise we had to tackle in the sense, that it was more C-technical than the last time and until today I hadn't worked on a Garbage Collector, which is this next exercise.
  Well, I tried to work on the problem by working something out from the rough beginnings to the near-implementation details. What we didn't cover today was everything which came near to the real implementation in C. Apart from the easy parts, function calls and list-handling, I have quite a struggle with the details. I don't want to dig deeper here but I can assure you that implementing even a simplified garbage collector in C is nothing I would assign to students which just have learned the easy basics of this language more than two years ago.
  Nevertheless, I hope I could help my fellow colleagues a bit and that they now understand our assignment a bit better than after the explainations of our lecturer.
  Yesterday we had our second evening where we tried to cope with the teaching weaknesses of our lecturer. Since we already repeated the theoretical basics last time this instalment was mainly about diving in the code and trying to solve the different parts of the exercise.
  For me this went not too well this time because we were stuck on an algorithm and altough I already had all puzzle parts of the solution in my head I couldn't put it together for a complete result. At least not in C code. I tried different styles of visualisation and drawings to sort my thoughts and wade through the logic but in the end one of my colleagues found a pseudocode solution on StackOverflow.com which we could use almost 1:1. And it showed me two things. Firstly I saw, that I've been already on the right track. And secondly it showed me the power of high-level languages. I mean I'm quite sure that a few years ago, when I still was working full-time on C/C++-code I could have solved this problem without much thought. But the comforts of high-level languages, all their frameworks and idioms, are so tailored to object-oriented solutions and splitting up the problems in small pieces that I'm not used to picking up so many different loose ends of a problem at once and combining them anymore. I'm very aware of the technological basics but I'm just not used to working at such a low level anymore.
  I don't know if this is a good thing or not. On the one hand abstraction and frameworks make difficult problems easy to tackle with and one becomes more productive. But if those frameworks and abstractions are pulled away, many people (and now also including me) would have serious issues coming up with a solution. They know the theoretical path to finish the work but cannot translate it into actual code.On the other hand if there is hardware involved somewhere low level code has to be created to access the input/output and manage the data. On this level people are used to solving many problems by hand, over and over, just because they cannot use ready-made frameworks out of performance or space-constraints. But these people are unused to solving problems which span several logic units or business layers and I'm quite sure that most of them would struggle the same way if they would have to solve an abstract business-problem with workflows, rulebooks and similar frameworks.
  Last time I ranted about one lecture where the lecturer is completely unable to bring the content of his lecture across. Nevertheless we have an exercise to work on and a goal to reach, even if most of us have not the slightest clue what it's all about.
  As I've been developing in these areas already for more than 10 years (see the old rants in my blog from time to time), there isn't much of new content for me in this lecture and I'm pretty confident of my knowledge there. That's also the reason why it upsets me every time in his lecture how incompetent this knowledge can be presented. I tried a few times to unobtrusively help him out with "explainative" questions to enforce simple answers and help my classmates with understanding. But that's very hard to do all the time and I think he already set me on his personal do-not-like-list.
  So we set up a private lecture event within our class a few days ago where I tried to recap everything from the beginning for my classmates and leave out all of the stuff we didn't need for understanding the basics and accomplishing the goals of the lecture (eg. how a parser/lexer framework works to process commandline commands). In the end I repeated all of the content in roughly one-and-a-half hours which were presented by our lecturer in more than ten hours. The only difference was that, according to my colleagues, it was presented in a way which was understandable. If it really turned out that way, I'm very happy with that. Of course I hope that my classmates were honest to me...
  Events like these always turn my mind to thoughts if I should really consider to get active in the educational sector. Of course, as long as I'm in education myself, there's no way to do something like that aside from tiny parts within my class itself. But it'll surely stay in the back of my head for the future...
  In the last semester we had one lecture where we leared lots of stuff except the things the lecture was intended for. Eventually we managed to get through and we thought that this was just an exception to the common way of teaching here.
  Well, we were wrong. This semester there is another lecture where the curriculum is quite clear about what to learn in the exercises but instead our lecturer now tries to teach us all the stuff around these core knowledges which we don't really need but are time-intense and complicated anyway.
  What adds to the problem is, that all this stuff is not in the programming languages we've learned so far but in another one (C). Therefore it adds anoter level of complexity.
  Last weekend was again filled with mostly university attendance. And with every new term there are new challenges of course. What's better than in the previous terms is, that it seems that now we're having only qualified lecturers. In the previous terms we always had the one or other teacher where we had more difficulties with the style of lecturing than with the topic itself.
  So, whats on the next half year? A surprise was a lecture on project work and presentations because I only realized shortly before the start of the lesson that this is a full-english lecture. But should be no problem at all. The lecture on security and cryptography delivers exactly what the title suggests. Think of hackers trying to break into computers, applications and websites, that's one part of what this lecture contains. I guess the other part will be the opposite, how to prevent these attacks and to develop a feeling on security or insecurity of certain stuff.
  For me personally the most interesting lectures so far are on mobile computing, system-close programming and specific chapters of software development. In mobile computing we'll be programming applications for mobile devices using JavaME and the Android Platform (on which I incidentally already created my first application last week). System-close programming will lead us into the depths of C where we'll be creating an own shell on the Linux platform. And in the last lecture on specific chapters of software development our class got split in three teams which will be working on a common project using agile and Scrum-influenced development methods. I'm on the integration team there but since I'm already very experienced with these methodologies the lecturer asked me to give more support to my classmates than doing actual work myself.
  This all sounds as if it'll become the most interesting term so far but I also expect it to be the most work-intense either.
  Yep, tomorrow the university continues. At 2pm I'll be already in a meeting with a professor and a colleague to talk about a possible work for my required Bachelor thesis (pt. 1). And after that it'll continue straight until Saturday evening.
  Today I went to the city to visit some toy stores and in the end I paid a pre-order for a Wii package. Super Mario Galaxy and Zelda Twilight Princess are quite likely to follow when I'm about to pick this small gem up next week. Although, I'm not personally picking it up because on that day, despite being a holiday, I'm attending a Java training at my workplace.
  Yeah, finally I'm jumping into Java full-scale. 5-day training lessons. Hopefully it'll have some effect on my current position or unintentional "project affinity" at work. Some new challenges would really be nice.
  Yesterday our team got a new member. Its current task will be to slowly grow into our systems, libraries and structures and (midterm) help us with the development of our solution.
  It will be mostly my function to help him with that and show him every niche and the dark corners of our software.
  This is the first non-trivial teaching exercise I have got and I'm willing to give my new collegue as much insight and knowledge as I can.
  I showed him to the overall structure and flow yesterday and either he is cleverer than me when I were introduced to that or I'm a better teacher than the person who introduced me to the whole system two years ago.