Welcome!
Informatics 1 is an introduction to object-oriented programming using the Java language. In this class we will be using BlueJ as development environment. You will learn about writing programs, designing simple algorithms, about control structures, data types and structures and last not least object oriented programming - objects and classes.
Language
This class will be held in a mixture of German and English. Most written material will be in English. You are free to choose German or English for your written assignments.
Class Structure and Meetings
Under non-corona-circumstances, the class would consist of 2x2h of lectures and 2h of lab per week, accompanied by a 2h Tutorial. The details - time and rooms - would be found in LSF, see link above in the external links menu.
Due to the pandemic, this class will be held completely in a distance format with the method of Learnteam Coaching. You will work on one Chapter of the textbook first individually and then together with your Learning Team, aided by the actual Learnteam coaching by one of the instructors. Also, you will work on one Lab Assignment every week. See the Schedule for the overall plan and links to the materials and the Week Plan for the weekly schedule.
There will be a “kick off” to the following week each Friday at 9:45 in Zoom (link to Zoom can be found in Moodle) with a brief introduction to the topic by Prof. Kleinen and to the lab assignment by Linda Fernsel. Your second weekly meeting will be within your learning team; the third one will be the learnteam coaching done by either Linda Fernsel and me.
Furthermore, there will be a Tutorial for everyone once a week held by Eve Schütze.
Grading
The Grading in Informatics 1 will be done as follows:
- 14x1P for Notebook Chapters - 14 P
- 11x4P for Lab Reports: - 44 P
- 3x15P for Programming Assignments at the end of term: - 45 P
4 Bonus Points for an Interview - 4P- 4 Bonus Points for Inheritance Lab Assignment
This sums up to a total of 108 P and will be graded according to the [Grading Scale]({{ site.BaseURL }}/studies/grading/grading-scale).
Programming Assignments
There will be 3 Programming Assignments at the end of Term:
- Tue 6.7.2021
- Tue 13.7.2021
- Tue 20.7.2021
** please reserve the time between 12:00 and 24:00 for this! **
These Programming Assignments are “Studienbegleitende Prüfungsleistungen” and replace the Exam due to the pandemic situation.
Formally, the one on 13/07/2021 is “the” exam - it doesn’t make any difference in practice, they all count the same.
You need to register for the exam in LSF.
- if you attended all of them, you will be graded.
- if you miss one, you are eligible for the resit / PZ2 see below - you may however email me to let me know that you want a grade in PZ1 nonetheless
- you will receive an email “Ihre Zeile in meiner Notentabelle” after I finished grading stating the points/percentage you received (so far)
To prepare the Programming assignments, you may practice using the Lab Assignments from last semester:
- PA 1 6.7. - 12. The World of You
- PA 2 13.7. - 13. Keeping Track of Stuff
- PA 3 20.7. - 14. Pick up and Carry
(the assignments will be similar, but not the same)
Resit / 2. Prüfungszeitraum
There will be opportunities to do all three of them in the 2. PZ.
- PA1 Di 28.9.2021 14-22
- PA2 Fr 01.10.2021 14-22
- PA3 Mo 04.10.2021 14-22
I will send out an invitation briefly before the first day; but basically we’ll meet in our usual Zoom room, Quizzes will be available in Moodle.
Further remarks
Notebook Chapters and Lab Reports are simply counted - they are either present or not. 2 lab reports and 3 Notebook Parts may be handed in late.
If you already have prior programming experience and find the lab assignments rather easy, you can switch to coaching other students for up to three lab assignments altogether. You need to announce your coaching offer in the moodle forum and hand in a report for this lab writing about your coaching experience, but do not need to work on the assignment yourself.
If you are unable to work on your assignments due to circumstances you are not accountable off - e.g. falling ill or family emergencies - talk to either Linda Fernsel or Barne Kleinen asap and we will work out a solution.
Interviews: I teach a class on User Centered Design in the Master’s Programme, and, depending on the chosen topic, the students will need interview partners. You get a Bonus of 4P for an Interview of about 1 hour.
Textbook and Materials
Textbook
This Class is based on the Textbook Objects First with Java - A Practical Introduction using BlueJ, Pearson Education, 2016, 6th edition by David Barnes and Michael Kölling. Pearson Book Page
There is a German translation available: Barnes, David J., Kölling, Michael: Java lernen mit BlueJ. Pearson, 2017, 6. Auflage. Pearson Book Page
There are copies available in the library, and you can also obtain an older edition - examples and chapter order vary, but the general content is mostly the same apart from the newer chapters on lambdas and streams.
See also https://www.bluej.org/objects-first/
If you prefer Videos, [David Barnes has recently recorded a new set of class videos][BarnesVideos].
Java Tutorials
There are many Java Tutorials out there on the web on the topics we cover. Many will prove useful, however, do use them as practice to gauge the quality and applicability of your findings before relying on them.
A comprehensive resource for the Java language are the Tutorials by Sun/now Oracle; especially the Trail “Learning the Java Language”.
Other Material
Terms Crosswords - Rather old, you need to install an Applet Runner in your browser for them to work, like e.g. this one for Chrome - https://cse.taylor.edu/~sbrandle/bluej/
Important Links and Further Information
Information on this class is dispersed on several locations depending on the nature of the information and wether it can be public or not. The Course Navigation on top gives you access to all other relevant places via “External Links”.
These places are in detail:
- This Web Page for all information that may and should be publicly accessible, especially the Schedule, Lab exercises, or further general information as the [Grading Scale]({{ site.BaseURL }}/studies/grading/grading-scale)
- Moodle for all Information that cannot be made publicly available and for handing in your lecture summaries and lab reports.
- the LSF System, where you can find class times and rooms. Note that is possible to see the general schedule for your Semester (Term Schedule above) and also Schedules for all people teaching (Dozentenpläne) - this is often the fastest way to find out the room for your next class.
- The lecture source code on Github for publicly accessible code examples used in the lecture and the assignments (you don’t need to know how to use git to use github - note the “download as zip” buttons on the starting page of each repository!)