Sometime in middle school, you were taught how to multiply and add large numbers. You may have noticed then that multiplication took longer to perform than addition. Why is that? Is it because multiplication is somehow a fundamentally harder problem? Or were you just taught an inefficient way to multiply large numbers? Is there a faster way to multiply large numbers? And how do we define faster anyway? The primary focus of this course is computational complexity theory, which is the branch of computer science that uses the tools of mathematics and logic to answer questions like these. Topics include models of computation, problem hardness, and computability.

offering time

Spring 23


Computer Science


Huynh Viet Linh(V)


Course code


Discover the future awaiting
you at Fulbright

Learn how to apply

This site uses cookies to provide a better user experience.

Essential cookies are active by default and are necessary for the proper functioning of the website. Analytics cookies gather anonymous information for us to enhance and monitor the site. Performance cookies are employed by third parties to optimize their applications (such as videos and maps) that are embedded within our website. To accept all cookies, click 'I accept.' Alternatively, choose your preferences for analytics and performance cookies, then select 'Close cookie control.'