Online courses directory (779)
Other topics covered in this software engineering course include:
- How to form, organize and manage small programming teams
- Introduction to design patterns: what they are and how to recognize opportunities to apply them
- Using Rails for more advanced features like third-party authentication and elegantly expressing design patterns that arise frequently in SaaS
There will be four homework assignments: two programming assignments, an open source assignment and one assignment about operations/deployment. There will also be several short quizzes. The videos and homework assignments used in this offering of the course were revised in October 2016.
Learn how to program all the major systems of a robotic car from the leader of Google and Stanford's autonomous driving teams. This class will teach you basic methods in Artificial Intelligence, including: probabilistic inference, planning and search, localization, tracking and control, all with a focus on robotics. Extensive programming examples and assignments will apply these methods in the context of building self-driving cars. This course is offered as part of the Georgia Tech Masters in Computer Science. The updated course includes a final project, where you must chase a runaway robot that is trying to escape!
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.
Today, computer graphics is a central part of our lives, in movies, games, computer-aided design, virtual reality, virtual simulators, visualization and even imaging products and cameras. This course, part of the Virtual Reality (VR) Professional Certificate program, teaches the basics of computer graphics that apply to all of these domains.
Students will learn to create computer-generated images of 3D scenes, including flybys of objects, make a real-time scene viewer, and create very realistic images with raytracing. We will start with a simple example of viewing a teapot from anywhere in space, understanding the basic mathematics of virtual camera placement. Next, you will learn how to use real-time graphics programming languages like OpenGL and GLSL to create your own scene viewer, enabling you to fly around and manipulate 3D scenes. Finally, we will teach you to create highly realistic images with reflections and shadows using raytracing.
This course runs for 6 weeks and consists of four segments. Each segment includes an individual programming assignment:
- Overview and Basic Math (Homework 0: 10% of grade)
- Transformations (Homework 1: 20% of grade)
- OpenGL and Lighting (Homework 2: 35% of grade)
- Raytracing (Homework 3: 35% of grade)
This term, students who earn a total score of 50% or greater will have passed the course and may obtain a certificate from UC San DiegoX.
This course will discuss the major ideas used today in the implementation of programming language compilers. You will learn how a program written in a high-level language designed for humans is systematically translated into a program written in low-level assembly more suited to machines!
This course introduces concepts, languages, techniques, and patterns for programming heterogeneous, massively parallel processors. Its contents and structure have been significantly revised based on the experience gained from its initial offering in 2012. It covers heterogeneous computing architectures, data-parallel programming models, techniques for memory bandwidth management, and parallel algorithm patterns.
In this course--the second in a trans-institution sequence of MOOCs on Mobile Cloud Computing with Android--we will learn how to apply patterns, pattern languages, and frameworks to alleviate the complexity of developing concurrent and networked services on mobile devices running Android that connect to popular cloud computing platforms.
This course is about building 'web-intelligence' applications exploiting big data sources arising social media, mobile devices and sensors, using new big-data platforms based on the 'map-reduce' parallel programming paradigm. In the past, this course has been offered at the Indian Institute of Technology Delhi as well as the Indraprastha Institute of Information Technology Delhi.
In this introduction to computer programming course, you’ll learn and practice key computer science concepts by building your own versions of popular web applications. You’ll learn Python, a powerful, easy-to-learn, and widely used programming language, and you’ll explore computer science basics, as you build your own search engine and social network.
Introduction to programming and computer science. Introduction to Programs Data Types and Variables. Binary Numbers. Python Lists. For Loops in Python. While Loops in Python. Fun with Strings. Writing a Simple Factorial Program. (Python 2). Stepping Through the Factorial Program. Flowchart for the Factorial Program. Python 3 Not Backwards Compatible with Python 2. Defining a Factorial Function. Diagramming What Happens with a Function Call. Recursive Factorial Function. Comparing Iterative and Recursive Factorial Functions. Exercise - Write a Fibonacci Function. Iterative Fibonacci Function Example. Stepping Through Iterative Fibonacci Function. Recursive Fibonacci Example. Stepping Through Recursive Fibonacci Function. Exercise - Write a Sorting Function. Insertion Sort Algorithm. Insertion Sort in Python. Stepping Through Insertion Sort Function. Simpler Insertion Sort Function. Introduction to Programs Data Types and Variables. Binary Numbers. Python Lists. For Loops in Python. While Loops in Python. Fun with Strings. Writing a Simple Factorial Program. (Python 2). Stepping Through the Factorial Program. Flowchart for the Factorial Program. Python 3 Not Backwards Compatible with Python 2. Defining a Factorial Function. Diagramming What Happens with a Function Call. Recursive Factorial Function. Comparing Iterative and Recursive Factorial Functions. Exercise - Write a Fibonacci Function. Iterative Fibonacci Function Example. Stepping Through Iterative Fibonacci Function. Recursive Fibonacci Example. Stepping Through Recursive Fibonacci Function. Exercise - Write a Sorting Function. Insertion Sort Algorithm. Insertion Sort in Python. Stepping Through Insertion Sort Function. Simpler Insertion Sort Function.
This class presents the fundamental probability and statistical concepts used in elementary data analysis. It will be taught at an introductory level for students with junior or senior college-level mathematical training including a working knowledge of calculus. A small amount of linear algebra and programming are useful for the class, but not required.
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 mathematical and statistical tools and techniques used in quantitative and computational finance. Use the open source R statistical programming language to analyze financial data, estimate statistical models, and construct optimized portfolios. Analyze real world data and solve real world problems.