monke  monke

A repository with notes and solved assignments for my studies.

For coverage of classes refer to this wiki page.

Cloning

If you're willing to build C/C++ code contained in this repository you need to have fossil installed on your computer. You can download it here or install with your package manager of choice.

If you're using Debian based distro (like Ubuntu or Raspberry PI OS) you can install fossil with following commands.

$ sudo apt update
$ sudo apt install fossil

On macOS, installation process of fossil is looking following way. I assume that you have Homebrew installed on your OS.

$ brew install fossil

When you're done installing fossil, you can simply clone this repository.

$ fossil clone https://code.hauru.club/monke

If you're using older version of fossil, you probably need to declare target for monke fossil file and open repository manually in some directory. Skip this step if above command has worked flawlessly.

$ fossil clone https://code.hauru.club/monke monke.fossil
$ mkdir monke
$ cd monke
$ fossil open ../monke.fossil

Enter root directory of this project (if you hasn't entered it yet).

$ cd monke

Dependencies

Before building code, you need to install required build tools. I'm using meson, because it's cooler than make easy to setup.

Debian based linux distros

$ sudo apt update
$ sudo apt install build-essential meson ninja

macOS

$ xcode-select --install
$ brew install meson ninja

Building

Let's assume you want to build executables for Programowanie Obiektowe classes. They're places in po directory. Follow below steps.

$ cd po
$ meson build
$ cd build
$ ninja

Now you can run built executables. If you need to run program from assignment no. 3 from first class, just do:

$ ./src/1/3/exec

Repeat the above steps for any task in any class.

Summary

These solutions don't have to be correct and I am aware that I'm probably using too many C++ features to solve them, but I still hope you'll find them useful for your learning. According to license: you can do whatever you like with the code, but please, think twice before copying this code and claiming it's yours. It can be unpleasant for both of us and every other person that will be using this codebase.