This semester I decided to write my report for the Master’s Honors Program a little earlier, before I start forgetting things. This time the report is also going to be shorter[^], mainly because I was involved in less activities (had a lot more lectures), but also since I have noticed that overall there is little interest in these reports.
[^] So I thought when I started. Not true, it’s the same length as the previous one: 2 pages.
Honors Program for Graduate Students
Semester Report – Summer 2006
Catalin Hritcu – firstname.lastname@example.org
At the end of each semester it is a good idea to look back and see what went good and what not, and maybe come up with some ways to improve. This was my second semester at Saarland University and it was a hard one indeed. The six classes I attended took almost all of my time, but I learned a lot from them. Other than the lectures, I had only little time for open source, trips or other social activities, and almost no time at all for reading. I also could not tutor any class, even if this is one of the requirements of the honors program.
As usual, I attended a lot of scientific talks: The Programming Systems Lab Graduate Seminar, the IMPRS Master Seminar, the Empirical Software Engineering Seminar, the Colloquium of the MPI and GK, and the Distinguished Speaker Series MPI-Inf/SWS. In May, I attended the Trustworthy Software Workshop which was an excellent opportunity to meet young scientists and find out more about research in software verification and related areas.
During this semester I decided to do my master thesis with Jan Schwinghammer from the Programming Systems Lab. Most likely the topic will be “Separation Logic for an Imperative Object Calculus”, and I have already started reading about it. Separation Logic is a sub-structural logic that supports local reasoning for imperative programs. It is designed to elegantly describe sharing and aliasing properties of heap structures, thus facilitating the verification of programs with pointers. The task is to extend a logic for an imperative object calculus (originally due to Abadi and Leino) with a separation connective and a frame rule. With any such extension there is the question of soundness which is likely to be difficult to prove. Officially, I will start my thesis only in October, and I expect to submit it in March 2007.
This semester I was also spokesman for the honors program for graduate students, where we had a movie night and a trip to the days of the open doors at Dagstuhl. The only other trip I took was around Saarland and was organized by ZiS.
In May, I helped organize the Romanian-Bulgarian Night in the Max Plank Institute for Computer Science, an event with around two hundred participants, folklore music, dance, traditional food and drinks and a bit of interesting facts about the culture and the traditions of our countries. My task was to manage the group effort, and even though it was hard and time consuming, it was also fun and rewarding. And judging by the reactions of the people who attended the event, everything went very well.
The only open source project I managed to improve this semester was uml2vg, which starting with version 0.17 supports UML 2.0 activity diagrams. But, this summer, like the one before, I will help two of my friends who take part in the Google Summer of Code 2006 program. We will implement an extension for XWiki, which will allow users to work on their wiki locally and make it accessible automatically to other users using the JXTA peer-to-peer protocol. We will also help in making the XWiki user interface more ergonomic by implementing an usability study.
And since “if you don’t fail at least 90 percent of the time, you’re not aiming high enough” (Alan Kay), I had some failures this semester too. I applied for a summer internship at the Palo Alto Research Center and also to the IBM Top Student Recognition Event 2006 but was not selected for any of them.
Lectures and Grades
Finally, here is a list of the lectures I took this semester, together with the name of the instructors, the number of credits and the final grade:
- Introduction to Computational Logic – Prof. Gert Smolka – 9Cr – 1.0
- Automated Reasoning – Christoph Weidenbach and Uwe Waldmann – 9Cr – 1.0
- Cryptography – Prof. Michael Backes – 9Cr – N/A
- Automated Debugging – Prof. Andreas Zeller – 6Cr – 1.0
- Decision Procedures for Verification – Calogero G. Zarba – 6Cr – 1.0
- Empirical Software Engineering – Prof. Andreas Zeller – 8Cr – 1.0
To conclude, although this was a very good semester from the point of view of credits and grades, there were other important things I had to sacrifice, like reading and research. Fortunately, next semester I will be able to make up for all this when writing my master thesis.