Tools suitable for coding
- Geany (recommended, used in class)
- Visual studio code (Good text editor, needs configuration, extensions and GCC installed separately, recommended)
- VSCodium (Same as VS code, but without big brother on your shoulder)
- KDevelop (a powerful IDE started in the Linux world)
- CLion (Professional IDE for C/C++)
- Sublime Text
- Atom
- Code::Blocks
- Notepad++
Code analysis tools
- cppcheck – Linter, configured as default in Geany, performs static analysis on code.
- clang-tidy – Linter, performs static analysis on code.
- https://pythontutor.com/c.html – Web based code visualizer and debugger
Tools suitable for modelling
- Visual Paradigm Community Edition (used in class, community license free by providing an e-mail address).
- Visual Paradigm Online (web based)
- ArgoUML [Windows setup]
- Astah (student license available with uni-id e-mail)
- StarUML
- Microsoft Visio (requires license, freely available for IT faculty students through Azure)
- draw.io (web based)
Virtualization
- Virtualbox
- VMware Workstation Pro and Player Pro
- Hyper-V on Windows 10/11 (Pro, Edu, Ent)
List of challenges (tasks to solve by programming)
NB! Some of these may have changed from free to partially or fully paid over time. Websites are not regularly validated for their policies.
- https://projecteuler.net
- https://adventofcode.com
- https://www.reddit.com/r/dailyprogrammer/
- https://www.codewars.com
- https://cses.fi/problemset/
- https://exercism.org
- https://leetcode.com
- https://www.reddit.com/r/learnprogramming/comments/eelexn/list_of_programming_challenge_websites/
Additional reading
NB! The links here are given to help understand and read further into the topics covered during the course. The material however is not curated by us and therefore it might not be fully or at all in conjunction with the course contents and the coding style used in the course.