Skip to content

Commit

Permalink
deploy: 085770d
Browse files Browse the repository at this point in the history
  • Loading branch information
tolstenko committed Feb 13, 2024
0 parents commit f1b6d32
Show file tree
Hide file tree
Showing 465 changed files with 61,959 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.

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.

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.
103 changes: 103 additions & 0 deletions algorithms/05-divide-and-conquer/index.html

Large diffs are not rendered by default.

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

Large diffs are not rendered by default.

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

Large diffs are not rendered by default.

10 changes: 10 additions & 0 deletions algorithms/08-stack-and-queue/index.html

Large diffs are not rendered by default.

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

Large diffs are not rendered by default.

10 changes: 10 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.

208 changes: 208 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.

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
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.
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.
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.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading

0 comments on commit f1b6d32

Please sign in to comment.