Learn key computer science concepts in this introductory Python course. You'll learn by doing, and will build your own search engine and social network.
Learn how to model problems, and how to optimize performance by using some of the advanced features of Python.
This class will give you an introduction to the design and analysis of algorithms, enabling you to analyze networks and discover how individuals are connected.
Starting from the basics of how the web works, you will learn everything you need to know to build your own blog and scale it to support large numbers of users.
Learn how to build high-performance web games with HTML5. We'll port industry-standard development techniques to the web and use them to create a game.
In this course, you'll learn how to build great mobile web experiences. We'll cover performance issues on mobile, and how to make use of mobile sensors.
Learn how to catch bugs and break software as you discover different testing methods that will help you build better software.
In this course you will learn how to debug programs systematically using scientific methods and build several automated debugging tools in Python.
This course is an introduction to the fundamentals of programming languages. Concepts include how to specify and process valid strings, sentences and program structures.
This course will introduce you to the basics of AI. Topics include machine learning, probabilistic reasoning, robotics, computer vision, and natural language processing.
This course will teach you the principles of 3D computer graphics: meshes, transforms, lighting, animation, and making interactive 3D applications run in a browser.
Learn the basic concepts in theoretical computer science. Discover what they imply for solving tough computational challenges.
Learn the fundamentals of parallel computing with the GPU and the CUDA programming environment by coding a series of image processing algorithms. #filters, #cuda.
This course will teach you how to efficiently verify chip functionality, learn about automated test generation, and learn to improve code reuse.
Learn how to program all the major systems of a robotic car. Topics include planning, search, localization, tracking, and control.
Cryptography is present in everyday life, from paying with a credit card to using the telephone. Learn all about making and breaking puzzles in computing.
In this short class you'll build powerful apps without writing code. Great if you're an aspiring developer or someone who wants to learn what programmers do.
Ten minutes into this class you'll make your own completely personalized version of the insanely addictive game 2048. Even if you've never coded before. Pretty cool, no?
Introductory programming class to learn Object-Oriented Programming, a must-have technique to reuse and share code easily. Learn by making projects that spread happiness!
Software Development Processes explores requirements engineering, architecture and design, testing, and software quality in general.
Know a course absent here? Share with us