feat(challenge pack 1): add new challenge packages #1
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This pull request introduces a comprehensive set of programming challenges for both Python and C++, targeting students of varying expertise. It also adds automated GitHub Actions CI workflows for each challenge, ensuring code quality and integrating a points-awarding system. The changes are grouped into two main themes: challenge specification and CI workflow automation.
Programming Challenge Specification:
.github/copilot-instructions.mddetailing the role, objectives, and instructions for generating 10 programming challenges (5 Python, 5 C++), including requirements for file structure, solution templates, test files, CMake configuration for C++, and CI workflow integration. Each challenge is described with clear tasks and requirements for students.CI Workflow Automation:
Added GitHub Actions workflow files for each challenge (e.g.,
python_palindrome_checker_ci.yaml,cpp_string_reverser_ci.yaml) that automate testing and integrate a points-awarding system using secrets. Each workflow runs language-specific tests and awards points via an API if secrets are present. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10]Added a CMake configuration file
cpp/binary_search_tree/CMakeLists.txtto support building and testing the C++ Binary Search Tree challenge with GoogleTest, enabling seamless integration with the CI workflow.