Category: Teaching

New LaTeX templates for theses at University of Iceland / LaTeX sniðmát ritgerðar/lokaverkefna Háskóla Íslands

Helmut Neukirchen, 25. March 2022

Finally, the new (2021 and later) thesis title page examples are available at the HÍ Corporate Design web page and I just finished creating a LaTeX template based on it.

You should find the most recent templates at https://gitlab.com/uice.

But you can also download it: UniversityOfIcelandMScThesisV2.0.1. (I have submitted it to Overleaf as a template.)

The PhD thesis template has also been updated: uiphdthesis_V2.1.0.zip. If you started already your PhD thesis, it is in principle enough to

  1. replace the old ui-phdthesis.cls by the new one and
  2. replace the two files HIlogo.pdf and UIblueribbon.pdf by banner.png
  3. add \thesislicense{All rights reserved} to your .tex file (or update to the license you want to make your thesis available).
  4. Also check the comments at the start of file uiphd_template.tex for possible further additions (\numberwithin and \UrlBreaks).
  5. In contrast to Version 2.0.0. version 2.1.0 moved the bibliography management out of the cls file into the tex file where BibLaTeX is now used

While the old template used the school-specific colors (e.g. VoN had orange), the new color scheme suggests to use these school-specific colors only internally, but work targeting people outside the university (such as a thesis) use always blue independent from the school (this was by the way already always the case with PhD theses).

The PDF version is used by a print shop when printing and binding the thesis: the normal M.Sc. thesis pages are printed using A4, but the cover page (with the blue) will be printed in A3, with the front page on one side and the back page on the other and the spine (bókarkjölur) in the middle (so in fact, that page is even bigger than A3 to accommodate the extra space for the spine). All the A4 pages are then glued into this A3 sheet. The inner side of the A3 remains blank: to simulate this in the PDF, the second page is simply empty (BTW: that empty page is missing in the official Microsoft Word template) and it is then followed by a page that serves as some inner title page, i.e. it repeats all the information from the title page, just with a slightly different layout and without the blue graphical elements. After that follows a page with copyright information, and only after that, your real contents starts.

This means, when you go to a print shop, the title page generated by you gets anyway ignored (and therefore, the LaTeX template does not even bother about generating a back page -- the print shops use the back page to add their name there).

But as the thesis is also electronically archived using the PDF that you submit, your self-generated PDF with the title page matters for that version.

The fact the Word template (to be used by students) looks less professional than the PDF (to be used by print shops), hints at the PDF version is the serious one (and I can only recommend to use not that Word template. If you use it, try match the PDF generated from my LaTeX template).

See my older post for further information.

Software Engineering versus Programming

Helmut Neukirchen, 24. February 2022

The book “Software Engineering at Google” (curated by Titus Winters, Tom Manshreck and Hyrum Wright, O’Reilly, 2020) is officially available for free online at https://abseil.io/resources/swe-book and I can only recommend reading it to get an idea of how Google delivers high-quality software. Of course, their solutions that fit a company as big as Google do not necessarily fit smaller companies.

As I did already in my post Why you should study Software Engineering cover the difference between Software Engineering and programming, I found it interesting that the above book covers it as well:

We believe it is important to differentiate between the related-but-distinct terms “programming” and “software engineering.” Much of that difference stems from the management of code over time, the impact of time on scale, and decision making in the face of those ideas. Programming is the immediate act of producing code. Software engineering is the set of policies, practices, and tools that are necessary to make that code useful for as long as it needs to be used and allowing collaboration across a team.
(“Software Engineering at Google” curated by Titus Winters, Tom Manshreck and Hyrum Wright, O’Reilly, 2020, p. 23)

For my taste, that quote does not cover enough human aspects (the nice thing about Software Engineering is that it does not only include the hard skills, but also soft skills), but that was in fact discussed already earlier in that book:

Another way to look at software engineering is to consider scale. How many people are involved? What part do they play in the development and maintenance over time? A programming task is often an act of individual creation, but a software engineering task is a team effort. An early attempt to define software engineering produced a good definition for this viewpoint: “The multiperson development of multiversion programs.” (There is some question as to the original attribution of this quote; consensus seems to be that it was originally phrased by Brian Randell or Margaret Hamilton, but it might have been wholly made up by Dave Parnas. The common citation for it is “Software Engineering Techniques: Report of a conference sponsored by the NATO Science Committee,” Rome, Italy, 27–31 Oct. 1969, Brussels, Scientific Affairs Division, NATO.) This suggests the difference between software engineering and programming is one of both time and people. Team collaboration presents new problems, but also provides more potential to produce valuable systems than any single programmer could.
(“Software Engineering at Google” curated by Titus Winters, Tom Manshreck and Hyrum Wright, O’Reilly, 2020, p. 4)

Want to study Computer Science, Software Engineering or Computational Engineering / Nám í tölvunarfræði, Hugbúnaðarverkfræði, Reikniverkfræði

If you want more information on our programmes:

Bachelor (B.Sc.)

Computer Science (Tölvunarfræði) -- we added recently the specialisation in Data Science

Software Engineering (Hugbúnaðarverkfræði)

Master (M.Sc.)

Computer Science (Tölvunarfræði)

Software Engineering (Hugbúnaðarverkfræði)

Computational Engineering (Reikniverkfræði)

Ph.D.

And of course, you can also do a PhD in any of these programmes. Before you apply, contact a professor: either by a personal visit or -- if you are located abroad -- by writing an old school paper letter (professors get hundreds of email with PhD applications where it is obvious that the same email was written to many professors and thus, these email are considered as spam -- but a paper mail makes an impress)!

Zoom Panopto integration

Helmut Neukirchen, 9. November 2021

Panopto can tell Zoom to copy Zoom meeting cloud recordings to Panopto. You can configure this automatic import/export by clicking in the very upper right corner of https://rec.hi.is/ on your user name and then select "User Settings".

University of Iceland is running Panopto with at least two different storage spaces: the old storage space used when logged-in to Panopto via UGLA (for Panopto videos accessible via UGLA) and the new storage space when logged-in to Panopto via Canvas (for Panopto videos accessible via Canvas).

On https://rec.hi.is/, you can in the upper right corner log out and log in to change between these two spaces. But you cannot copy videos between these two spaces -- but UTS help desk can do so.

For the Zoom integration, the problem is that recordings may end up in the wrong space: whatever the last log-in to Panopto was, sets the integration, i.e. tells Zoom where to store the video for all future Zoom session recordings. So take care that your last log-in was into the intended storage space before a Zoom cloud recording starts. (Or ask UTS help desk to fix it afterwards.)

PhD Defense Federated Access to Collaborative Compute and Data Infrastructures

Helmut Neukirchen, 29. June 2021

Shiraz Memon successfully defended his PhD thesis in Computer Science on Federated Access to Collaborative Compute and Data Infrastructures. The thesis covers how researchers can perform eScience by discovering services (such as accessing data and processing data) on remote research and e-infrastructures and authenticate (such as logging in order to use the service) and how authorization can be done (i.e. deciding which services are allowed to be used).

The thesis was streamed, Wed, 30. June 2021 starting from 09:30 (UTC), and the recording is available via: https://livestream.com/hi/doktorsvornshmedshirazmemon

PhD defense announcement

This PhD is an example of the collaboration between the Faculty of Industrial Engineering, Mechanical Engineering and Computer Science and Jülich Supercomputing Centre (JSC).

Members of the PhD commitee were Morris Riedel, Helmut Neukirchen, and Matthias Book, opponents were David Wallom and Shukor Abd Razak. The head of faculty, Rúnar Unnþórsson, was steering the defense.

Why you should study Software Engineering / Af hverju hugbúnaðarverkfræði

Helmut Neukirchen, 7. June 2021

Studying Software Engineering is important because Software is the future and future is starting right now. And someone needs to create all this software that is shaping our future.

Software Engineering is more than just programming, it rather looks at big picture , namely the whole life of the software: from the start where you need to talk to customers to find out what software they actually need over to the actual programming, user interface and user experience, quality assurance and this is all guided by project management where you need to make people work together.

Software Engineering covers so many different aspects that students need to come from all kinds of different backgrounds:
female and male, those who are good at math, those who are good at communicating with other people, those who are picky about details, those who are creative. Essentially everyone!

When you start studying Software Engineering, you do not need to be able to program: you will learn that in our courses. But you need to be able to talk to other people and at the same time do not fear thinking like an engineer, such as doing math and applying systematic processes!

The nice thing about developing software is that only your imagination is the limit: you can create everything just by turning your mind into code and then it runs and you can see it immediately working. This is so rewarding!

Studying Software Engineering at the University of Iceland is very practical: you do not only learn the theory, but also apply it in the courses. For example, in our Bachelors program, there is a Software Engineering project that spans a whole full year.

Those who graduate from here, will find easily a job at a good salary and can work in fact in all kinds of different fields: be it banking, insurance, health, industry, administration, tourism, gaming, even arts:
simply everywhere, Software is nowadays needed!

Further information

If you want more information on our Software Engineering programmes:

Bachelor (B.Sc.)

Software Engineering (Hugbúnaðarverkfræði)

Master (M.Sc.)

Software Engineering (Hugbúnaðarverkfræði)

Ph.D.

And of course, you can also do a PhD in any of these programmes. Before you apply, contact a professor: either by a personal visit or -- if you are located abroad -- by writing an old school paper letter (professors get hundreds of email with PhD applications where it is obvious that the same email was written to many professors and thus, these email are considered as spam -- but a paper mail makes an impress)!

If you rather want to study Computer Science or Computational Engineering

While the above text was intended to convince you studying Software Engineering, you might still be interested in our other programmes:

Bachelor (B.Sc.)

Computer Science (Tölvunarfræði) -- we added recently the specialisation in Data Science

Master (M.Sc.)

Computer Science (Tölvunarfræði)

Computational Engineering (Reikniverkfræði)

HÍ eða HR, tölvunarfræði eða hugbúnaðarverkfræði / University of Iceland vs. Reykjavik University, Computer Science vs. Software Engineering

Helmut Neukirchen, 5. March 2021

HÍ eða HR / University of Iceland vs. Reykjavik University

Often, the question arises whether University of Iceland (Háskóli Ísland (HÍ)) or Reykjavik University (Háskólinn í Reykjavík (HR)) is better for studying Computer Science (tölvunarfræði) or Software Engineering (hugbúnaðarverkfræði).

In my experience both universities do not differ that much -- on the surface things might look different, but when you look closer, they are not that different. As an example: HR advertises 3 week intense courses to apply the theoretical foundations learned in earlier courses, whereas at HÍ, the application of the learned theory is built into the courses themselves: either as a project at the end of each course or a project running even throughout the whole course semester.

However, there is one difference (in addition to paying high tuition fees at HR): the diversity choice of courses from other disciplines. At HÍ, you can take non-CS or non-SE courses as part of your studies -- and these can not only be other STEM (Science, Technology, Engineering, and Mathematics) courses, but also, e.g., foreign languages. As HR is quite limited in the number of course due to their limited number of study programmes, HÍ has a big advantage there.

Tölvunarfræði eða Hugbúnaðarverkfræði / Computer Science (CS) vs. Software Engineering (SE)

Another question is about the difference between Computer Science (Tölvunarfræði) and Software Engineering (Hugbúnaðarverkfræði): while both are in essence about programming, Software Engineering goes beyond as it has the "big picture" in mind -- not only, e.g., the big picture of a software architecture, but also related to management, e.g. project management and quality management. For example, SE students take courses from Industrial Engineering on project management and quality management (in addition to software quality management offered by me). When it comes to stakeholder relations (one of the biggest problems in software project are unclear requirements where the developed software does not meet the needs of users) and to user experience, SE requires many soft skills -- including psychology (e.g. work psychology and human-computer interaction and usability).

One might be tempted to say that CS is maybe for the nerds and SE for those who can talk to people and lead projects. But in fact, SE is not solely about soft skills, but you need both: soft and hard skills. Being an Engineer is an officially licensed professional title and as such, the regulations that apply to the contents of any Engineering programme in Iceland apply as well to Software Engineering, e.g. taking a certain amount of Math and Science courses which is the exact opposite of soft skills. So, to be a good Software Engineer you need to have both talents: people and tech.

Note that even if you enroll in our Computer Science programme, it allows so much freedom in selection of courses that you could take the same courses that a Software Engineering student has to take. (However, in this case, you will not be entitled to apply for a license as professional Engineer as you did not study any Engineering, but a Science, namely Computer Science.)

Further information

If you want more information on our programmes:

Bachelor (B.Sc.)

Computer Science (Tölvunarfræði) -- we added recently the specialisation in Data Science

Software Engineering (Hugbúnaðarverkfræði)

Master (M.Sc.)

Computer Science (Tölvunarfræði)

Software Engineering (Hugbúnaðarverkfræði)

Computational Engineering (Reikniverkfræði)

Ph.D.

And of course, you can also do a PhD in any of these programmes. Before you apply, contact a professor: either by a personal visit or -- if you are located abroad -- by writing an old school paper letter (professors get hundreds of email with PhD applications where it is obvious that the same email was written to many professors and thus, these email are considered as spam -- but a paper mail makes an impress)!

Erasmus+ Exchange Computer Science University of Iceland / skiptinám tölvunarfræði Háskóli Íslands

Helmut Neukirchen, 10. February 2021

The Computer Science department of the University of Iceland is part of Erasmus+ and as such it is possible to have exchange of students (and also teachers) with other universities abroad (incoming and outgoing).

For an exchange, a bilateral contract between the two universities needs to be set up. Currently, we have the following contracts, but new contracts can be set up on demand:

Johannes Kepler University Linz
University of Antwerp
ETH Zürich
Universität Duisburg Essen
Georg August Universität Göttingen
Technical University of Munich
Universidad Complutense de Madrid
Université du Luxembourg
University of Groningen
Lodz University of Technology
Glasgow Caledonian University

In particular for German speaking universities, I can serve as a contact point.

Master in Computer Science, Software Engineering, or Computational Engineering

Helmut Neukirchen, 24. April 2020

We have some overview videos for students who are in interested to enroll in our Master (M.Sc,) programmes in Computer Science (Tölvunarfræði), Software Engineering (Hugbúnaðarverkfræði), or Computational Engineering (Reikniverkfræði):

Master in Computer Science (Meistaranám Tölvunarfræði)

Master in Software Engineering (Meistaranám Hugbúnaðarverkfræði)

Master in Computational Engineering (Meistaranám Reikniverkfræði)

Other means of remote communication with students

Helmut Neukirchen, 15. March 2020

Discussion forum: Piazza

Most Computer Science teachers uses since years the discussion forum Piazza.com that is tailored for university courses. Students can ask there, e.g. anonymously to lower the bar, questions concerning lectures, assignments, organisational issues, etc..

Instant messenger: Riot

For your PhD students, you may want to have a means of remote communication between email and phone: a chat/instant messenger.

  • If you are fine with awkward to use software and have money (or your institution used tax money to pay), you can use Microsoft teams,
    • Caveat: Microsoft, one of the biggest cloud computing providers on Earth, cannot deal with increased load due to COVID: check status
    • If you just need the chat and all your team members have anyway access, it is fastest to use Microsoft Team for this.
  • if you sold your soul (and data) to, e.g. Facebook, you can of course use their messengers.
  • if you like easy to use software and have money, you can use Slack,
  • if you like easy to use software and are convinced that free and open-source software is better, you use Riot: https://riot.im. Riot runs in the browser and has mobile apps.

As with all instant messengers: disable instant notifications -- they distract too much. Instead look only after messages when you do a break/switch between tasks. If your PhD students have something really urgent (the lab is on fire), they can still call you.

Using video conferencing tools for remote teaching

Helmut Neukirchen, 15. March 2020

Note: re-visit this page from time to time as experience from teaching in the Computer Science department is added.

Students seem to be satisfied with our Zoom approach (feedback, paraphrased for legal reasons):

The teachers in the department of Computer Science handled the shift
to remote teaching very well. Every teacher did her/his best and the
Zoom lectures are going well. Teachers have a positive attitude concerning
the new teaching style which is very encouraging that we will be able to tackle the coming weeks.

I attended different classes: both Teams and Zoom were tried and Zoom is
better. In some classes it is even better than showing up.

Note concerning Microsoft Teams

It is irresponsible that university teachers are told (by people who never delivered remote lectures for university courses in practise) to use Microsoft Teams for remote lecturing: Teams was never intended for remote lecturing (Microsoft Word is called Word, because it is a word processor -- does Microsoft Teams sound like a synonym for remote teaching?) and is therefore simply the wrong tool (and in addition awkward to use: you need a 3 h course to learn it) -- rather use Zoom! Teams is as well also the wrong tool for ad-hoc meetings with people who are not part of your team! There are better tools for small, but easy to use ad-hoc video meetings.

Whatever tool you choose, remember to make it accessible to everyone. If it does not use standards such as HTML (=runs in browser on whatever system which typically even makes it usable by visually impared), take care that your tool can be used via Linux, Mac OS X, Microsoft Windows and also mobile platforms, i.e. Android and iOS. (The advantage of the mobile platform is that audio always works there, whereas Linux, Mac OS X, or Microsoft Windows sometimes cause trouble with audio devices, e.g. students do not have a microphone for their desktop computer to ask questions, but their mobile phone has for sure a microphone.)

Zoom

Our premier tool for giving whole interactive remote lectures is via Zoom. Request a full license from our UTS IT department to get rid of the 40 minute limit of the free version (and e.g. be able to record to automatically upload to Panopto).

  • Highly recommended reading: detailed slides on using Zoom for lecturing (check for updated from time to time) by my colleague Matthias Book.
    • The setup is as follows: you do screen sharing to share your computer screen that shows, e.g. slides, and you use your webcam to record you, e.g. in front of a whiteboard (use a good, thick black pen). If you have a separate webcam you can also let it point to a sheet of paper on which you write. Instead of a separate webcam, there is also software to connect your mobile phone to your computer and is it as webcam.
      If you record to the Zoom cloud (non-free license only), you get these as two separate videos that you can then combine via Panopto (Create, then Build a session).
    • If you record only one stream (e.g. recording not the cloud but via the Zoom client itself), then take care to disable screen sharing while you want to show something with the camera, e.g. the whiteboard. (Otherwise, the single created video will contain only the screensharing.)
    • An example, where only one stream is recorded can be found here. Note that this has been recorded as a single stream only -- while watching life via Zoom, studentw can choose whether to see the webcam or the screenshare in full form. But in the recording, when recording localy, the webcam view will only be a small thumbnail in the recorded video while screen sharing is active. So deactive screensharing for those parts where you want to have the webcam view recorded in full size.
    • Matthias is currently working on a tutorial video (check this page later again).
  • Some practises of using Zoom for lecturing (time will tell whether these are best practises)

Jitsi Meet and Whereby running completely in the browser for easy-to-use smaller meetings

While Zoom is great for many attendants, you need to download, install, and start a client (Linux, Mac OS X, Microsoft Windows) or app (Android, iOS). While you can enable to run in the browser (e.g. set a checkmark when scheduling), it crashed in my browser after a view minutes.

For smaller meetings, e.g. meet ad-hoc with a single student, consultation times, or a teaching assistant meeting with only a handful of student, you may want to avoid the hassle of Zoom to create/schedule a videoconference session and downloading a client or app.

In this case, you can use video conferencing tools that simply run in a browser and do not need any pre-scheduling of videoconference sessions. There are mainly two alternatives that each have there strengths and weaknesses: Whereby and Jitsi Meet.

Please recommend these tools also to students in order to still talk to each other daily in learning groups or just to have fun.

Jitsi Meet for easiest and somewhat bigger meetings that run in Chrome browser or special mobile apps

  • Pro: no account needed, no artifical limit to 4 users, open-source (=possible to install your own server), has some extra features (recording, blurring background, etc.)
  • Con: other browsers than Chrome not well supported (they work, but sometimes video freezes), mobile browsers not supported at all, but apps are available, open-source (=if you use the free server provided by the open-source project, it may not handle a lot of load and might be limited to 1.5 h sessions)

Jitsi Meet meet runs in the desktop browser (apps on mobile platforms) and you need no account, i.e. you can immediately start by just agreeing on a URL and typing it in!

To give it a try, the base URL is https://meet.jit.si/
just agree on a room name, append the room name to the base URL and enter it into your browser, e.g https://meet.jit.si/MySuperDuperMeetingRoom

There is no easier way to do a videoconference then with Jitsi Meet! (At least if all use Chrome as browser/have the mobile app installed.)

ensemble.scaleway.com French Jitsi meet installation

Should the above Jitsi meet server be overloaded (and you are OK with a French as default for the changeable language user interface), you can use https://ensemble.scaleway.com/.

There, click on Lancer une réunion to get a random server and room name. If you like, you can change that room name and even use always the same randomly assigned server name to end up with a fixed URL, e.g.: https://v-4110.ensemble.scaleway.com/MySuperDuperMeetingRoom

Once running, you can switch the language: click on the three vertical dots (bottom right corner), then on the gear wheel for the settings, then on the Plus tab, at Langue, choose Anglais.

Whereby for easy small meetings that run in any browser

  • Pro: works with almost all browsers, possible to lock a room and require students to knock to make you let them enter the room or put them on hold if you are still busy with other students (e.g. consultation time queue)
  • no account needed, no artifical limit to 4 users, open-source (=possible to install your own server)

  • Con: account needed for host, free version artificially limited to 4 users.

If you do not have more than 4 participants (including you), whereby.com runs completely in the browser (all common desktop browsers, on mobile platforms the standard browsers)

The one who hosts the conference room needs an account, everyone who joins using the URL does not need an account.

Panopto / Recording for Panopto with a (Linux) screen recorder

  • HÍ has info on Panopto
  • While Panopto allows a live webcast, it has a delay which prevents interaction with students. So we do not use this feature, but use Zoom for live interaction and record that with Zoom and upload the Zoom video to Panopto.
  • Linux users can use a screen recorder and upload the created file to Panopto (Note: Panopto even does optical character recognition of every pixel that is recorded, so you video becomes searchable). If you anyway use Zoom (the client works nicely on Linux), you can also let Zoom record to a file and upload that to Panopto.
  • Research has shown that screen recordings where you still see a video of the presenter are viewed more than without presenter. One way to achieve this is to record via Zoom which then embeds the presenter video into the recorded shared screen (or enable in settings on the Zoom web page "Record active speaker, gallery view and shared screen separately" to get separate files). Another would be to use https://studio.opencast.org/ that is a purely web-based recording software and allows to record camera and screen into separate videos that you can then upload to Panopto by creating a single session that combined the two videos.
  • If you recorded already in the past and want to re-use recordings now:
    • be aware that Panapto orders by default by recording date. But you can re-order them and asks students not to order by recording date, but by "order". (Unfortunately, UGLA shows videos always ordered by recordings date -- so make students aware of that.)
    • Note that Panopto sometimes forgets the encoding of old videos (black screen, only audio), but by re-processing it you can get it back: see this video for problem and solution description (audio is distorted: audio recording level was set too high).

Some Best Practises

We have a daily short videoconference to exchange experience in remote teaching (these videoconferences are via Zoom, so at the same time it is a practise in using Zoom; furthermore, instead of being home alone with family, it is good to see colleagues) and after one week of remote teaching we had a separate videoconference with students to get feedback from them and to let them know that our department is with them.