You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
- This graduate course gives a broad introduction to complexity theory, including classical results and recent developments. Complexity theory aims to understand the power of efficient computation (when computational resources like time and space are limited). Many compelling conceptual questions arise in this context. Most of these questions are (surprisingly?) difficult and far from being resolved. Nevertheless, a lot of progress has been made toward understanding them (and also why they are difficult). We will learn about these advances in this course. A theme will be combinatorial constructions with random-like properties, e.g., expander graphs and error-correcting codes. Some examples:
461
461
- Is finding a solution inherently more difficult than verifying it?
462
462
- Do more computational resources mean more computing power?
463
463
- Is it easier to find approximate solutions than exact ones?
464
464
- Are randomized algorithms more powerful than deterministic ones?
465
465
- Is it easier to solve problems in the average case than in the worst case?
466
466
- Are quantum computers more powerful than classical ones?
- Programming in different paradigms with emphasis on object oriented programming, network programming and functional programming. Survey of programming languages, event driven programming, concurrency, software validation.
0 commit comments