Tag: University

  • Maths lecture by Prof. Rudolf Taschner

    On Friday before my lectures started at the University I attended a guest-lecture of Prof. Rudolf Taschner at the 2/BRG Kapfenberg2. The lecture was called "Rechnen mit Gott und der Welt" ("Calculating with God and the World"). The description in the invitation we received sounded quite interesting and because it was scheduled just before start of my real lectures I decided to join this lecture.

    The content of the lecture was about how the mathematical basics have been invented and used by the stronger part of the cultures to keep suppressing the weaker ones, how it influenced the invention of writing and how it helped economics to develop.

    The audience was mostly composed by 13 to 17 year old gymasiasts which in the beginning seemed to be not very happy with their presence at this lecture. But over time Prof. Taschner got their attention with really interesting explainations and funny interpretations and at the end of his lecture these gymnasiasts were applauding enthusiastically.

    Never seen such young people been so excited about maths and history… If there were only more teachers able to explain their stuff like Prof. Taschner can.

  • SIMsalabim

    As already announced a bit more than a week ago, I’ve published one smaller project from the University on Google Code. Now I’m proudly presenting you…

    SIMsalabim

    SIMsalabim is an Android application which allows you to manage the contacts which are stored on the SIM card inside your phone. Google Android itself has so far only minor possibilities to work with SIM contacts, it’s just possible to copy the contacts from the SIM card over to the phone contacts and that’s it. SIMsalabim adds the missing management functionality to copy the contacts between these two lists and also remove contacts from the SIM card.

    Currently the project is in a usable state (and a preview APK package is also available here) but only tested so far on my HTC Magic phone using Android 1.6. Furthermore error handling in extreme situations (like a full SIM card storage) is not yet perfect. But I think it’s in a state where it should cause no unexpected effects on your phone.

    Nevertheless: use it on your own risk. It still may cause all sorts of bad effects and even harm your contact information. Just to be on the safe side 😉

    Some documentation and usage instructions are available in the wiki.

  • Our next visit in the C realm

    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.

    Next time we’ll have to dig into the dirty guts of C… Yeah? 🙁

  • Google code tryout

    In my ongoing decision struggle where to host my project work I’ve now taken a little step forward and opened another project on Google code to try it out a bit more. Setup there has been relatively easy and fast and the SVN source code repository is also reacting well so far.

    This smaller project is from another lecture on mobile computing and it will be an application for Android mobile phones. There is still some polishing for this going on as it is still not finished and yet to be rated for a grade by the end of this month. Nevertheless I think it’s already in a usable state for experienced developers by now.

    When this polishing is done and the application has also some more documentation and more error-handling, I’ll post an introduction here. I guess it will be a nice addition to the Android software portfolio as there is not much comparable out there by now. But by it’s nature it will only be useful for a smaller audience of Android users. More details on this soon…

  • Still choosing a project hoster and name

    Some time ago I’ve been thinking about where to make my project from last semesters project work lecture pubicly available. I’m still undecided between Sourceforge and Google Code but I’m leaning towards Google Code because I have participated on both platforms and my impression is that Google Code is easier to set up and maintain for smaller projects. And I think that I don’t need the more advanced management possibilities from Sourceforge. Furthermore my last impressions from it have been that it has a more complicated interface.

    The next thing I have to think about is under what open source license I should put the work. I do want to put it available for anyone but still be credited and maybe receive changes or enhancements to the source.

    And finally I still have no proper idea for a name of the whole package. What I can already put public is that it’s a piece of code which takes a description of a file-format and generates Java-code which parses files in this format into a defined data structure. I’d like to have a name somehow pointing into that direction but that’s not a must.

    If you have an idea or suggestion you can leave me a comment 🙂

  • Second help-yourself evening

    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.

  • If you need help, help yourself

    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…

  • Worthless lectures continued

    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.

    I hope somehow that we’ll find a way through this lecture…

  • Let it snow, let it snow, let it snow…

    Since it’s already time again for a new post and I have currently nothing interesting at hand, I’d like to just let you know that now it’s the first day in this winter where water in its frozen aggregate state is falling from above (formulated that way to justify that I’ve been called ‘nerd’ quite often in the past few days :P)

    In other news, the first iteration of our project for the university has now passed and from my perspective it went extremely well. The teams performed quite good, there haven’t been any notable problems and in the end all our goals for this iteration have been met. For the upcoming iteration our lecturer already announced that he wants to distribute the work differently to enforce more conflicts between the teams as he already intended for this first iteration.

    But I think our approach to keep the teams in their own "area" at the beginning to let them get comfortable with the development environment, the development style and organization of the project is better for us. That way the less experienced learn how a project can run if there aren’t any large obstacles to overcome and aren’t demotivated too early in the project. Later on, when they’re already up to speed with the development they can be faced with other new aspects of project work like conflicting changes and more intense synchronization between the teams.

  • Where to put it?

    Maybe someone still remembers my announcement from June that I want to make my project from the University available to the publicity.

    Well, finally the marks arrived and since it’s positive I’ve got the permission to open it to the public. Back in June I wanted to put it up on Sourceforge but since then this site has changed its appearance quite a bit and now I’m not sure anymore if it’s the best place to make it available. In the meantime I’ve also made some experience with the Google Code platform and that’s not so bad either.

    Furthermore the current name is not very "catchy" so I’ll also try to come up with something better than "SableCCTest" or "Dynamic File Parser".