Udacity, a company on a mission to democratize education, today announced it is partnering with technology leaders Google, NVIDIA, Microsoft, Autodesk, Cadence, and Wolfram to deliver a new series of free courses online at Udacity.com. The courses will teach skills and knowledge relevant in high-tech jobs and build on Udacity’s existing courses in Computer Science, Mathematics, General Sciences, Programming, and Entrepreneurship. Additionally, computational tools from Wolfram, makers of Mathematica and Wolfram|Alpha, will be integrated into upcoming Udacity course offerings to enhance the student learning experience.
Udacity CEO and Founder, Sebastian Thrun, made the announcement during his keynote address at then China Mobile Developers Conference, the largest mobile developers conference in Asia.
“It’s exciting that corporations are stepping up to sponsor the development of these courses and a recognition of how important it is to connect university education with workforce education,“ said Thrun. “Our students work hard and demonstrate real learning and independent thinking by doing. By keeping education meaningful and modern with the latest technologies and skills, we hope to advance both education and career opportunities for our students.”
Courses opening for enrollment at Udacity.com and starting in early 2013 will cover introductory concepts and languages in:
- Parallel Programming with CUDA,
- HTML5 for Game Development,
- 3D Graphics Programming,
- and Functional Hardware Verification.
Additionally, courses under development cover:
- Data Visualization with Mathematica,
- Applications Development with Windows 8,
- and Mobile Applications Development with Android.
Introduction to Parallel Programming (cs344): Using CUDA to Harness the Power of GPUs
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.
What do I need to know?
We expect students to have a solid experience with the C programming language and basic knowledge of data structures and algorithms.
What will I learn?
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. Most of all we hope you’ll learn how to think in parallel.
- Unit 1: GPU Programming Model
Project 1: Greyscale Conversion (for that classy touch!)
- Unit 2 – GPU Hardware and Parallel Communication
Project 2: Smart Blurring (miracle product for removing wrinkles!)
- Unit 3 – Fundamental Parallel Algorithms
Project 3: HDR Tonemapping (when 1000:1 contrast is not enough!)
- Unit 4 – Using Sort and Scan
Project 4: Red Eye Removal (soothing relief for bright red eyes)
- Unit 5 – Optimizing GPU Programs
Project 5: Accelerating Histograms (when fast isn’t fast enough)
- Unit 6 – Parallel Computing Patterns
Project 6: Seamless Image Compositing (polar bear in the swimming pool)
- Unit 7 – The Frontiers and Future of GPU Computing
Project 7: Selecting Irregular Image Regions (build a better magic wand!)