Universität Wien
Achtung! Das Lehrangebot ist noch nicht vollständig und wird bis Semesterbeginn laufend ergänzt.

260027 VU Introduction to C/C++ programming for Physicists (2026S)

7.00 ECTS (4.00 SWS), SPL 26 - Physik
Prüfungsimmanente Lehrveranstaltung

An/Abmeldung

Hinweis: Ihr Anmeldezeitpunkt innerhalb der Frist hat keine Auswirkungen auf die Platzvergabe (kein "first come, first served").

Details

max. 25 Teilnehmer*innen
Sprache: Englisch

Lehrende

Termine (iCal) - nächster Termin ist mit N markiert

  • Montag 02.03. 15:00 - 16:30 PC-Seminarraum 3, Kolingasse 14-16, OG02
  • Mittwoch 04.03. 15:00 - 16:30 PC-Seminarraum 3, Kolingasse 14-16, OG02
  • Montag 09.03. 15:00 - 16:30 PC-Seminarraum 3, Kolingasse 14-16, OG02
  • Mittwoch 11.03. 15:00 - 16:30 PC-Seminarraum 3, Kolingasse 14-16, OG02
  • Montag 16.03. 15:00 - 16:30 PC-Seminarraum 3, Kolingasse 14-16, OG02
  • Mittwoch 18.03. 15:00 - 16:30 PC-Seminarraum 3, Kolingasse 14-16, OG02
  • Montag 23.03. 15:00 - 16:30 PC-Seminarraum 3, Kolingasse 14-16, OG02
  • Mittwoch 25.03. 15:00 - 16:30 PC-Seminarraum 3, Kolingasse 14-16, OG02
  • Montag 13.04. 15:00 - 16:30 PC-Seminarraum 3, Kolingasse 14-16, OG02
  • Mittwoch 15.04. 15:00 - 16:30 PC-Seminarraum 3, Kolingasse 14-16, OG02
  • Montag 20.04. 15:00 - 16:30 PC-Seminarraum 3, Kolingasse 14-16, OG02
  • Mittwoch 22.04. 15:00 - 16:30 PC-Seminarraum 3, Kolingasse 14-16, OG02
  • Montag 27.04. 15:00 - 16:30 PC-Seminarraum 3, Kolingasse 14-16, OG02
  • Mittwoch 29.04. 15:00 - 16:30 PC-Seminarraum 3, Kolingasse 14-16, OG02
  • Montag 04.05. 15:00 - 16:30 PC-Seminarraum 3, Kolingasse 14-16, OG02
  • Mittwoch 06.05. 15:00 - 16:30 PC-Seminarraum 3, Kolingasse 14-16, OG02
  • Montag 11.05. 15:00 - 16:30 PC-Seminarraum 3, Kolingasse 14-16, OG02
  • Mittwoch 13.05. 15:00 - 16:30 PC-Seminarraum 3, Kolingasse 14-16, OG02
  • Montag 18.05. 15:00 - 16:30 PC-Seminarraum 3, Kolingasse 14-16, OG02
  • Mittwoch 20.05. 15:00 - 16:30 PC-Seminarraum 3, Kolingasse 14-16, OG02
  • Mittwoch 27.05. 15:00 - 16:30 PC-Seminarraum 3, Kolingasse 14-16, OG02
  • Montag 01.06. 15:00 - 16:30 PC-Seminarraum 3, Kolingasse 14-16, OG02
  • Mittwoch 03.06. 15:00 - 16:30 PC-Seminarraum 3, Kolingasse 14-16, OG02
  • Montag 08.06. 15:00 - 16:30 PC-Seminarraum 3, Kolingasse 14-16, OG02
  • Mittwoch 10.06. 15:00 - 16:30 PC-Seminarraum 3, Kolingasse 14-16, OG02
  • Montag 15.06. 15:00 - 16:30 PC-Seminarraum 3, Kolingasse 14-16, OG02
  • Mittwoch 17.06. 15:00 - 16:30 PC-Seminarraum 3, Kolingasse 14-16, OG02
  • Montag 22.06. 15:00 - 16:30 PC-Seminarraum 3, Kolingasse 14-16, OG02
  • Mittwoch 24.06. 15:00 - 16:30 PC-Seminarraum 3, Kolingasse 14-16, OG02

Information

Ziele, Inhalte und Methode der Lehrveranstaltung

The course provides an introduction to high-level programming in C/C++. These closely related languages remain among the most widely used choices for the development of scientific software involving intensive computations, due to their combination of high computational performance, flexibility, and extensive available resources, including development tools, documentation, algorithms, and libraries. Consequently, proficiency in C/C++ programming constitutes essential knowledge for physicists engaged in the development of demanding computational codes, whether created from scratch or through the customization of existing libraries.

The course provides a broad elemental overview of the fundamental aspects of software development in C/C++, including:
* Compilation, debugging, code documentation and version control
* C syntax and the fundamentals of procedural programming
* C++ syntax the and fundamentals of object-oriented programming and templates
* AI-assisted programming

The course content will remain at an introductory level, providing students with a broad perspective that will serve as a foundation for further in-depth study of topics most relevant to their specific field. Several basic aspects (e.g., working in a command-line shell and familiarity with elementary procedural control structures) are covered in the winter semester course 260102 VO Programming for Physicists and will therefore not be discussed in detail here. Consequently, students with no prior knowledge of programming are strongly advised to complete that course before enrolling in the present one.

The course will comprise two types of session blocks:
* Lectures covering fundamental concepts, language syntax and programming techniques
* Practical hands-on sessions in which the students will perform coding exercises and develop small projects after the topics introduced in the lectures

Students are expected to work on their own laptops using a functional C/C++ development environment of their choice. A recommended option is the use of an up-to-date version of the free and open-source integrated development environment Visual Studio Codium (fully compatible with Microsoft Visual Studio Code), together with the GNU C/C++ compilers (version 12 or later), the GNU Debugger (GDB, version 13 or later), and current versions of Git and Doxygen.

Art der Leistungskontrolle und erlaubte Hilfsmittel

The assessment will be performed by two means:
* Lightning (short) tests on the concepts introduced in the lectures
* Programming exercises applying those concepts

Learning programming primarily involves the accumulation of extensive, hands-on practice. Therefore, limiting the aids will not be enforced.

Mindestanforderungen und Beurteilungsmaßstab

Minimum requirements for a positive assessment:
* Attendance to the first session (in case of not justified absence, the sudent will be de-registered)
* Less than 20% of unjustified absences from the sessions
* To achieve at least 50% of the points of the short tests
* To achieve at least 50% of the points of the programming exercises

The final grade will be determined by the fraction of the total points obtained from short tests and programming exercises:
* Grade 1: at least 87.5% of the points
* Grade 2: at least 75% of the points
* Grade 3: at least 62.5% of the points
* Grade 4: at least 50% of the points
* Failed: less than 50% of the points

Prüfungsstoff

Concepts introduced in the lectures. Eager practice of programming exercises.

Literatur

Slides/lecture notes presented in the lectures. Many online references and resources will be provided during the course. Some examples:

* https://www.learncpp.com
* https://www.cprogramming.com
* https://www.cppreference.com

Zuordnung im Vorlesungsverzeichnis

ERGB, PM-InfA

Letzte Änderung: Mo 27.07.2026 09:27