Udacity is the future of online higher education. We offer accessible, affordable, engaging classes that anyone can take, anytime. Udacity's mission is to bring accessible, affordable, engaging, and highly effective higher education to the world. They believe that higher education is a basic human right, and seek to empower their students to advance their education and careers.
All of the Udacity courses are available for free. However, there is a for-credit path for some of the courses which is clearly indicated on each of their course overview pages.
In this course you will learn key concepts in computer science and learn how to write your own computer programs in the context of building a web crawler. There is no prior programming knowledge needed for this course. Beginners welcome! At the end of this course, you will have learned key concepts in computer science and enough Python programming to be able to write programs to solve problems on your own. This course will prepare you to move on to more intermediate-level courses in CS.Add to course comparison | | View your course lists
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.
We expect students to have a solid experience with the C programming language and basic knowledge of data structures and algorithms. You'll master the fundamentals of massively parallel computing by using CUDA C/C++ to program modern GPUs. You'll learn the GPU programming model and architecture, key algorithms and parallel programming patterns, and optimization techniques. Your assignments will illustrate these concepts through image processing applications, but this is a parallel computing course and what you learn will translate to any application domain.
Study physics abroad in Europe -- virtually! Learn the basics of physics on location in Italy, the Netherlands and the UK, by answering some of the discipline's major questions from over the last 2000 years. This course is suitable for anyone; a basic understanding of algebra is suggested. This unique class gives you the chance to see the sites where physics history was made and learn some of the subject's most captivating concepts.Add to course comparison | | View your course lists
Statistics is about extracting meaning from data. In this class, we will introduce techniques for visualizing relationships in data and systematic techniques for understanding the relationships using mathematics. This course does not require any previous knowledge of statistics. Basic familiarity with algebra such as knowing how to compute the mean, median and mode of a set of numbers will be helpful. This course will cover visualization, probability, regression and other topics that will help you learn the basic methods of understanding data with statistics.Add to course comparison | | View your course lists
This class teaches you about basic concepts in theoretical computer science -- such as NP-completeness -- and what they imply for solving tough algorithmic problems. You should have a basic understanding of algorithms (such as CS215) and programming (such as CS101). No prior knowledge about theoretical computer science required! At the end of this course, you will have a solid understanding of theoretical computer science. This will not only allow you to recognize some of the most challenging algorithmic problems out there, but also give you powerful tools to deal with them in practice.Add to course comparison | | View your course lists
In this class you will learn how to debug programs systematically, how to automate the debugging process and build several automated debugging tools in Python. Basic knowledge of programming and Python at the level of Udacity CS101 or better is required. Basic understanding of Object-oriented programming is helpful. At the end of this course you will have a solid understanding about systematic debugging, will know how to automate debugging and will have built several functional debugging tools in Python.Add to course comparison | | View your course lists
When writing software, destruction can be just as valuable as creation. Learn how to catch bugs and break software as you discover different testing methods that will help you build better software. Programming experience is required. This course will teach you how to think like a software tester, how to find bugs in code earlier, and write better code.Add to course comparison | | View your course lists
We live in a time of unprecedented access to information...data. Whether researching the best school, job, or relationship, the Internet has thrown open the doors to vast pools of data. Statistics are simply objective and systematic methods for describing and interpreting information so that you may make the most informed decisions about life. It sounds strange to say, but math is not the focus of this class. To do well, however, it is necessary to have a basic understanding of proportions (fractions, decimals, and percentages), negative numbers, basic algebra (solving equations), and exponents and square roots.Add to course comparison | | View your course lists
Starting from the basics of how the web works, this class will walk you through everything you need to know to build your own blog application and scale it to support large numbers of users. A moderate amount of programming and computer science experience is necessary for this course. In this project-based course your knowledge will be evaluated as you learn to build your own blog application! Learn everything Steve Huffman wished he would have known when he broke into the startup world.Add to course comparison | | View your course lists