Commit Graph
21 Commits
Author SHA1 Message Date
portersky edc567331d fix: Add back remove warning as error 2026-10-05 18:36:25 +02:00
porterskyandQwen 3.8 27B 3764421cc0 docs(materials): update S3 905 material
Refresh 397_MA_S3_905_S2.pdf with the re-saved handout (63 pages).

Co-authored-by: Qwen 3.8 27B <qwen3.8_27b-q3_k_xl@lmstudio.local>
2026-10-05 14:35:19 +02:00
porterskyandQwen 3.8 27B 2fc7e2ebdb chore(cmat): drop legacy warning flags
Comment out the loop that copied BASE_OPTIONS (minus -Werror) into
CMAT_OPTIONS so exercise targets no longer inherit the project
warning flags.

Co-authored-by: Qwen 3.8 27B <qwen3.8_27b-q3_k_xl@lmstudio.local>
2026-10-05 14:35:17 +02:00
porterskyandQwen 3.8 27B db0d7b9bee refactor(Ex22): apply template method to Timer
Rename the virtual tick() override in PelicanTimer to doExpired()
and give the base Timer class a non-virtual tick() that checks for
expiration and dispatches to doExpired(). The exercise starting
point now matches SolutionEx22.

Co-authored-by: Qwen 3.8 27B <qwen3.8_27b-q3_k_xl@lmstudio.local>
2026-10-05 14:35:16 +02:00
porterskyandQwen 3.8 27B 73114f1bab chore(cmat): remove cleanall.bat
Drop the Visual Studio artifact cleanup script; CMake handles
builds now and the original copy remains in 397/.

Co-authored-by: Qwen 3.8 27B <qwen3.8_27b-q3_k_xl@lmstudio.local>
2026-10-05 12:39:10 +02:00
porterskyandQwen 3.8 27B e5d5952bbb chore(cmat): remove legacy vcproj files
Drop the pre-2010 Visual Studio project files (.vcproj) left over
from the original course material. CMake builds everything now and
the original copies remain in 397/.

Co-authored-by: Qwen 3.8 27B <qwen3.8_27b-q3_k_xl@lmstudio.local>
2026-10-05 12:38:43 +02:00
porterskyandQwen 3.8 27B ca7bcb2f44 chore(cmat): remove VS upgrade log
Drop UpgradeLog.htm from Ex11; it is generated by Visual Studio
when upgrading a project and has no place in the course material.
The original copy remains in 397/.

Co-authored-by: Qwen 3.8 27B <qwen3.8_27b-q3_k_xl@lmstudio.local>
2026-10-05 12:38:27 +02:00
porterskyandQwen 3.8 27B 82131c78de chore(cmat): remove legacy makefiles and empty dirs
Drop the old GCC 3.4.2 makefile/make.mk pairs from Ex11, Ex11bug and
SolutionEx11bug; CMake builds everything now. Also remove the VS build
artifacts (pelican.obj.enc, unsuccessfulbuild markers) and prune the
now-empty Debug, Release, Backup and x64 directories. Original copies
remain in 397/.

Co-authored-by: Qwen 3.8 27B <qwen3.8_27b-q3_k_xl@lmstudio.local>
2026-10-05 12:38:25 +02:00
porterskyandQwen 3.8 27B f43ff27e1d chore(cmat): remove Visual Studio solution files
Drop the .sln, .vcxproj, .vcxproj.filters, .vcxproj.user and .suo
files from cmat/. CMake is the build system for the course material,
and the original copies are preserved in 397/ as the source backup.

Co-authored-by: Qwen 3.8 27B <qwen3.8_27b-q3_k_xl@lmstudio.local>
2026-10-05 12:01:49 +02:00
porterskyandQwen 3.8 27B 808fa0f7bd docs: add C++ scratchpad notes
Collect new C++ features to cover, design patterns, and compiler
options for catching undefined behavior.

Co-authored-by: Qwen 3.8 27B <qwen3.8_27b-q3_k_xl@lmstudio.local>
2026-10-05 11:58:42 +02:00
porterskyandQwen 3.8 27B d10cc0cde4 docs: document cmat Materials in source layout
Co-authored-by: Qwen 3.8 27B <qwen3.8_27b-q3_k_xl@lmstudio.local>
2026-10-05 11:57:13 +02:00
porterskyandQwen 3.8 27B d8abd821ee docs(cmat): add course material PDFs
Add the two course material PDFs under cmat/Materials/.

Co-authored-by: Qwen 3.8 27B <qwen3.8_27b-q3_k_xl@lmstudio.local>
2026-10-05 11:56:34 +02:00
porterskyandQwen 3.8 27B da6eca3aef chore: ignore UpgradeLog.htm in oxfmt config
The course material includes UTF-16 VS upgrade logs that oxfmt cannot
read, which broke `npx oxfmt --check .`. Ignore them by filename.

Also include the SKILL.md frontmatter rewrap from the formatter run.

Co-authored-by: Qwen 3.8 27B <qwen3.8_27b-q3_k_xl@lmstudio.local>
2026-10-05 11:55:14 +02:00
porterskyandQwen 3.8 27B e09540c2b2 feat(cmat): add cmake build for course material
Add a CMakeLists.txt to each exercise directory, included from
cmat/CMakeLists.txt, so every exercise and solution becomes a buildable
target. GUI exercises link the curses-based DOS_Unix implementations on
Unix-like systems; the Windows-specific DOS variants are not compiled.
Exercises without a portable path or with missing dependencies (Boost)
are reported as not available at configure time.

Targets are excluded from the default build and built by name, e.g.
`cmake --build build --target Ex11`, so intentionally buggy exercises
such as Ex21 do not break the default build.

Also fix two portability issues: rename Ex11bug/pole.h to Pole.h for
case-sensitive filesystems and drop the extra Light:: qualification in
SolutionEx71A/Light.h. Document build commands and layout in AGENTS.md.

Co-authored-by: Qwen 3.8 27B <qwen3.8_27b-q3_k_xl@lmstudio.local>
2026-10-05 11:55:00 +02:00
portersky e8241fd1ff chore: Add course material 2026-10-05 11:27:21 +02:00
portersky 971813c351 chore: Reformat CMake files 2026-10-04 23:24:27 +02:00
portersky 83878d483d chore: Format code 2026-10-04 23:05:19 +02:00
portersky ee94d8ab06 feat: Add Unittest example 2026-10-04 23:02:22 +02:00
portersky e487e66f64 feat: C++ CMake template 2026-10-04 22:48:25 +02:00
Pratchaya KhansomboonandQwen 3.8 27B 425713fb49 docs: add README and update source layout
Add a brief project README and list it in the AGENTS.md source
layout block.

Co-authored-by: Qwen 3.8 27B <qwen3.8_27b-q3_k_xl@jelly.nrv.nu>
2026-10-03 15:04:15 +02:00
Pratchaya KhansomboonandQwen 3.8 27B 2bb43ddbf9 Initial commit
Agent instructions (AGENTS.md), oxfmt config, git workflow skill,
and .gitignore for the C++ course repository.

Co-authored-by: Qwen 3.8 27B <qwen3.8_27b-q3_k_xl@jelly.nrv.nu>
2026-10-03 15:01:32 +02:00