Teaching Qt/C++

In less than a week, the summer-term at the Vienna University of Technology starts. And as last term, I will be tutor for a course about Software Engineering & Project Managment.

In this course, students should learn how to create a bigger piece of software in teamwork, in all its facets, e.g. project managment, coding, testing, documentation. Normally the software is written in Java, as this is the programming language that they learn from their first term onwards.

Additionally to the Java mainstream variant, there was a variant where the code had to be written in C++. I took this course around 2 years ago and while it was more technical than the Java course, I learned a lot and it also brought me into starting FOSS development. As the person organizing the course stepped back from organisation and the institute was looking for new tutors, two colleagues and me took over the C++ variant of this course and during last summer term, we developed a new project for students to implement and created a reference solution. We changed many aspects of the course, including the used technologies. We changed the GUI Toolkit from GTKMM to Qt and the build system from Autotools to CMake.

Last term our new variant of this course was offered for the first time and after some lectures prepared and held by us (my lectures where about ZeroC Ice and Qt & CMake) three studentteams started to plan & implement the project we gave them. The feedback we received was very positive, especially the use of Qt not only as GUI Toolkit, but for acessing a database or in combination with QCA2 for encryption/decryption made coding a little bit easier for C++ beginners.

So what is the relation to KDE/OpenSource here? In my opinion, it is really bad practice at our university that people aren’t normally forced to learn any other programming languages than Java (depending on the field of study you may also learn C & Haskell). That’s why it was important for me that interested students can choose to code C++ while doing the Software Engineering & Project Managment course. And to give them an introduction into Qt & CMake, so that they would be able (either in their spare time or for university during advanced courses or university projects) to contribute to KDE Applications or other FOSS Qt Software. So I partly see this variant of the course as a FOSS recruitment program 😉

This should also be a call for action: if you think you can mentor an individual student or teams of students and have an idea for an area in your application that they could work on,please contact me.

Blogging,Twittering and Studying

Blogging is something I feel I should do more often. In the last months I started reading more and more really good blogs and somehow I think I would like to share thoughts/ideas via this blog (or on my new Twitter Feed), but I’m to lazy for it.
Maybe this is also because English is not my mother tongue and it would maybe be easier to write in German. Don’t really know, will try to find out. For the moment I will blog in English.

Some words about Twitter (that I could not fit into Messages with a maximum lenght of 140 Characters 😉 ):
Some weeks ago I started reading more and more on Twitter and found it very interesting. I especially like the replies to other Tweets, because you find other interesting Twitter Users and the whole thing becomes more dynamic, more like if people would talk to each other in person.
Then I created my own account,and now I’m not sure about how to use it. Maybe I want to do it more often or not. From time to time doesn’t really make sense.

Studying is something that will also use up some time in the next months, because tomorrow the winter term starts at University, so I will be there more often again 🙂
Tomorrow I’ll attend the Beginners Day for Computer Science Students. Not really because I’m a real Beginner (already had 2 semesters to find out how some things work at the University) but more for the social component. Maybe I’m gonna meet someone I know, maybe some new interesting people, let’s see 🙂

Ohh and I changed this blog back to the standard theme because I just realized that the Fast Lane theme hides all the links … stupid theme, even though it looked so nice.

Update

I wrote some while ago Updates about the progress of my “Studienberechtigungsprüfung”. So here is another one for everyone interested: It’s finished, since last Tuesday I’m officially studying “Software & Information Engineering”.
After my last math exam around end of June, the last exam missing was the Essay about a general Topic, which I had on the 8th of July.

I needed a little bit over one year for it. And it was a fascinating year. The idea to study, even though I already had the thought to one day do it already a long time, came up as such a small idea and all the exams (also some university exams for the first & second semester) went on so smoothly … I’m really surprised about … about the way all this worked out, about myself, …

So in October I’m starting my first semester as an official Student … till then I have holidays (at least from learning … I’m at the moment working around 70 hours per Week in Prater, which is really funny because you work outside and work with people and even though you don’t earn much per hour have a great time there and see “new working worlds”).

Conclusions

So this is the last entry in the projectlog for my Seminary “Grundlagen Methodischen Arbeitens”.
I will try to wrap it up with some conclusions about the topic of E-Learning & Virtual Communities, partly related to the Seminary, partly non-related stuff that was coming into my head while thinking about these topics.

Seminary related Wrap-Up:

I never thought before that so many people were researching the topic of the combination of “E-Learning & Web 2.0” or “modern E-Learning”.
Slidecasting is one of many projects in this area and I think that with more functions it will be more motivating and of better use for the Students.
But it could also be that the whole motivation by features/rating/membership-levels thinking is idealistic and that the only way to motivate Students is by giving them something back that can affect their grades (e.g. points).
And maybe another point is that some Students can never be motivated to take part in anything that isn’t necessary to receive a positive grade.

Personal Wrap-Up:

Especially the topic of Virtual Communties is a really big topic, which got me interested (maybe because I’m taking part/took part in many Virtual Communites 😉 ). There is then also the fact that some Virtual Communites also change to also be Real Life Communities. Even that alone (questions like “how to sucessfully motivate users to also join Real Life Meetings”,”why are some communties so sucessfull in motivating their users to also join meetings in Real Life”,…) brings up many questions which probably were already researched by many people.
Also I found out that Virtual Communties are nearly a 1:1 reproduction of the Real-Life. Including people who work a huge amount of time for the communites, but also the possibillity of a sort of “burn out” syndrom. People are still doing their voluntary work for a Community but did too much, so that they no longer really appreciate to do it.

Invent a Feature for Slidecasting

The last task of the Seminary was to read the Paper about Slidecasting (Exploring the “Massive Multiplayer E-Learning” Concept) and then invent and present a new Feature for Slidecasting.

Our Idea was a Feature where you could send comments for Slidecasting via SMS.
The slides of our presentation can be found here.

Why send comments via SMS? Well, 99 % of the Students have their mobile phone in the Lecture, but only around 16 % have their Notebook in the Lecture.
So this could be a possibillity for more Students to make comments during the Lecture.

Disadvantages of this Feature would be that a SMS needs longer (even though not much longer, due to Students often writing SMS). Also even though many Students have a high number of free SMS per month or only pay 1 Cent per SMS, some pay around 20 Cent which is even though it’s not much, more than what you pay if you are using a Laptop and WLAN to make comments.

Advantages of this Feature would be a higher Quantity of Comments, because nearly every Student could make a comment and that the Students don’t have to take their Notebook to the Lecture.
Also we found out in the Seminary, that there could be the possibillity for Students to send in a Slidecasting Comment via SMS or MMS while they are on their way.

Invent a Motivation Strategy for an E-Learning System

The next task was to think about all the Motivation Strategies presented in the Seminary and invent an implementation of one of these or a new Motivation Strategy for use in an E-Learning System, that motivates the Students and think about if it is “fake resistant”, and post it as a comment on the Blog of the Seminary.
My idea (english translation of my comment on the Blog):

ESPECIALLY FAKE RESISTANT, BUT ALSO MOTIVATING
GSI (the Course in which Slidecasting 2.0 is used) is a Course which is about diverse latest topics. Textcomments are interesting, but more interesting would be URLs with further Content to this topics (URLs are especially convinient because they can link to all sorts of Content [e.g. Pictures, Videos, Text …]).
My idea relates mostly to the use of URLs as Content.
Due to the fact, that, while the Lecture, you don’t see what other people posted, it could be a sort of Qualitycriteria how often a Link was posted. Links which were posted by 5 People are most probably more interesting and relate more to the Topic, than links posted by only 1 person.
Eventually it would also be possible to don’t publish the comments in the Slidecasting System for a few days after the Lecture, so that also people without a Notebook have the possibility to post interesting Links without knowing if someone else found the Link before them.

In General I think an important factor for Motivation in E-Learning Systems for Courses like GSI could be, that there must be the possibility to create a comment out of Multimedia Content.

Motivation Strategies in Virtual Communities

Task Number 4 was to read an assigned paper and introduce the main concepts of this paper to the rest of the Seminary.
We had to read the Paper User Motivation in Peer-to-peer Systems.

It is about Comtella, a P2P System for the exchange of resources, e.g. Papers, used at the University of Saskatchewan in Canada.
The problem with the system was that it’s technical functionallity was good, but there were not many Users online and due to this fact not many Resources were found.

The Team of Comtella looked for a Solution to this problem and tried to solve it by implementing a hierachical membership model, where Users get a higher Level when they do more for the Community (e.g. share Resources, stay online, …) and get better Functions with each level.

They implemented this motivation model into Comtella in a testphase for one course. The results of this testphase were that more users used Comtella more often and the Quanity of the avaiable resources increased, but also that the overall Quality of the resources decreased.

Why do people participate in Web 2.0/Virtual Communities?

The third task (even though it’s already a while ago, but I have to finish this projectlog soon) was to find out why people do participate in Web 2.0 and Virtual Communities. To find answers to this questions, we did some literature research in the Internet and bookmarked the pages with interesting answers on diigo.com

So I found the following pages:
1.) Criteria for using Web 2.0
2.) Virtual Communites: What and why?
3.) Motivating Users – Peekaboom and the ESP Game
4.) The Art of creating a Community

The first website lists some Criteria when it can be usefull to “add” Web 2.0 Elements to a Website. Mostly related to business websites, they also list user motivation as a main Criteria, for example by letting the users generate or share content and then do something with all the shared or generated content.
Website number two explains shortly what Virtual Communites are and lists some examples of Virtual Communities. Also it gives examples of what people do in Virtual Communites: Socialize, Work together or have conversations about diverse topics.
The site “Motivating Users – Peekaboom and the ESP Game” is about 2 Web 2.0 Websites, that try to motivate their users to tag pictures/parts of pictures by creating a game around the process of tagging.
The last website describes how to create a sucessfull Virtual Community.

So there are many answers about why people participate in Virtual Communties, some where described above and I think one of the biggest one is clearly motivation. If there is no motivation (in what ever form the creators of a Virtual Community choose), nobody will take part in the Community. While reflecting about this subject and wondering why some people invest as much (monetary) unpaid time as you would work in a part-time job, I found out that Virtual Communities are much older then Web 2.0 is and that people were already active in diverse Virtual Communites (Mailbox Systems, Online Games, Chatrooms, …) before the Web 2.0 “hype”. Now with “Web 2.0 Virtual Communites”  just much more people take part in them. And investing much unpaid time into a Community also already existed before Web 2.0, even before the Internet. Before the Internet (and also nowadays) some people invested their spare time into clubs/associations (in german called Verein). But nowdays with the Internet and newer Technologies like Web 2.0 more people can connect much easier and find people who are interested in the same topics as they are.

About Web 2.0 there is a very interesting video, made by the same guy as “A Vision of Students today” which I posted earlier in this blog:

What could Students do with their Laptops while Lectures?

The second task was to find out what Students could do with Laptops in their Lectures? To find answers to this question, we used methods from the IDEO Method Cards.

The method I used for this task was “Predict Next Years Headlines”. So I asked some students and myself the question: “Try to think 1 year in the future. How could (in the future) Laptops be used usefully while Lectures?”

The results can be categorized into 3 different groups: technical infrastructure at the University, teachers and students.

Technical Infrastructure:

-) Electronic Whiteboards (where you can print out/save the information on it) instead of blackboards
-) Better Networkinfrastructure, more Poweroutlets

Teachers:

-) Create “Hypertext-Slides” (so that Students who look at the slides on their laptop can get more information by clicking on links)
-) Possibility for changing the presentation “on the fly” (e.g.: make additions to the slides in the lecture, make annotations directly on the slides, …)
-) Create Audio- & Videorecordings of the lecture (so that Students don’t have to record it and could catch up on a lecture they missed)
-) Create the posibility of direct electronic communication with teachers/assistants (e.g.: via messenger, irc, mail, …) in the lecture for questions (makes it easier than asking them alound when sitting in the last rows of big rooms). Answers to this questions should be made public because they are probably interesting for more than one student

Students:

-) Use a better software to take notes while in the lecture (e.g.: a software with that you can directly take notes on PDF files)
-) Use IRC chatrooms (e.g.: one for each room or one for each lecture) for communication with other students

These and other results brought up some interesting questions: If there is the possibility for class related stuff you can do with your laptop, how can the teacher still grab and hold the attention of the students? What are the reasons for students to visit lectures?

Interesting questions, maybe we will find some answers to them.

One of the answers to “What are the reasons for students to visit lectures?” was “So that they don’t miss something”. Miss what? Maybe something like this:

Hopefully not only because of such things 🙂

What are Students doing with their Laptop in a Lecture?

As I mentioned in the introduction, this seminary is partly about “How to make use of Laptops in big (around 500 – 1000 people) Lectures?”. As more and more Students have Laptops, more of them are bringing them with them to Lectures.
So the first task for us (the participants of the seminary) was to find out: “What are Students actually doing with their Laptop in Lectures?”

The method I used to find answers to this question, was to ask friends and post the question in some Internetcommunities I’m regulary visiting.
The answers were very diverse, here is a Summary of the answers:

– take Notes (easier to organize and sometimes easier to read than handwriting, able to do a quick research on the topics while taking Notes)
– look at the presentation the Professor is holding (because it’s easier to read on the screen)
– surf the Internet & check e-mails
– do a Internetresearch on the topics of the Lecture (e.g. if the professor doesn’t know something or is unsure)
– prepare for upcoming classes or Presentations
– conduct a Presentation
– use the laptop for programming
– look up translations
– work on projects or use the laptop when needed in tutorials
– write silly notes in large font to flash the screen to the people in the back row
– play games

I also asked a pupil from a Laptop Class to answer the questions. The result was similar to the one at universities. And also in schools with Laptop Classes not many teachers are not really able to use the potential of everyone having their laptop with them and being online.

One conclusion the Students attending the Seminary draw after we put all our answers from different methods together was that the Students want to be at the Lectures (maybe because of social contacts;maybe because it’s still better to be in the Lecture and not fully concentrate on it than to not be there) but the usage of the Laptops is mostly the same as it would be at home.

Below you find a good Video called “A Vision of Students today”, which shows some the characteristics and problems of todays students: