|
3 | 3 | 1. Read about Privacy and FERPA compliance [here](../../../blog/posts/FerpaCompliance/FerpaCompliance.md) |
4 | 4 | 2. This one, for in class coding assignments. https://github.com/InfiniBrains/Awesome-GameDev-Resources |
5 | 5 | 3. MoBaGEn, for interactive assignments. https://github.com/InfiniBrains/mobagen |
| 6 | +4. Install CLion (has CMake embedded) or see [#development-tools](#development-tools) |
6 | 7 |
|
7 | 8 | ## Types of coding assignments |
8 | 9 |
|
@@ -30,13 +31,43 @@ There are two types of coding assignments: |
30 | 31 | 1. If you want to make it count as part of your portfolio, fork the repo follow [this](https://docs.github.com/en/get-started/quickstart/fork-a-repo); |
31 | 32 | 2. If you want to keep it private or be FERPA compliant, duplicate the repo following [this](https://docs.github.com/en/repositories/creating-and-managing-repositories/duplicating-a-repository); |
32 | 33 |
|
33 | | -3. Add my user to your repo to it with `read` role. My userid is `tolstenko` on github, for other options, talk with me in class. Follow [this](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository); |
| 34 | +3. Add my user to your repo to it with `read` role. My userid is `tolstenko`(or your professor) on github, for other options, talk with me in class. Follow [this](https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-teams-and-people-with-access-to-your-repository); |
34 | 35 | 4. Send me a message on canvas with the link to your repo; |
35 | 36 |
|
| 37 | +## Recordings |
| 38 | + |
| 39 | +In all interactive assignmets, you will have to record a 5 minute video explaing your code. Use [OBS](https://obsproject.com/) or any software you prefer to record your screen while you explain your code. But for this one, just send me the video showing the repo and the repo invites sent to me. |
| 40 | + |
36 | 41 | ## Development tools |
37 | 42 |
|
38 | | -I will be using CMake for the classes, but you can use whatever you want. Please [read this](../../intro/02-tooling/README.md) to understand the C++ toolset. |
| 43 | +I will be using `CMake` for the classes, but you can use whatever you want. Please [read this](../../intro/02-tooling/README.md) to understand the `C++` toolset. |
39 | 44 |
|
40 | | -## Recordings |
| 45 | +In this class, I am going to use `CLion` as the IDE, because it has nice support for `CMake` and automated tests. |
| 46 | + |
| 47 | +- Download it [here](https://www.jetbrains.com/clion/). |
| 48 | +- If you are a student, you can get a free license [here](https://www.jetbrains.com/community/education/#students). |
| 49 | + |
| 50 | +If you want to use `Visual Studio`, be assured that you have the `C++ Desktop Development` workload installed, more info [this](https://docs.microsoft.com/en-us/cpp/build/vscpp-step-0-installation?view=msvc-160). And then go to `Individual Components` and install `CMake Tools for Windows`. |
| 51 | + |
| 52 | +!!! note |
| 53 | + |
| 54 | + If you use `Visual Studio`, you won't be able to use the automated testing system that comes with the assignments. |
| 55 | + |
| 56 | +[OPINION]: If you want to use a lightweight environment, don't use Visual Studio Code for C++ development. Period. It is not a good IDE for that. It is preferred to code via sublime, notepad, vim, or any other text editor and then compile your code via terminal, and debug via gdb, than using VS Code for C++ development. |
| 57 | + |
| 58 | +### Openning the Repos |
| 59 | + |
| 60 | +1. (Fork and) clone the repos; |
| 61 | +2. Open `CLion` or yor preferred `IDE` with `CMake` support; |
| 62 | +3. Open the `CMakeLists.txt` as project from the root of the repo; |
| 63 | +4. Wait for the setup to finish (it will download the dependencies automatically, such as `SDL`); |
| 64 | + |
| 65 | +For the interactive assignments, use this [repo](https://github.com/InfiniBrains/mobagen) and the assignments are located in the `examples` folder. |
| 66 | + |
| 67 | +For the algorithmic assignments, use this [repo](https://github.com/InfiniBrains/Awesome-GameDev-Resources) and the assignments are located in the `courses/artificialintelligence/assignments` folder. |
| 68 | + |
| 69 | +For the algorithmic assignments, I created some automated tests to help you debug your code and ensure 100% of correctness. To run them, follow the steps (only available though `CLion` or terminal, not `Visual Studio`): |
| 70 | + |
| 71 | +1. Go to the executable drop down selection (top right, near the green `run` or `debug` button) and select the assignment you want to run. It will be something like `ai-XXX` where `XXX` is the name of the assignment; |
| 72 | +2. If you want to test your assignment against the automated inputs/outputs, select the `ai-XXX-test` build target. Here you should use the `build` button, not the `run` or `debug` button. It will run the tests and show the results in the `Console` tab; |
41 | 73 |
|
42 | | -In all interactive assignmets, you will have to record a 5 minute video explaing your code. Use [OBS](https://obsproject.com/) or any software you prefer to record your screen while you explain your code. But for this one, just send me the video showing the repo and the repo invites sent to me. |
|
0 commit comments