Skip to content

Commit

Permalink
deploy: 2c6bc79
Browse files Browse the repository at this point in the history
  • Loading branch information
tolstenko committed Mar 22, 2024
0 parents commit 7380e30
Show file tree
Hide file tree
Showing 372 changed files with 62,945 additions and 0 deletions.
Empty file added .nojekyll
Empty file.
1 change: 1 addition & 0 deletions 404.html

Large diffs are not rendered by default.

1 change: 1 addition & 0 deletions CNAME
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
courses.tolstenko.net
7 changes: 7 additions & 0 deletions advanced/01-introduction/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
subdirlist(activity_dir ${CMAKE_CURRENT_SOURCE_DIR})

foreach(subdir ${activity_dir})
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${subdir}/CMakeLists.txt")
add_subdirectory(${subdir})
endif()
endforeach()
14 changes: 14 additions & 0 deletions advanced/01-introduction/actvities/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
file(GLOB adv_intro_src CONFIGURE_DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/*.cpp)

enable_testing()

add_executable(adv-01-intro ${adv_intro_src})
include(${doctest_SOURCE_DIR}/scripts/cmake/doctest.cmake)
target_include_directories(adv-01-intro PUBLIC ${DOCTEST_INCLUDE_DIR})
target_link_libraries(adv-01-intro doctest::doctest)
doctest_discover_tests(adv-01-intro)

if(ENABLE_TEST_COVERAGE)
target_compile_options(adv-01-intro PUBLIC -O0 -g -fprofile-arcs -ftest-coverage)
target_link_options(adv-01-intro PUBLIC -fprofile-arcs -ftest-coverage)
endif()
25 changes: 25 additions & 0 deletions advanced/01-introduction/actvities/main.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#define DOCTEST_CONFIG_IMPLEMENT_WITH_MAIN
#include <doctest/doctest.h>
using namespace std;

// create a function that allocates memory on the heap and returns a raw pointer to it
char* allocateMemoryAndClear(int numBytes, char value) {
// implement this function
}

// create a function that deallocates memory on the heap
void deallocateMemory(char*& ptr) {
// implement this function
}


// DO NOT CHANGE THE CODE BELOW THIS LINE
TEST_CASE("allocateMemory") {
char* ptr = allocateMemoryAndClear(3, 'u');
CHECK(ptr != nullptr);
CHECK(ptr[0] == 'u');
CHECK(ptr[1] == 'u');
CHECK(ptr[2] == 'u');
deallocateMemory(ptr);
CHECK(ptr == nullptr);
}
72 changes: 72 additions & 0 deletions advanced/01-introduction/index.html

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions advanced/01-introduction/setup/index.html

Large diffs are not rendered by default.

Binary file added advanced/02-oop/img.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added advanced/02-oop/img_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added advanced/02-oop/img_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
188 changes: 188 additions & 0 deletions advanced/02-oop/index.html

Large diffs are not rendered by default.

249 changes: 249 additions & 0 deletions advanced/03-pointers/index.html

Large diffs are not rendered by default.

Binary file added advanced/04-operators/img.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
162 changes: 162 additions & 0 deletions advanced/04-operators/index.html

Large diffs are not rendered by default.

7 changes: 7 additions & 0 deletions advanced/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
subdirlist(advcpp_chapters ${CMAKE_CURRENT_SOURCE_DIR})

foreach(subdir ${advcpp_chapters})
if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/${subdir}/CMakeLists.txt")
add_subdirectory(${subdir})
endif()
endforeach()
10 changes: 10 additions & 0 deletions advanced/index.html

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions algorithms/01-introduction/index.html

Large diffs are not rendered by default.

Binary file added algorithms/02-analysis/img.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added algorithms/02-analysis/img_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added algorithms/02-analysis/img_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added algorithms/02-analysis/img_3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
56 changes: 56 additions & 0 deletions algorithms/02-analysis/index.html

Large diffs are not rendered by default.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
105 changes: 105 additions & 0 deletions algorithms/03-dynamic-data/index.html

Large diffs are not rendered by default.

46 changes: 46 additions & 0 deletions algorithms/04-sorting/index.html

Large diffs are not rendered by default.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added algorithms/05-divide-and-conquer/img.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added algorithms/05-divide-and-conquer/img_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added algorithms/05-divide-and-conquer/img_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added algorithms/05-divide-and-conquer/img_3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added algorithms/05-divide-and-conquer/img_4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
231 changes: 231 additions & 0 deletions algorithms/05-divide-and-conquer/index.html

Large diffs are not rendered by default.

Binary file added algorithms/06-hashtables/img.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added algorithms/06-hashtables/img_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added algorithms/06-hashtables/img_2.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added algorithms/06-hashtables/img_3.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added algorithms/06-hashtables/img_4.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added algorithms/06-hashtables/img_5.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
417 changes: 417 additions & 0 deletions algorithms/06-hashtables/index.html

Large diffs are not rendered by default.

Binary file added algorithms/06-hashtables/kitten-cat.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 10 additions & 0 deletions algorithms/07-midterm/index.html

Large diffs are not rendered by default.

Binary file added algorithms/08-stack-and-queue/Queue.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added algorithms/08-stack-and-queue/img_1.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
118 changes: 118 additions & 0 deletions algorithms/08-stack-and-queue/index.html

Large diffs are not rendered by default.

Binary file added algorithms/08-stack-and-queue/stack.gif
10 changes: 10 additions & 0 deletions algorithms/09-break/index.html

Large diffs are not rendered by default.

Binary file added algorithms/10-graphs/img.png
Binary file added algorithms/10-graphs/img_1.png
Binary file added algorithms/10-graphs/img_2.png
Binary file added algorithms/10-graphs/img_3.png
183 changes: 183 additions & 0 deletions algorithms/10-graphs/index.html

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions algorithms/11-dijkstra/index.html

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions algorithms/12-prims/index.html

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions algorithms/13-bst/index.html

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions algorithms/14-heap/index.html

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions algorithms/15-project/index.html

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions algorithms/16-finals/index.html

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions algorithms/index.html

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions artificialintelligence/00-introduction/index.html

Large diffs are not rendered by default.

22 changes: 22 additions & 0 deletions artificialintelligence/01-pcg/index.html

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions artificialintelligence/02-sm/index.html

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions artificialintelligence/03-boardgames/index.html

Large diffs are not rendered by default.

255 changes: 255 additions & 0 deletions artificialintelligence/04-spatialhashing/index.html

Large diffs are not rendered by default.

196 changes: 196 additions & 0 deletions artificialintelligence/05-kdtree/index.html

Large diffs are not rendered by default.

299 changes: 299 additions & 0 deletions artificialintelligence/06-pathfinding/index.html

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions artificialintelligence/07-automatedtesting/index.html

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions artificialintelligence/09-minmax/index.html

Large diffs are not rendered by default.

38 changes: 38 additions & 0 deletions artificialintelligence/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
function(add_custom_test TEST_NAME TEST_EXECUTABLE TEST_INPUT_LIST TEST_EXPECTED_OUTPUT_LIST)
list(LENGTH TEST_INPUT_LIST num_tests)

MATH(EXPR num_tests "${num_tests} - 1")
message(STATUS "Adding ${num_tests} tests for ${TEST_NAME}.")

set(TEST_COMMANDS "")
foreach(index RANGE 0 ${num_tests})
list(GET TEST_INPUT_LIST ${index} TEST_INPUT)
list(GET TEST_EXPECTED_OUTPUT_LIST ${index} TEST_EXPECTED_OUTPUT)

list(APPEND TEST_COMMANDS
COMMAND ${CMAKE_COMMAND} -E echo "Running test: ${TEST_NAME}_${index}. Using input file: ${TEST_INPUT}"
COMMAND ${CMAKE_COMMAND} -E cat ${TEST_INPUT}
COMMAND ${CMAKE_COMMAND} -E echo "=================================="
COMMAND ${CMAKE_COMMAND} -E echo "Expected Output from ${TEST_NAME}_${index}:"
COMMAND ${CMAKE_COMMAND} -E cat ${TEST_EXPECTED_OUTPUT}
COMMAND ${CMAKE_COMMAND} -E echo "=================================="
COMMAND ${TEST_EXECUTABLE} < ${TEST_INPUT} > test_output_${index}.txt
COMMAND ${CMAKE_COMMAND} -E echo "Actual Output from ${TEST_NAME}_${index}:"
COMMAND ${CMAKE_COMMAND} -E cat test_output_${index}.txt
COMMAND ${CMAKE_COMMAND} -E echo "=================================="
COMMAND ${CMAKE_COMMAND} -E compare_files ${TEST_EXPECTED_OUTPUT} test_output_${index}.txt
COMMAND ${CMAKE_COMMAND} -E echo "Test ${TEST_NAME}_${index} passed."
)
endforeach()

add_custom_target(${TEST_NAME}
${TEST_COMMANDS}
DEPENDS ${TEST_EXECUTABLE}
)
endfunction()

add_subdirectory(assignments/flocking)
add_subdirectory(assignments/maze)
add_subdirectory(assignments/life)
add_subdirectory(assignments/rng)
add_subdirectory(assignments/catchthecat)
10 changes: 10 additions & 0 deletions artificialintelligence/animation/index.html

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions artificialintelligence/assignments/catchthecat/Cat.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#ifndef CAT_h
#define CAT_h
#include "IAgent.h"

struct Cat : public IAgent {
std::pair<int,int> move(const std::vector<bool>& world, std::pair<int,int> catPos, int sideSize ) override{
return {0,0}; // todo: change this
}
};
#endif
10 changes: 10 additions & 0 deletions artificialintelligence/assignments/catchthecat/Catcher.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
#ifndef CATCHER_H
#define CATCHER_H
#include "IAgent.h"

struct Catcher : public IAgent {
std::pair<int,int> move(const std::vector<bool>& world, std::pair<int,int> catPos, int sideSize ) override{
return {0,0}; // todo: change this
}
};
#endif
7 changes: 7 additions & 0 deletions artificialintelligence/assignments/flocking/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
add_executable(flocking flocking.cpp)

file(GLOB TEST_INPUT_FILES ${CMAKE_CURRENT_SOURCE_DIR}/tests/*.in)
file(GLOB TEST_OUTPUT_FILES ${CMAKE_CURRENT_SOURCE_DIR}/tests/*.out)

add_custom_test(flocking-test ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/flocking "${TEST_INPUT_FILES}" "${TEST_OUTPUT_FILES}")

Loading

0 comments on commit 7380e30

Please sign in to comment.