Time management, an analysis

This semester I consciously decided to reduce my number of courses I take. As far as academic work is concerned I need to focus on finishing the first and second semester and finish my master thesis. I reduced the amount of work in associations, I do not take some law course (oh, that’s been some while!) and I don’t take any courses of higher semester.

I wanted to discuss the amount of time I want to invest into something. I fixed holes in my schedule and organized remaining time. I have several categories and every category as a minimum amount of time I invest per week. Good opportunity to document that for future reference:

  • I consider 16 hours per day productive. So I have 8 hours of sleep per day.
  • I invest 42.5 hours per week in attending lectures, tutorials, meetings, visiting the Aikido dojo and quality time.
  • 69.5 hours are left. How do I use them?

There are 10 categories:

    project:
    programs I want to release, watch tutorials/videos, publishing content
    university:
    old courses I need to finish (exams, submissions)
    A2:
    course Analysis 2 and everything related
    LA2:
    course Linear Algebra 2 and everything related
    FOM:
    course Foundations of Mathematics
    master thesis:
    releasing subprojects for my master thesis, writing thesis document
    JAP:
    course Japanese Language and everything related
    日本語:
    learning Japanese on my own (especially Aikido & math)
    日本:
    exchange student year organization
    GLT16:
    upcoming Grazer Linuxtage – graphics work

And how much time do I invest into each category at minimum?
This sums up to 34 hours and I have 69.5 hours available, so this is flexible on purpose.
But it gives a relative measure for future reference:

project 3 hours per week
university 4 hours per week
A2 5 hours per week
LA2 4 hours per week
FOM 1 hours per week
master thesis 8 hours per week
JAP 3 hours per week
日本語 3 hours per week
日本 2 hours per week
GLT16 1 hours per week
Time management, an analysis

Project nihon ni ryuugakusei
(日本に留学生)

Starting with October 2016 I am going to Japan for 1 year with my girlfriend. Both of us got granted a student’s exchange year at the same place.

Setting
  • I will attend classes as a math undergraduate.
  • She attends classes as a math graduate student.
  • I just took my first Japanese classes this February.
  • She has more experience with the Japanese language (5 courses).
  • Our studies will be financed by the University of Graz and University of Kōbe. The funds cover the difference in living costs between Austria and Japan (housing will be more expensive in Japan). Thanks to all those institutions!
Schedule until then
  • Find appropriate classes I can attend at Kōbe University and ask for future recognition
  • I will try to finish my first and (coming) second semester in Mathematics. And finish my computer science master’s degree at TU Graz.
  • I will try to get my second course in Japanese during the summer term.
  • I will apply for a summer job for 2 months (July & August).
  • With September things get real. I will no longer live in my flat in Graz.
  • On 3rd of October we will have our first regular day at Kōbe University [math department].
  • I will return to Austria in August 2017 at the earliest (exams take place in July and August in Japan). It seems financially dull [to me] to come back to Austria at any point in time during this year.
Related work until then
  • Suspend participation in local associations (GLT, Aikikai Graz, not sure about LaTeX@Graz)
  • Reduce the amount of physical stuff I have here in Graz, store it somewhere and move out of the flat
  • Lots of planning with her – thanks sweety!
Being in Japan
  • My main focus one year abroad will be on Japanese writing, Japanese language, math and typesetting.
  • Japanese classes will be very appropriate as they are designed for exchange students with various Japanese skills. But math classes will give me a hard time. All appropriate classes for me are in Japanese.
  • I need to do at least 30 ECTS. The usual amount of ECTS per year at universities is 60 ECTS.
  • I will try to attend Aikidō classes there. Getting into a real Dōjō is supposedly difficult. But it should be easy to get into the Kōbe university Aikido club.
  • We will use the awesome train network in Japan to get around.
  • We will keep you informed about information channels, so you can reach us. But we need to organize that in the coming months.

So again: Where is Kōbe? We are close to Ōsaka, to the west (a bit to the south) of Tokyō. It takes us 3 hours with Shinkansen to get to Tokyō. And for those of you who actually cared to read that much, I have that one for you:

The Austrian flag at the Kōbe exchange programme website

Figure 1. The Austrian flag at the Kōbe exchange programme website

This is truly a great opportunity for us!
Thanks for the support we received 🙂

Project nihon ni ryuugakusei
(日本に留学生)

(Why) I am studying math

In winter term 2010, I started studying computer science. I finished a bachelor degree in “Computer Science” in summer 2014 and bachelor degree in “Software development and Business Management” in May 2015. I thoroughly analyzed that the programmes intersected by about 67% for me. Before summer 2016, I plan to finish my master’s degree in Computer Science with one lecture exam and the master thesis ahead of me.

With this winter term 2015, I am studying “Mathematics” at KF Uni Graz as a NAWI (= engl. MINT) programme. This will cover all the basics of algebra and calculus. The degree programme is linked at my student’s homepage. It intersects with 23 ECTS with my previous programmes. That’s 13%.

Why do I still want to study? Several reasons come to my mind:

  • I remember back in 2011 (= 2nd semester) we discussed alternative studies. My study colleague could not think of any alternative. I answered “Philosophy” and “Mathematics”. Today I am rather disappointed with philosophy, but math is still some strange enlightening field of interest of mine.
  • Irregularly I studied theory by Donald Knuth (eg. in The Art Of Computer Programming). And I am still a fanboy of Donald Knuth. However I fail to understand much of his content, because it’s mathematics in its pure form. Understanding might even be possible with systematic efforts, but recognizing all the links is much more fun which is only possible with background knowledge.
  • I enjoy the art and science of computers. Especially recently I have discovered areas of computer engineering which I considered unattractive beforehand. And they are orthogonal to mathematics (economics/practice over rigorousness/purity). But I also want to master the underlying art of math.
  • During my master’s degree I could not master the art of mathematical proofs. Neither I am good at writing my own ones nor can I recite known ones thoroughly.
  • Regarding digital typesetting there is not much progress. I need better understanding of the domain requirements and as such practice in typesetting mathematics and typesetting other languages would be helpful. Therefore I will also take some Japanese classes during my studies.

It’s time to reset my brain. The last months I was trying hard to get rid of existing projects to be able to focus on my math studies. However, I am not sure I can finish these studies. For now I can only finance studies of at most 2 years. By the way, if I really want to finish this degree I need to do a third bachelor thesis, because my previous ones don’t get recognized for math.

(Why) I am studying math

Comparison of the SDBM and CS programme at TU Graz

The following post analyzes the equivalence of the bachelor degrees curricula of Software Development and Business Management (SDBM) and Computer Science (CS) as published in 2010 by University of Technology, Graz. It only applies to my bachelor programme I took. I use ECTS points as mean of measurement.

We first consider the CS degree. It is separated in 6 sections (I didn’t translate them):

Grundlagen und Einführung in das Studium 28 ECTS
Softwareentwicklung 40,5 ECTS
Informationsverarbeitung 42 ECTS
Theorie und Anwendungen der Informatik 37 ECTS
Softskills mit Humanwissenschaften, Seminar, Projekt und Bachelorarbeit 20,5 ECTS
Freifach 12 ECTS
In total 180 ECTS

The SDBM degree is kind of similar:

Grundlagenfächer und Einführung in das Studium 23 ECTS
Softwareentwicklung 39,5 ECTS
Informationsverarbeitung 41,5 ECTS
Aus dem Management 40 ECTS
Softskills mit Humanwissenschaften, Seminar, Projekt und Bachelorarbeit 23,5 ECTS
Freifach 12,5 ECTS
In total 180 ECTS

You can already guess that most things will be similar. Be aware that some courses are just classified differently. Let’s look at the sections in detail.

Grundlagenfächer und Einführung in das Studium

--- cs	2015-03-30 18:55:22.322253130 +0200
+++ sdbm	2015-03-30 18:56:43.818254902 +0200
@@ -1,8 +1,6 @@
 Analysis T1 (7 ECTS)
-Computermathematik 1 (1 ECTS)
 Diskrete Mathematik TE (4.5 ECTS)
-Einführung in das Studium der Informatik (1 ECTS)
-Grundlagen der Elektrotechnik (4 ECTS)
+Einführung in Softwareentwicklung-Wirtschaft (1 ECTS)
 Internet und neue Medien (1.5 ECTS)
 Numerisches Rechnen und lineare Algebra (4.5 ECTS)
 Statistik für Informatikstudien (1.5 ECTS)

Softwareentwicklung

--- cs	2015-03-30 19:05:06.802265842 +0200
+++ sdbm	2015-03-30 19:02:32.370262483 +0200
@@ -1,11 +1,11 @@
-Einführung in das Wissensmanagement (3 ECTS)
 Einführung in die Informationssicherheit VO (1.5 ECTS)
 Einführung in die Informationssicherheit KU (1.5 ECTS)
 Einführung in die strukturierte Programmierung (3 ECTS)
 Entwurf und Entwicklung großer Systeme (4.5 ECTS)
-Mensch-Maschine-Kommunikation (4.5 ECTS)
 Objektorientierte Analyse und Design (4.5 ECTS)
+Qualitätssicherung in der Softwareentwicklung (2.5 ECTS)
 Softwareentwicklung Praktikum (5 ECTS)
 Softwareentwicklung in verteilten Umgebungen (4 ECTS)
+Softwareentwicklung und Wissensmanagement (4 ECTS)
 Software-Maintenance (4.5 ECTS)
 Softwareparadigmen (4.5 ECTS)

It is funny, that the CS curriculum spells the course “Entwurf und Entwicklung großer Systeme” whereas SDBM spells it “Entwurf und Entwicklung grosser Systeme”. I normalized that here.

Informationsverarbeitung

--- cs	2015-03-30 19:11:07.162273680 +0200
+++ sdbm	2015-03-30 19:09:13.194271201 +0200
@@ -1,15 +1,16 @@
-Architektur verteilter Systeme (3 ECTS)
 Betriebsysteme VO (3 ECTS)
 Betriebsysteme KU (3 ECTS)
+Computer Vision 1 (2 ECTS)
+Computergrafik 1 (2.5 ECTS)
 Datenstrukturen und Algorithmen VO (3 ECTS)
 Datenstrukturen und Algorithmen UE (1.5 ECTS)
 Entwurf und Analyse von Algorithmen (3 ECTS)
 Einführung in die Wissensverarbeitung VO (3 ECTS)
 Einführung in die Wissensverarbeitung UE (1.5 ECTS)
-Entwurf von Echtzeitsystemen (3 ECTS)
-Grundlagen der Informatik VO (6 ECTS)
+Grundlagen der Informatik VO (4 ECTS)
 Grundlagen der Informatik UE (3 ECTS)
-Rechner- und Kommunikationsnetze VO (3 ECTS)
-Rechner- und Kommunikationsnetze KU (1.5 ECTS)
-Rechnerorganisation VO (3 ECTS)
-Rechnerorganisation KU (1.5 ECTS)
+Rechnernetze und -Organisation VO (3 ECTS)
+Rechnernetze und -Organisation KU (1.5 ECTS)
+Softwarearchitektur VO (3 ECTS)
+Softwarearchitektur KU (1.5 ECTS)
+Web Science and Web Technology (3 ECTS)

Theorie und Anwendung der Informatik (CS only)

Computer Vision 1 (2 ECTS)
Computer Vision 2 (2.5 ECTS)
Computergrafik 1 (2.5 ECTS)
Computergrafik 2 (2 ECTS)
Datenbanken 1 (3 ECTS)
Datenbanken 2 (1.5 ECTS)
Geometrische Algorithmen VO (3 ECTS)
Geometrische Algorithmen UE (1 ECTS)
Klassische Themen der Computerwissenschaft VO (4 ECTS)
Klassische Themen der Computerwissenschaft UE (2 ECTS)
Logik und Berechenbarkeit VO (3 ECTS)
Logik und Berechenbarkeit KU (1 ECTS)
Logik und logische Programmierung (3 ECTS)
Neue Informationssysteme (2.5 ECTS)
Theoretische Informatik 1 VO (3 ECTS)
Theoretische Informatik 1 KU (1 ECTS)

Aus dem Management (SDBM only)

Betriebssoziologie (3 ECTS)
Betriebswirtschaftslehre VO (4.5 ECTS)
Betriebswirtschaftslehre UE (2 ECTS)
Buchhaltung und Bilanzierung SEW VO (2.5 ECTS)
Buchhaltung und Bilanzierung SEW UE (2 ECTS)
Bürgerliches Recht und Unternehmensrecht (4 ECTS)
Datenbanken 1 (3 ECTS)
Datenbanken 2 (1.5 ECTS)
Einführung in das Wissensmanagement (3 ECTS)
Kosten- und Erfolgsrechnung SEW VO (2.5 ECTS)
Kosten- und Erfolgsrechnung SEW UE (2 ECTS)
Mensch-Maschine Kommunikation (4.5 ECTS)
Neue Informationssysteme (2.5 ECTS)
Steuerrecht (3 ECTS)

Softskills mit Humanwissenschaften

--- cs	2015-03-30 19:19:08.538284150 +0200
+++ sdbm	2015-03-30 19:20:37.906286093 +0200
@@ -1,3 +1,5 @@
-Bachelorarbeit Informatik (15 ECTS)
+Bachelorarbeit Softwareentwicklung-Wirtschaft (15 ECTS)
 Einführung in das Wissenschaftliche Arbeiten (3 ECTS)
 Gesellschaftliche Aspekte der Informationstechnologie (2.5 ECTS)
+Projektmanagement VO (1.5 ECTS)
+Projektmanagement UE (1.5 ECTS)

Here I think it’s funny, that the Projectmanagement course is considered as “softskill” and not “About management”.

So… and now the personal stuff:

  • Evaluating the lists above we have 32 equivalent, compulsory courses listed with 103.5 ECTS.
  • “Grundlagen der Informatik VO” is listed with 4 ECTS for SDBM and 6 ECTS for CS. They are recognized as equivalent. I also did in my calculation (with 6 ECTS) above as I took the exam only once.
  • I am pretty sure that “Einführung in Softwareentwicklung-Wirtschaft” can be recognized equivalent to “Einführung in das Studium der Informatik”. I did not in my calculation above (both 1 ECTS), because I made both courses.
  • I can ensure that both bachelor theses are equivalent and you can use one for another. I did not in my calculation above (both 15 ECTS), because I did 2 theses.
  • Regarding selective courses, 10 of 12 ECTS of my CS degree originate from compulsory courses by my SDBM degree. 11 of 12 ECTS of my SDBM degree originate from compulsory courses by my CS degree. 1 ECTS of CS is done only as unique selective course and 1 ECTS is shared in both degrees as selective course. This gives us an intersection of 11 ECTS.
  • Thinking back and making a subjective hit-list of my bachelor courses gives us:
    • Einführung in die Informationssicherheit VO
    • Rechnerorganisation VO
    • Logik und Berechenbarkeit VO
    • Logik und Berechenbarkeit KU
    • Logik und logische Programmierung

    … were the best courses. Thank you for organizing them! Those were kind of favorite courses of mine (from the content perspective), but they had organizational problems. This is why I tutored “Grundlagen der Informatik UE” for 4 years:

    • Web Science and Web Technology
    • Grundlagen der Informatik UE

    And which were the worst courses?

    • Datenbanken 2
    • Projektmanagement VO

    4 of 5 courses in my positive list are from the same institute and 2 of 2 courses in my negative list are from the same but different institute. This made me think institute-specific since ~2012.

  • In conclusion 103.5 (compulsory) + 11 (selective) ECTS of 180 ECTS intersected. This gives us 67%. I could have increased that to 131.5 ECTS (i.e. 73%). In 2010 I estimated that 70% of ECTS will intersect and claimed that to everyone who asked between 2010 and 2015.

Please report if I got something wrong.

Comparison of the SDBM and CS programme at TU Graz

no actual ‘creative’ work

I just found that in the TU Graz newsgroup and I think it is worth sharing to the general public.
I am censoring his name, because I don’t want to associate him with the quote he apologized for (as stated below).

> It is about allowing “intense discussion” with another person, without
> fearing to get accused of “cheating” afterwards. What else would be
> the reason for group work in such a case!? Discussing your solution
> line by line with another person can help learning. That’s what the
> teacher is aiming for (I assume).

As far as I know the thing we’re talking about is simply mathematics,
no programming or actual ‘creative’ work so far.
The results, and most likely also the steps to come there, will be the
same for everyone.

Maria points out an awkwardness of this followup:

On 2015-03-26 11:32, {CENSORED} wrote:
> …simply mathematics…

> …no actual ‘creative’ work…

ymmd

Maria

YMMD too 😉 His followup:

Ouch :’-(
Now even though this is the flames ng I’m still sorry about that.
I hope it does not hurt that bad in the context it was written in :\

no actual ‘creative’ work

gdi_doc project release 1.0

More than one year ago, I started to write [de-AT, 10.2012] documents for students explaining contents of the lecture more precisely. I was (and am) tutor in the corresponding practicals course. Because a script was promised to be released every year, but did not get published, I decided to participate in this project and write my own script for the course (existing content was much too unstructured IMHO).

Last year I merged contents I have written spontaneously and documents I created during the practicals. This happened just before Dec when this document got important. I sent it to the professor. He refused to release it as official course script. I was pretty sure that this decision was the right one and I acknowledge it today. The document was not ready to be released.

This year I started late (in October instead of summer), but put a lot of effort into this document. I dumped a lot of contents, I wrote missing chapters and I did a lot of revisions. Finally on 19th of Nov 2013 I sent an email to the professor that I recommend my new version of this script. He did not reply yet, however I did prepare it for a final release and so here we are:

Grundlagen der Informatik, Version 1.0 “möbius” [PDF, 655 KB, de-AT, 11.2013]

Some important remarks:

  • The source code is available on github and I am striving for student participation. This is why the document is released in Public Domain.
  • Currently only a german version is available. An english version will be supported once a certain level of maturity is achieved.
  • For any bug you find, I am giving away 2.56€. This includes bugs in regards of content (eg. wrong production rules for a formal grammar) and bugs in grammar (everything regarding German language). Of course this is inspired by Knuth’s reward checks. Please be aware that it’s my own decision what fulfills the criteria of a bug. But my intention is to encourage people in improving the document.
gdi_doc project release 1.0

Buchtipp: “The Essential Knuth”

The Essential Knuth
Book “The Essential Knuth” containing an autobiographical interview with Donald E. Knuth

In August 2013 Edgar Daylight published a book containing a transcribed interview with Donald E. Knuth of the year before. In this book Mr. Daylight asks questions about DEK’s life, his relation to CS and historical developments in computer science.

A recent interview

“Last November I spent most of a day with Edgar Daylight, a young historian of computer science. He had prepared lots of interesting questions about the early days of computer science, and he tape recorded my answers. Now he has packaged the edited transcripts into a book.”

Followingly I tweeted the book reference:

“’The essential Knuth’ (newly published book) http://lonelyscholar.com/knuth #donknuth #knuth via http://www-cs-faculty.stanford.edu/~knuth/news.html

twitter status by meisterluk in Aug 2013

My brother ordered the book before I had the opportunity to do so ( 😛 ) and gave it to me (Thanks!).

Generally the book follows a chronological ordering. 92 pages is not that much and you could finish reading it at one evening. I think the target audience are old-school people which are familiar with the old days of computer science and want to remember those days. DEK describes how he got the opportunity to work hard to solve mathematical problems during the day time and at night he works with computers. Eventually some day he was able to combine those two fields and got in contact with other famous computer scientists like Edsger Dijkstra and Peter Naur. As a big fan of his I got insight into some of the aspects of his life and which path he followed to become what he is today.

“Is it then correct to describe you as a perfectionist?” “Well, I certainly can’t argue with you about that”

“Furthermore, the things I do don’t scale up; there isn’t a need for ten of me in the world.”

“I had more of a calling to global things; I am mostly thinking about what I can do for people who live far away, people that I’ll never meet.”

“Later, when I wrote TeX, I was extremely careful about portability. I completely avoided floating-point arithmetic in places where the computations could affect page layout. Instead, I implemented my own arithmetic for the internal computations, using integer operations only, and I checked boundary conditions so that my programs would be machine-independent.”

“The definition of good, liberal education is to know somethind about everything and everything about something.”

Buchtipp: “The Essential Knuth”

Don Knuth @ JKU

At the University of Technology Vienna many people were there and asked questions. This is the result of a lot of promotion done by the university. However, the session was actually part of Knuth’s attendance of the First Symposium on Structure in Hard Combinatorial Problems. This week he is at JKU (Johannes-Kepler-University in Linz) and meets the team of Armin Biere, the expert on SAT and SMT-solving in Austria (please remember that TAOCP Volume 4B is about satisfiability). And because there was not soo much promotion (AFAIK the only references on the internet are DEK’s News page, the press department of the university published an article and DEK got a profile page at JKU) the lecture hall was only full and not over-crowded 😉

Donald Knuth giving an All questions answered Session at JKU Linz
Don Knuth at JKU Linz

My question got answered at minute 45 (or with the other webcam):

I’ve got a question regarding the MMIX computer. Are you actively developing it or is it in a final state?

—Question answered (21st of May 2013, real time ~10:15 UTC, local time ~12:15)

See also: “Experiences with SAT” Lecture by Don Knuth at JKU

Thanks to JKU and Don Knuth!

Tags: Donald Ervin Knuth, JKU Linz, All questions answered, MMIX computer, May 2013

Don Knuth @ JKU

Uncovered case

/*******************************************************************************
 calculates the accounts receivable using the formel from the book
 @param:  param1, param2, param3, param4
 @return: returns the value of the formula
*******************************************************************************/

function calculateForderung(param1, param2, param3, param4)
{
	//alert("calculateForderung: \n param1: "+param1+"\n param2: "+param2+"\n param3:"+param3+"\n param4:"+param4);
	// param1 -> F_L1
	// param2 -> F_F1
	// param3 -> F_F2
	// param4 -> F_F3
	var x = Math.round(param2/param1);
	var y = x * param3/100;
	var z = x - y;
	var q;
	if(z > param4)
	{
		q = z - param4;
		temp = 1;
	}else if(z < param4)
	{
		q = param4 - z;
		temp = 2;		
	}
	//temp = z;
	//alert("Result: \n55000 / "+param1+" = "+x+" \n"+x+" * "+(param3/100)+" = "+y+" \n"+x+" - "+y+" = "+z+" <- final result");
	return q;
}

The “Accounting & Balancing” guys at the institute of “Business Economics and Industrial Sociology” developed a small Javascript application where you can solve small accounting problems and get instant feedback whether or not you did all the booking correct. I am not aware of the formula behind (they are also talking about it in the comment) so I had to read the source code. However, I came across this classic “uncovered case” bug: what if “z == param4”? Yeah, undefined behavior because q is uninitialized. What a classic.

Uncovered case

MATLAB design faults

I love talking about (programming) language design. MATLAB is not one of those languages, I consider “intuitive” and “pragmatic” the very first time I saw it. Using it myself for my assignments at university, I continue my critical objections. I want to provide two elements, which disturb me:

1. Indexing is done with the parentheses operator. However, you cannot chain them.

>> a = [1,2;3,4]

a =

     1     2
     3     4

>> size(a)

ans =

     2     2

>> size(a)(1)
Error: ()-indexing must appear last in an index expression.
 
>> 

The solution is to address the value in the first indexing operator: size(a, 1). To be consistent in terms of syntax and semantics, both versions are required to work.

2. Rows and columns operators

>> a = [1,2;3,4]

a =

     1     2
     3     4

>> a = [1,2,3,4]

a =

     1     2     3     4

>> a = [1,2,
3,4]

a =

     1     2
     3     4

>> a = {'Lorem', 'ipsum', 'dolor', 'sit', 'amet,', 'consectetur', 'adipiscing', 'elit',
'Quisque', 'ornare', 'ante', 'eu', 'augue', 'pharetra', 'varius'};
Error using vertcat
Dimensions of matrices being concatenated are not consistent.

So basically “,” is the operator for defining columns in a matrix. “;” does the same for rows. However, if you use a newline, it turns out to be an operator for separating rows and overwrites any “,” provided. This is even worse if you try to define a sequence of words and use newline to avoid exceeding the 80-characters source code lines limit.

MATLAB design faults