Welcome to my CSC506 course repository. This graduate course is dedicated to providing students with a foundational understanding of algorithm design and analysis. Here, you will find my weekly critical thinking assignments designed to enhance your understanding of various algorithms and data structures.
This course covers the foundational knowledge required in the design and analysis of algorithms. Throughout the course, we will delve into the use of appropriate data structures, complexity and analysis of algorithms focusing on worst-case and average-case scenarios, lower bounds, NP-completeness, and recurrences. Additionally, we will explore the complexity behind various searching, sorting, and graphing algorithms.
Each week, a new critical thinking assignment response will be posted in this repository. Assignments are designed to reinforce the concepts covered in lectures and readings, and to stimulate your critical thinking in the realm of algorithm design and analysis.
- Clone the repository to your local machine.
- Create a new branch for your submission using the naming convention
assignment-week-<number>
. - Complete your assignment within a directory named
Week_<number>
in your branch. - Push your branch to the repository and create a pull request against the
main
branch. - Ensure your pull request contains a clear description of all the changes and answers provided.
Assignments will be graded based on the following criteria:
- Correctness and efficiency of the solutions.
- Clarity and thoroughness of the explanations.
- Adherence to submission guidelines.
- Introduction to Algorithms, 3rd Edition by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein.
- Algorithms, 4th Edition by Robert Sedgewick and Kevin Wayne.
While collaboration among students is encouraged, all submitted work must be your own. You are welcome to discuss problems with your peers; however, direct copying of code or solutions is strictly prohibited. Please refer to the academic integrity policy for more details.
If you have any questions or concerns, please reach out to the course instructor or teaching assistants via email or during office hours.
Good luck, and I look forward to seeing your innovative solutions and critical thinking skills in action!