Programming 2 (SS 2024)
Section outline
-
326.005, Friday 10:15-11:45, Room: HS 11, Start: March 8, 2024
In this course, we discuss the topic "Object-Oriented Programming in C++", especially:
- objects and classes,
- inheritance,
- templates,
- the C++ standard library.
The course will be accompanied by homework assignments. The final grade is calculated 50% from the assignments and 50% from the final exam; each of these parts must be passed positively.To participate in the course, you have to register in the KUSSS System. For submitting the assignments, you also have to create an account in the RISC Moodle (press the button "Create new account", you have to register with your students.jku.at email address) and self-enrol in this course (press the button "Enrol me"); then you also receive all messages posted in the course forums per email. -
As an extra service, it is intended to live-stream and record the lectures via the following Zoom meeting:
https://jku.zoom.us/j/401349309?pwd=VnB3ckRlTUxxQTlOMGZTWWNMajRyZz09
Meeting-ID: 401 349 309 Password: prog2However, no guarantee is given with respect to completeness and quality of the stream/recordings. The basic course format is on-site, not hybrid.
-
You are given 6 assignments; each is graded with 100 points. The best 5 assignments count; for a positive grade 250 points are required. When elaborating the assignments, please obey the coding guidelines.
-
Due: Thursday, 11 April 2024, 11:59 PM
-
Due: Thursday, 25 April 2024, 11:59 PM
-
Due: Thursday, 9 May 2024, 11:59 PM
-
Due: Thursday, 23 May 2024, 11:59 PM
-
Due: Thursday, 6 June 2024, 11:59 PM
-
Due: Thursday, 20 June 2024, 11:59 PM
-
Every week our teaching assistant give consulting hours. For questions at other times, please use the "Questions and Answers" forum.
-
- Cimg.h: Download the "standard package" and include the file "CImg.h" in your project (this is the only file needed from the downloaded zip archive).
- Drawing.zip: Include file "Drawing.h" in your project and link the object file generated from "Drawing.cpp" to your program (the easiest way is just to add "Drawing.cpp" to your source files, see the explanations in this file). File "Main.cpp" represents an example of a main program.
- In "Eclipse" under Linux, select in "Project -> Properties -> C/C++ General -> Paths and Symbols -> Includes -> GNU C++ -> Include directories -> Add" the installation directories of "CImg.h" and "Drawing.h" and add in "Project -> Properties -> C/C++ General -> Paths and Symbols -> Libraries -> Add" the files "pthread" and "X11" (enter each name in the text area and press "Okay"; then in "Paths and Symbols" both names should be listed).
- In "Microsoft Visual Studio" , create a project of type "Win32 console application". Then select in "Project -> Properties -> Configuration Properties -> C/C++ -> General -> Additional Include Directories" the installation directories of "CImg.h" and "Drawing.h" and select option "Project -> Properties -> Configuration Properties -> C/C++ -> Precompiled Headers -> Do not use precompiled headers".
- In Orwell Dev-C++, set in "Project -> Project Options -> Parameters -> Linker" the value "-lgdi32".
- If you use macOS, install XQuartz and configure in your development environment the include path /opt/X11/include (compiler option: "-I /opt/X11/include") and the library path /opt/X11/lib (linker option "-L /opt/X11/lib").
- Integrated Development Environments
This development environment is included in various Linux distributions, e.g., in Ubuntu as package "eclipse-cdt". However, it also can be installed under macOS and under MS Windows using MinGW-w64.
This development environment is freely available for Microsoft Windows (install the workload "Desktop development with C++").
Another free development environment for Microsoft Windows.
In Microsoft Windows or macOS, you may also use a preconfigured virtual Machine running Debian GNU/Linux with the Eclipse C/C++ IDE (login as user "guest" with password "guest"; open a window by clicking the "Terminal" icon and start the IDE with the shell command "eclipse-cpp &"). The CImg library is already installed; a corresponding sample project has been created in Eclipse.
-
- C++ Language Tutorial
- C++ Library Reference
- Example Programs for Download
- C++ in a Nutshell
- C++ Cookbook (link "Download Example Code")
- C++ Das Übungsbuch (link "Downloads")
- Exploring C++ 20
-
- 2nd Exam: Thursday, October 31, 2024, 17:15-18:45, S2 059
- All (written/printed) materials are allowed (open book).
- Registration in KUSSS till Monday, October 28, 2024, 12:00.
- 2nd Exam: Thursday, October 31, 2024, 17:15-18:45, S2 059