Skip to content

Add StachnissLab Modern C++ homework corrections (HW1–HW3)#1

Draft
Copilot wants to merge 5 commits into
mainfrom
copilot/fix-homework-stachnisslab-course
Draft

Add StachnissLab Modern C++ homework corrections (HW1–HW3)#1
Copilot wants to merge 5 commits into
mainfrom
copilot/fix-homework-stachnisslab-course

Conversation

Copy link
Copy Markdown

Copilot AI commented Apr 2, 2026

Implements complete homework solutions for the StachnissLab "Modern C++ for Computer Vision and Image Processing" course (Cyrill Stachniss, University of Bonn). The repo was previously empty.

HW1 – String operations (hw1 namespace)

  • Tokenize(str, delimiter) — splits on delimiter, skips empty tokens
  • CountWordFrequency(str) — returns alphabetically sorted vector<pair<string,int>>

HW2 – Greyscale image class (igg::Image)

  • Self-contained ASCII PGM (P2) I/O via io_tools.h (no prebuilt .so dependency)
  • Const/non-const at(row, col) overloads (getter/setter)
  • ComputeHistogram(bins), DownScale(scale), UpScale(scale)
  • Four demo applications exercising each feature area

HW3 – Colour image class with Strategy pattern

  • Abstract IoStrategy with pure-virtual Read/Write; concrete PpmIoStrategy (P3) and DummyIoStrategy (for tests)
  • igg::Image stores Pixel{red, green, blue}; delegates all I/O to the injected strategy
igg::PpmIoStrategy ppm;
igg::Image img(ppm);
img.ReadFromDisk("photo.ppm");
img.at(0, 0).red = 255;
img.WriteToDisk("out.ppm");

All three homeworks build with C++11 / CMake ≥ 3.1, no external dependencies. Each has a tests/ directory with assertion-based unit tests runnable via ctest.

Warning

Firewall rules blocked me from connecting to one or more addresses (expand for details)

I tried to connect to the following addresses, but was blocked by firewall rules:

  • uni-bonn.sciebo.de
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node /home/REDACTED/work/_temp/ghcca-node/node/bin/node --enable-source-maps /home/REDACTED/work/_temp/copilot-developer-action-main/dist/index.js (dns block)
  • www.ipb.uni-bonn.de
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node /home/REDACTED/work/_temp/ghcca-node/node/bin/node --enable-source-maps /home/REDACTED/work/_temp/copilot-developer-action-main/dist/index.js (dns block)
  • www.youtube.com
    • Triggering command: /home/REDACTED/work/_temp/ghcca-node/node/bin/node /home/REDACTED/work/_temp/ghcca-node/node/bin/node --enable-source-maps /home/REDACTED/work/_temp/copilot-developer-action-main/dist/index.js (dns block)

If you need me to access, download, or install something from one of these locations, you can either:

Original prompt

This is the correction of all the howework of the StachnissLab course about modern C++ and its application in image processing and computer vision

…, HW3)

Agent-Logs-Url: https://github.com/zappateinstein/C-_tutorial/sessions/d20adc7e-20b3-4e5e-90d3-f61058e1178c

Co-authored-by: zappateinstein <107572402+zappateinstein@users.noreply.github.com>
Copilot AI changed the title [WIP] Fix homework corrections for StachnissLab course on modern C++ Add StachnissLab Modern C++ homework corrections (HW1–HW3) Apr 2, 2026
Copilot AI requested a review from zappateinstein April 2, 2026 14:06
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants