Machines take me by surprise with great frequency. - Alan Turing
Workload: 3 Units
Overview:
- Algorithms are fundamental to computer science and play an essential role in various fields such as engineering, natural sciences, economics, and many others. This course aims to provide students with a comprehensive understanding of algorithms and their practical applications in various domains.
- Through lectures and hands-on exercises, students will explore prominent algorithms in competitive programming, approximation algorithms, and randomized algorithms alongside others.
- The target audience for this course includes undergraduate students interested in learning algorithms. Basic programming knowledge in python is recommended, and some mathematical background is helpful.
- Upon completing this course, students will be able to conceptualize and apply algorithms in a compound setting.
Pre-requisites:
- ECS 036C or ECS 032B or Instructor Consent; ECS 122A Recommended
- Prior Python experience is recommended
Faculty:
- Advisor: Professor Slobodan Mitrović
- Instructors: Dhruv Sangamwar, Shyam Agarwal, Prashansa Goel
<aside>
⚠️ Please do not reach out to Professor Mitrović for anything (unless you hate us 😞*) related to this course, his role is only advisory.*
</aside>
Contact:
Dhruv Sangamwar: [email protected]
Prashansa Goel: [email protected]
Shyam Agarwal: [email protected]
License
This work is open sourced under the Apache License, Version 2.0.