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!
- we will not accept any solution later than the predefined deadline
- 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.