Syllabus

Course Format

This is an introductory course to Computer Science, consisting of lectures, exercises, assignments, and tutorials.
The class is graded based on an exam that takes place at the end of the semester (requiring to solve a certain amount of assignments).

Lecture

Lectures cover several foundational topics including an introduction to programming and the most fundamental algorithms in computer science.
Each lecture comes with slides and takes place in an interactive atmosphere with time for questions and some live coding.
Attending lectures is optional (though highly recommended).

Exercises

Exercises are used to manifest the knowledge from the lecture and are mandatory.

  • each students is assigned to exactly one exercise group.
  • each exercise combines written as well as programming assignments.
    • all programming assignments must be solved in Java.
    • You are allowed to solve and submit the tasks by groups of 2 students (this group has to remain consistent throughout the semester!)
    • each student needs to earn at least 2/3 of the points over all assignments.
    • solutions for the assignments need to be submitted until a predefined deadline (usually Sunday 23:00)
      • we will not accept any solution later than the predefined deadline
      • To balances imperfections between different clocks the server actually accepts submisssions until 23:15 (server time). You should not rely on that!
    • You must be present during the exercise appointment for your submission to actually count. Submitting your solution on time is only the first step.

Students must present (parts of) their solution within the exercise to proof that they put considerable effort in solving the task(s).

Important note: The exercises tend to be fairly time-consuming. Don’t wait until the last minute to begin them! You should plan on devoting approximately 6-10 hours of work per assignment sheet.

Assignments

In advance of each exercise, an assignment sheet is published that must be solved until a given deadline (see Schedule). Usually each assignment sheet consists of three assignments.
For handling assignments, we make use of an elearning system developed by Christian Rössl (AG Visual Computing). You need to register a seperate account for that (Link).

Tutorials

The tutorials are meant as complementary support, and thus, are optional. Basically, they are are divided into two parts:

Part 1 -- 101 Tutorial on Java

This part is especially for absolute beginners in programming and takes place the first weeks of the semester, encompassing the following:

  • opportunity to receive practical assistance to install and work with Java
  • in particular, tutorials will cover a basic 101 Java in the first 4-5 weeks of the Semester (see Schedule)
  • if you have no (or only minor) experience in programming, it is highly recommended to attend the tutorials as programming skills are required to solve the exercises throughout the semester!

Part 2 -- Discussion of Assignments

This part is generally for all, who have questions regarding the previous assignment(s) and its solution and take place continuously, according to the Schedule.
Hence, in this tutorial you can ask questions if anything is unclear or you have doubts (regarding the previous assignment).

 Grading

General Grading Information

Grading is based upon on an exam that takes place at the end of the semester. It will be in a Multiple/Single Choice fashion and reflects the topic of the lecture.

The class is not graded on a curve in the sense that a certain percentage of students will receive an A (i.e., 1.0), a certain percentage will receive a B (i.e., 2.0), etc. Doing so would be unfair, and not properly reflect on the performance of each individual student. I hope and expect everyone in the class to get an A. I also expect everyone to work hard to earn that A, or they will not receive it.

The class is graded on a curve in the sense that the final grade computed from the number of points you achieve in the exam.
For instance, if you achieve ~50% of the points, this will probably translate into a D (i.e., 4.0), whereas achieving  ~95% of the points most likely translates to an A (i.e., 1.0). All other grades inbetween scale linearly with the points achieved.

Prerequisites

To order to take the exam, you are required to solve the assignments.  In particular

  • you earn points by submitting correct solutions 
  • you need to earn 66% of the available points. 
  • you needs to earn at least 1 individual point for presenting your results during the exercise

We will delete points for an assignment:

  • if you are not able or willing to present the result during an exercise session --> the submission will not count as voted
  • if you are not present at the exercise session or join the session after discussion/presentation on the exercise has already started

Late Policy

Assignments must be turned in by the due date and time in order to contribute to your points for exam participation. Assignments will not be accepted late. In case of severe circumstances such as hospitalization, contact the instructor. Assignments are generally submitted by uploading them on the course's elearning platform. You may replace your latest submission but only the most current one will count.

 Academic Conduct

Unless otherwise stated, all work submitted as part of the exercises is expected to be your own. You may discuss the main ideas of a given problem with other students (provided that you acknowledge doing so in your solution), but you must write the actual solution by yourself.

Prohibited behaviors include (but are not limited to):

  • copying all or part of another person's work, even if you subsequently modify it
  • copying solutions from past semesters, or those found in books or on the internet.

Last Modification: 14.10.2020 - Contact Person: Christian Braune