Online courses directory (224)
This course covers the essential information that every serious programmer needs to know about algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations. Part I covers basic iterable data types, sorting, and searching algorithms.
Looking to get started with computer science while learning to program in Python?
This computer science course provides an introduction to computer science that’s both challenging and fun. It takes a broad look at the field of computer science through a variety of demonstrations and projects. We’ll cover both low- and high-level concepts, from how the circuits inside a computer represent data to how to design algorithms, as well as how all of this information affects the technology we use today. Additionally, we’ll teach the basics of Python programming, giving us a a way to put our new CS knowledge into practice.
No need to know any programming before starting the course; we’ll teach everything you need to know along the way. All you need to start is a good grasp of algebra, and you can fall in love with both the concepts and the practice of computer science.
This course teaches a calculus that enables precise quantitative predictions of large combinatorial structures. Part I covers generating functions and real asymptotics and then introduces the symbolic method in the context of applications in the analysis of algorithms and basic structures such as permutations, trees, strings, words, and mappings.
Learn the fundamentals of parallel computing with the GPU and the CUDA programming environment! In this class, you'll learn about parallel programming by coding a series of image processing algorithms, such as you might find in Photoshop or Instagram. You'll be able to program and run your assignments on high-end GPUs, even if you don't own one yourself. **Why It’s Important to Think Parallel** [Third Pillar of Science] Learn how scientific discovery can be accelerated by combining theory and experimentation with computing to fight cancer, prevent heart attacks, and spur new advances in robotic surgery. : http://www.youtube.com/watch?v=3DbAB2ChDBw
Learn about artificial neural networks and how they're being used for machine learning, as applied to speech and object recognition, image segmentation, modeling language and human motion, etc. We'll emphasize both the basic algorithms and the practical tricks needed to get them to work well.
This course delivers a systematic overview of computer vision, emphasizing two key issues in modeling vision: space and meaning. We will study the fundamental theories and important algorithms of computer vision together, starting from the analysis of 2D images, and culminating in the holistic understanding of a 3D scene.
Quantum computation is a remarkable subject building on the great computational discovery that computers based on quantum mechanics are exponentially powerful. This course aims to make this cutting-edge material broadly accessible to undergraduate students, including computer science majors who do not have any prior exposure to quantum mechanics. The course starts with a simple introduction to the fundamental principles of quantum mechanics using the concepts of qubits (or quantum bits) and quantum gates. This treatment emphasizes the paradoxical nature of the subject, including entanglement, non-local correlations, the no-cloning theorem and quantum teleportation. The course covers the fundamentals of quantum algorithms, including the quantum fourier transform, period finding, Shor's quantum algorithm for factoring integers, as well as the prospects for quantum algorithms for NP-complete problems. It also discusses the basic ideas behind the experimental realization of quantum computers, including the prospects for adiabatic quantum optimization and the D-Wave controversy.
Before your course starts, try the new edX Demo where you can explore the fun, interactive learning environment and virtual labs. Learn more.
Do I need a textbook for this class?
No. Notes will be posted each week. If you wish to consult other references, a list of related textbooks and online resources will be provided.
What is the estimated effort for course?
About 5-12 hrs/week.
Why is the work load range so wide?
How long you spend on the course depends upon your background and on the depth to which you wish to understand the material. The topics in this course are quite open ended, and will be presented so you can understand them at a high level or can try to follow it at a sophisticated level with the help of the posted notes.
How much does it cost to take the course?
Nothing! The course is free.
Will the text of the lectures be available?
Yes. All of our lectures will have transcripts synced to the videos.
Do I need to watch the lectures live?
No. You can watch the lectures at your leisure.