Computer Science: Algorithms
Students will learn the basics needed to understand and implement algorithms, which is the fundamental thinking process and methodology for learning computer science. This is a fundamental requirement for the USA Computing Olympiad. It builds the foundation for studying and excel in the AP computer science courses. Standard measures of efficiency (for example time and space complexity) will be introduced, and popular algorithms for sorting and searching will be explored in greater detail. Algorithms will be presented in pseudo-code, and implementations in Python and other popular languages will be covered. More specialized algorithms, such as primality testing, string matching, shortest path, or RSA-encryption will be covered based on teacher specialization.
This course meets Sundays 1:30-3:00 PM Pacific (4:30-6:00 PM Eastern). For the specific dates of the course please see the individual courses below or the full course schedule by clicking here.
Click on any of the courses below to register! You will be prompted to login or create a new account if you have not already done so.
The ten live class sessions will be on the following dates: 6/10, 6/17, 6/24, 7/1, 7/15, 7/22, 7/29, 8/5, 8/12, 8/19.
Students will learn more advanced methods in algorithms and see how these algorithms apply in computer science as well as in everyday life. Algorithmic thinking is a fundamental requirement for the USA Computing Olympiad. It builds the foundation for studying and excel in the AP computer science courses. Algorithms will be presented in pseudo-code, and implementations in Python or other popular languages will be covered. Topics will include algorithms on graphs, dynamic programming, greedy algorithms, and algorithms in number theory. Other topics may be covered based on teacher specialization. This course is a natural continuation from Introduction to Algorithms, but it is not necessary to have taken Introduction to Algorithms before taking this course.