Coding Practices#
The following pages provide the quizes for the courses that CfRR offers in coding practices.
Computational Thinking#
Clickable Link to Coding Practices Quizes for Computational Thinking
These quizzes test your understanding of key computational thinking concepts, helping you evaluate whether the courses are suited to your skill level. They assess your ability to approach problems through decomposition, algorithmic reasoning, and abstraction. Additionally, they evaluate your proficiency in structuring tasks into logical steps and translating conceptual solutions into reproducible workflows.
High Performance Computing#
Clickable Link to Coding Practices Quizes for High Performance Computing
These quizzes test your understanding of high-performance and parallel computing concepts, helping you determine if the courses align with your current knowledge. They assess your ability to navigate HPC environments, understand cluster architectures, and manage job scheduling systems for optimizing computational tasks. Additionally, they evaluate your grasp of parallel computing fundamentals, including concurrency, data parallelism, task distribution, and strategies to avoid pitfalls such as race conditions and deadlocks.
Software Development#
Clickable Link to Coding Practices Quizes for Software Development
These quizzes test your understanding of best practices in software development, helping you determine if the courses match your current skill level. They assess your knowledge of version control, testing, documentation, and code organization, as well as your familiarity with agile practices and continuous integration. Additionally, they evaluate your ability to implement collaborative workflows for efficient and maintainable projects.
Version Control#
Clickable Link to Coding Practices Quizes for Version Control
These quizzes test your understanding of version control concepts and practices, helping you assess whether the courses align with your skill level. They evaluate your knowledge of using Git for tracking changes, branching, merging, and resolving conflicts to maintain clear project histories and collaborate effectively. Additionally, they assess your proficiency with advanced techniques, including branching models, rebasing, and managing complex workflows in collaborative environments.