This is a non-basic programming course for C/C++. The course and the exercises will be taught online via Zoom.
Content
Variables, basic data types, scopes and lifetime
Functions
Pointers and references
Arrays
STL - dynamic data structures, iterators and algorithms
Classes, inheritance, RAII
Dynamic and Static polymorphism, templates
File handling
Exceptions
Threads and OpenMP
Graphs and graph algorithms
Course Organization
Six intensive days: Mon-Wed 04.09.-06.09. and Mon-Wed 11.09.-13.09.
Each day, there will be two lectures (at 8:30 and at 13:30) and one or two exercise sheets, one larger exercise from 06.09. to 11.09.
(Don't plan on much else during these days. Make sure to properly schedule and prepare your meals, ... and sleep).
On Wednesday 13.09., there is no lecture in the afternoon.
Lectures and exercises will be offered online only. Slides and video recordings will be made available.
Prerequisites
You need to bring basic programming skills in whatever language. E.g., you should have passed Informatik I+II or equivalent.
You need to register in InfoMark (you have to (re-)register, old accounts cannot be used).
You need to execute Exercise 0 before the lecture starts.
Grading
You will be graded based on the exercises. There is no exam, neither written nor oral.
You need 50% of the total exercise points and at least 10% on each individual sheet to pass.
Exercises
We strongly encourage forming groups of 2.
Solutions will have to be handed in via InfoMark. They will be analyzed automatically to some degree.
Tutorials will be offered in the form of parallel breakout rooms on Zoom.
Programming Environment
You will program on your own PC or laptop.
Exercise Sheet 00 contains a detailed guide for how to install the programming environment on your system. Please do not deviate from this guide - we can not give support for setup related errors that are out of scope of this guide.
Make sure to install and test everything before the course starts. You need to be ready to directly start with the exercises. This means you should have successfully processed all steps in Exercise 0.
Privacy settings
Our website uses cookies. Some of them are mandatory, while others allow us to improve your user experience on our website. The settings you have made can be edited at any time.
or
Essential
in2code
Name
in2cookiemodal-selection
Use
Required to save the user selection of the cookie settings.
Lifetime
3 months
Name
be_lastLoginProvider
Use
Required for the TYPO3 backend login to determine the time of the last login.
Lifetime
3 months
Name
be_typo_user
Use
This cookie tells the website whether a visitor is logged into the TYPO3 backend and has the rights to manage it.
Lifetime
Browser session
Name
ROUTEID
Use
These cookies are set to always direct the user to the same server.
Lifetime
Browser session
Name
fe_typo_user
Use
Enables frontend login.
Lifetime
Browser session
Videos
in2code
Name
iframeswitch
Use
Used to show all third-party contents.
Lifetime
3 months
YouTube
Name
yt-player-bandaid-host
Use
Is used to display YouTube videos.
Lifetime
Persistent
Name
yt-player-bandwidth
Use
Is used to determine the optimal video quality based on the visitor's device and network settings.
Lifetime
Persistent
Name
yt-remote-connected-devices
Use
Saves the settings of the user's video player using embedded YouTube video.
Lifetime
Persistent
Name
yt-remote-device-id
Use
Saves the settings of the user's video player using embedded YouTube video.
Lifetime
Persistent
Name
yt-player-headers-readable
Use
Collects data about visitors' interaction with the site's video content - This data is used to make the site's video content more relevant to the visitor.
Lifetime
Persistent
Name
yt-player-volume
Use
Is used to save volume preferences for YouTube videos.
Lifetime
Persistent
Name
yt-player-quality
Use
Is used to save the quality settings for YouTube videos.
Lifetime
Persistent
Name
yt-remote-session-name
Use
Saves the settings of the user's video player using embedded YouTube video.
Lifetime
Browser session
Name
yt-remote-session-app
Use
Saves the settings of the user's video player using embedded YouTube video.
Lifetime
Browser session
Name
yt-remote-fast-check-period
Use
Saves the settings of the user's video player using embedded YouTube video.
Lifetime
Browser session
Name
yt-remote-cast-installed
Use
Saves the user settings when retrieving a YouTube video integrated on other web pages
Lifetime
Browser session
Name
yt-remote-cast-available
Use
Saves user settings when retrieving integrated YouTube videos.
Lifetime
Browser session
Google
Name
ANID
Use
Used for targeting purposes to profile the interests of website visitors in order to display relevant and personalized Google advertising.
Lifetime
2 years
Name
SNID
Use
Google Maps - Google uses these cookies to store user preferences and information when you view pages with Google Maps.
Lifetime
1 month
Name
SSID
Use
Used to store information about how you use the site and what advertisements you saw before visiting this site, and to customize advertising on Google resources by remembering your recent searches, your previous interactions with an advertiser's ads or search results, and your visits to an advertiser's site.
Lifetime
6 months
Name
1P_JAR
Use
This cookie is used to support Google's advertising services.
Lifetime
1 month
Name
SAPISID
Use
Used for targeting purposes to profile the interests of website visitors in order to display relevant and personalized Google advertising.
Lifetime
2 years
Name
APISID
Use
Used for targeting purposes to profile the interests of website visitors in order to display relevant and personalized Google advertising.
Lifetime
6 months
Name
HSID
Use
Includes encrypted entries of your Google account and last login time to protect against attacks and data theft from form entries.
Lifetime
2 years
Name
SID
Use
Used for security purposes to store digitally signed and encrypted records of a user's Google Account ID and last login time, enabling Google to authenticate users, prevent fraudulent use of login credentials, and protect user data from unauthorized parties. This may also be used for targeting purposes to display relevant and personalized advertising content.
Lifetime
6 months
Name
SIDCC
Use
This cookie stores information about user settings and information for Google Maps.
Lifetime
3 months
Name
NID
Use
The NID cookie contains a unique ID that Google uses to store your preferences and other information.
Lifetime
6 months
Name
CONSENT
Use
This cookie tracks how you use a website to show you advertisements that may be of interest to you.
Lifetime
18 years
Name
__Secure-3PAPISID
Use
This cookie is used to support Google's advertising services.
Lifetime
2 years
Name
__Secure-3PSID
Use
This cookie is used to support Google's advertising services.
Lifetime
6 months
Name
__Secure-3PSIDCC
Use
This cookie is used to support Google's advertising services.