Medieninformatik HTW Berlin
Fachbereich 4
Internationaler Bachelor Studiengang
Internationale Medieninformatik (Bachelor)
Informatik 3
Winter Term 2023/24

 
HTW Berlin

Info 3: Informatik III
Modern Software Engineering
 

Welcome to Informatik III!

I will be offering the course in a semi-hybrid manner. This means that the sessions will be held at the HTW but also broadcast via Zoom. It will be difficult to keep the students from a distance involved in the discussions, but I will try my best. I also have many of the lectures from the first Corona semester on the Mediathek of the HTW. I'll link to them in the Moodle room. I have quite a number of new topics this semester, and of course I always link all sorts of current events (= software failures) into the topics we will be covering, so attending in person is probably more fun :)

My goal is to introduce you to the field of modern software engineering, which has a lot in common with the production of complex media. When we produce media we sometimes speak of Media Engineering. Engineers plan something, make sure it gets done, and measure that they actually implemented what they were trying to afterwards. We will be looking at various methods of planning, doing, and measuring and learn how many things go into creating a software product that is above and beyond simple coding.

The problem we have today is that there are basically two kinds of software that are developed in a completely different manner: traditional, project-driven development and modern development of apps. I will be mixing material from a traditional software-engineering course with some modern stuff. This will keep us on our toes!

You can get an idea about part of what we will be doing by watching this short (7 min) video by the author of our textbook, Ian Sommerville, with 10 Questions on Software Engineering.

This handout describes some of the general information that you will need to know about the course. It also includes course policies that I will expect you to abide by during this term. You should read through this handout and make sure that you understand its contents. You will probably also want to save the link for future reference. This handout—as well as other course information—is available on the web via the course web page, http://people.f4.htw-berlin.de/~weberwu/info3/.

Learning Objectives according to the module description

In this course you will learn

Course Contents

We will be discussing the following topics, among others:

Course Basics

Teachers

  • Prof. Dr. Debora Weber-Wulff, will be giving the lectures. She can best be reached by email at weberwu@htw-berlin.de. Make sure you use a good subject line, a professional email address, sign your full name, and give me a bit of context. I get hundreds of emails a day. As a LB I do not offer regular office hours.
  • Alexander Müller-Lobeck will be leading the labs. He can be reached at Alexander.Mueller-Lobeck@HTW-Berlin.de.
  • There is no tutor for Informatik 3. You are grownups now.

Venues

We will be using a Moodle collaboration room for the course. It is planned for us to meet for lectures during the evening shift:

  • Mondays, 15:45-17:15, in C 446
  • Tuesdays, 15:45-17:15, in C 446
I will start on October 9, 2023.

The labs are on Wednesdays, 15:45-17:15, in C 537, 4 hours every other week. As always in the winter semester, this causes utter chaos. Please always consult the schedule!

  • Group 1 starts on October 11, 2023
  • Group 2 starts on October 18, 2023

Course Materials

There are a number of books that can be useful for this course. One of them was just published and is terribly expensive, but it deals with modern product development. I have ordered three copies for the library, they should arrive any day now. The second one is the book I will be using as a basis for much of the traditional course material.

Course Components

Assignments and Grades

During the term, there will be 8 exercises which will be posted on the web page. Lab reports are due the evening before the next lab by 22:00, but may of course be handed in early.

There will be a 2-hour examination on or about February 6, 2024. The examination will cover conceptual understanding in ways that may be difficult to assess during the laboratory sessions. No "cheat sheets" will be permitted, you are now used to university exams and know what to expect.

The 8 exercises are worth a total of 80 lab points. You must submit at least 6 exercises on time in order to be admitted to the exam.

Missing a lab report will automatically result in 0 points for the lab.

Your grade in Info 3 will be a weighted mixture of the following elements of the course:

Yes, I know that this makes 105 %. I don't like to discuss points I take off, so I always have a bit more :)

Laboratories

Laboratory sessions are an essential part of the course. The laboratory assignments will be posted on the home page. The first two exercises will be in randomly assigned groups. Then you are to form a team, a group of three or four, who will work together. You will learn to use the different kinds of UML diagrams to design an application. Then we will mess with some nasty legacy code stuff before setting up a project plan and a risk analysis for your app.

We expect you to work together and not to do every other exercise alone. All lab work must be turned in on time and be labelled with the names of the students who did the work. We shouldn't have to say this, but you MUST write in complete sentences, in English or in German. Each student submits their own copy of their report to Moodle, using the naming convention: Ex<exercise number as a digit>_<Your last names no umlauts>.pdf - and yes, we will only accept pdf. Every member of the group hands in their own copy of the same PDF.

Handing in any kind of plagiarized exercise (from the Internet, from other students) or ChatGPT generated material that is not marked as such will result in an automatic failure (5,0) with a notice of cheating put on your permanent record! You are here to learn, don't cheat.

Exam

The examination will be diagnostic in nature. You are expected to do your own work here—any cheating will result in an automatic 5.0. Questions will tend to be similar to the questions in the Sommerville chapters or will have you drawing diagrams. I will expect you to answer essay questions in complete sentences, German or English, giving your reasoning. Don't mix languages in one answer, but you can switch between questions if you need to. I will be giving you paper, you will only need a pen. You may use a dictionary, but there must not be writing in the dictionary. Please don't bring complete meals to the exam, but a bottle of water or a cup of coffee is fine.

Expectations and Policies

Chatbot use

I published an article with Constanze Kurz in August 2023 that includes my new rules for using artificial "intelligence" such as chatbots. Here they are applied to this course:

  1. Only use where allowed. You can use such systems in preparing your labs as long as you follow rule #2. It is not permitted to use such systems in the exam.
  2. Transparency. If you use such systems for the labs, you MUST document which version of which system you used when and for what part of your work. It would be useful to also document why you used the system, and to document the prompts that you used in the appendix.
  3. Take responsibility. You are responsible for all the nonsense the system generates! That means you can't say "but the machine said!". The problem with using these systems is that you have to have a high level of competence to evaluate if the output is, indeed correct. And since you are just learning, that is hard to be able to do. So if you do use such systems, anything even slightly wrong will deduct points from your score.

Missed Meetings

You are responsible for all material covered in each lecture unless otherwise indicated. This material may not be covered elsewhere, so if you miss a meeting, you are responsible for getting notes from a friend or otherwise making up the material. Old versions of some of the lectures can be found in the Mediathek. Handouts will not be distributed on paper, but will be made available on the course web site.

We encourage attendance at the laboratory. It is important that you communicate with your group partners. If someone in your group is not communicating, please contact us as soon as possible. If you have special problems that arise, please contact us as soon as possible.

Collaboration

This section details the general course collaboration policy. Certain assignments require different kinds of, or restrictions on, collaboration. When the collaboration policy differs from that described here, it will be specified in the laboratory assignment.

We encourage you to work together on the exercises. They are designed for working in small groups, allowing you to help each other learn and to balance your knowledge and strengths. Note that collaboration extends to discussion and problem-solving, but not to write-ups. We expect that any written work you turn in will be done by one of the authors of the exercise reports, though it may reflect group preparation.

Experimental work is a complex topic. It is often useful to discuss your models with peers or with us, and we strongly encourage this. It is particularly useful to do so as a means of debugging your models. Reading models written by others and having others critique yours are good ways to improve your modelling style. However, it is of no benefit to you or to anyone else to have someone else actually do your work. I expect that the default assumption (i.e., unless specified otherwise) is that assignments are your own work, but may reflect input from others just as an essay edited by friends might. You should be the one who wrote the models you turn in.

In each piece of work that you turn in, you must specify everyone with whom you have collaborated and each person's role in the collaboration. Failure to specify such collaboration will be interpreted as a statement that you have not collaborated with others in your work. While this is acceptable under course policy, it is probably ill-advised. (Really! We want you to work together and to learn from each other!).

Note that there are no "right" answers for this course. You will need to explain why you chose to model your solutions as you did. A convincing explanation will always serve you well.

Reports shoulc close with a short reflection on what, if anything, you learned in this exercise.

Reports should not use any copyrighted material (pictures or other media) without the express written consent of the copyright holder or be material under a free license.

Our Moodle room has a chat attached, and there is a forum for general comments and discussion. Make use of this as you need. If you need to have any other kind of communication tool, please let me know. Moodle has a ton of extras that can be installed easily.

Examinations are diagnostic in nature and as a consequence should represent independent work.

Of course, copying of the work of others is entirely unacceptable and will result in the lab in question being marked as missed, or for especially severe cases in failure for the course.


Copyright Prof. Dr. Debora Weber-Wulff
Questions or comments: <weberwu@htw-berlin.de>
Some rights reserved. CC-BY-NC-SA - Copyright and Warranty