# Online courses directory (648)

Probability and inference are used everywhere. For example, they help us figure out which of your emails are spam, what results to show you when you search on Google, how a self-driving car should navigate its environment, or even how a computer can beat the best Jeopardy and Go players! What do all of these examples have in common? They are all situations in which a computer program can carry out inferences in the face of uncertainty at a speed and accuracy that far exceed what we could do in our heads or on a piece of paper.

In this data analysis and computer programming course, you will learn the principles of probability and inference. We will put these mathematical concepts to work in code that solves problems people care about. You will learn about different data structures for storing probability distributions, such as probabilistic graphical models, and build efficient algorithms for reasoning with these data structures.

By the end of this course, you will know how to model real-world problems with probability, and how to use the resulting models for inference.

You don’t need to have prior experience in either probability or inference, but you should be comfortable with basic Python programming and calculus.

*“I love that you can do so much with the material, from programming a robot to move in an unfamiliar environment, to segmenting foreground/background of an image, to classifying tweets on Twitter—all homework examples taken from the class!”* – Previous Student in the residential version of this new online course.

This course provides a review of linear algebra, including applications to networks, structures, and estimation, Lagrange multipliers. Also covered are: differential equations of equilibrium; Laplace's equation and potential flow; boundary-value problems; minimum principles and calculus of variations; Fourier series; discrete Fourier transform; convolution; and applications.

Note: This course was previously called "Mathematical Methods for Engineers I."

Computational thinking is an invaluable skill that can be used across every industry, as it allows you to formulate a problem and express a solution in such a way that a computer can effectively carry it out.

In this course, part of the Big Data MicroMasters program, you will learn how to apply computational thinking in data science. You will learn core computational thinking concepts including decomposition, pattern recognition, abstraction, and algorithmic thinking.

You will also learn about data representation and analysis and the processes of cleaning, presenting, and visualizing data. You will develop skills in data-driven problem design and algorithms for big data.

The course will also explain mathematical representations, probabilistic and statistical models, dimension reduction and Bayesian models.

You will use tools such as R, MOA and data processing libraries in associated language environments.

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.

The modern data analysis pipeline involves collection, preprocessing, storage, analysis, and interactive visualization of data.

The goal of this course, part of the Analytics: Essential Tools and Methods MicroMasters program, is for you to learn how to build these components and connect them using modern tools and techniques.

In the course, you’ll see how computing and mathematics come together. For instance, “under the hood” of modern data analysis lies numerical linear algebra, numerical optimization, and elementary data processing algorithms and data structures. Together, they form the foundations of numerical and data-intensive computing.

The hands-on component of this course will develop your proficiency with modern analytical tools. You will learn how to mash up Python, R, and SQL through Jupyter notebooks, among other tools. Furthermore, you will apply these tools to a variety of real-world datasets, thereby strengthening your ability to translate principles into practice.

Information Technology (IT) is everywhere. Every aspect of human activity depends on it. All IT processes, whether they drive mobile phones, the Internet, transportation systems, enterprise systems, publishing, social networks or any other application, rely on software.

In this new and improved version of the course, you will learn to write software with a progressive hint system for first time programmers. The core skill is programming; not just the ability to piece together a few “lines of code,” but writing *quality *programs, which will do their job right, and meet the evolving needs of their users. Anyone can write a program; this course teaches you to write *good *programs.

The course starts from the basics of computing and takes you through a tour of modern object-oriented programming, including classes, objects, control structures, inheritance, polymorphism, and genericity.

Throughout the course, you will have the opportunity to learn the principles of programming as well as the techniques for designing correct and reliable programs by using the Eiffel programming language and notation. You will be trying out example problems to provide your solution, and see it immediately compiled and tested from within your browser. To this end, we are using the Codeboard;web-based IDE, developed at the Chair of Software Engineering (ETH Zurich).

Beyond programming, you will also get a glimpse at theoretical computer science, the set of mathematical techniques that underlie computation and makes today’s IT-based world possible.

In this third edition of the course we specifically focus on helping students with little or no programming experience. To this end, we have improved the introductory material about the Eiffel language, and we have implemented a progressive hint system students can use to get guidance on how to solve the programming exercises.

"*Really good course. Followed it with a couple of experienced colleagues all of them having a computer science background. They really liked the concepts and programming in Eiffel a lot. Many thanks to the team making this course available! Can not wait to start with the advanced course!*" --Previous CAMSx Participant

Previous edition course evaluation:

Overall course rating (1: worst grade, 6: best grade):

Grade Resp. %Resp

1 1 2%

2 0 2%

3 3 6%

4 9 18%

5 20 40%

6 17 34%

Total respondents: 50

Average: 4.96

Concepts in Nanotechnology is a six-week introduction to nanotechnology. The course is designed at a pre-college level, with no college level chemistry, math, or physics experience required. You will learn what nanotechnology is and what it means for something to be a nanomaterial. You will also learn about the applications and commercial products that use nanotechnology. This is an exciting opportunity to delve into the nano-world. Prerequisites: The course is taught entirely in English and aimed at a U.S. high school level. You need to be familiar with the basic concepts of chemistry, such as the theory of atoms and the periodic table of elements. Basic algebra skills, such as how to deal with equations containing variables, fractions, and exponents is necessary. No prerequisite knowledge in nanotechnology, materials science, or physics is required.

This class, required of all Master of Architecture students, presents a critical review of works, theories, and polemics in architecture in the aftermath of World War II. The aim is to present a historical understanding of the period, and to develop a meaningful framework to assess contemporary issues in architecture. Special attention will be paid to historiographic questions of how architects construe the terms of their "present."

This course is designed to introduce you to the study of Calculus. You will learn concrete applications of how calculus is used and, more importantly, why it works. Calculus is not a new discipline; it has been around since the days of Archimedes. However, Isaac Newton and Gottfried Leibniz, two 17th-century European mathematicians concurrently working on the same intellectual discovery hundreds of miles apart, were responsible for developing the field as we know it today. This brings us to our first question, what is today's Calculus? In its simplest terms, calculus is the study of functions, rates of change, and continuity. While you may have cultivated a basic understanding of functions in previous math courses, in this course you will come to a more advanced understanding of their complexity, learning to take a closer look at their behaviors and nuances. In this course, we will address three major topics: limits, derivatives, and integrals, as well as study their respective foundations and a…

This course is an introduction to linear algebra. It has been argued that linear algebra constitutes half of all mathematics. Whether or not everyone would agree with that, it is certainly true that practically every modern technology relies on linear algebra to simplify the computations required for Internet searches, 3-D animation, coordination of safety systems, financial trading, air traffic control, and everything in between. Linear algebra can be viewed either as the study of linear equations or as the study of vectors. It is tied to analytic geometry; practically speaking, this means that almost every fact you will learn in this course has a picture associated with it. Learning to connect the facts with their geometric interpretation will be very useful for you. The book which is used in the course focuses both on the theoretical aspects as well as the applied aspects of linear algebra. As a result, you will be able to learn the geometric interpretations of many of the algebraic concepts…

This course has been designed to provide you with a clear, accessible introduction to discrete mathematics. Discrete mathematics describes processes that consist of a sequence of individual steps (as compared to calculus, which describes processes that change in a continuous manner). The principal topics presented in this course are logic and proof, induction and recursion, discrete probability, and finite state machines. As you progress through the units of this course, you will develop the mathematical foundations necessary for more specialized subjects in computer science, including data structures, algorithms, and compiler design. Upon completion of this course, you will have the mathematical know-how required for an in-depth study of the science and technology of the computer age.

Build your earth science vocabulary and learn about cycles of matter and types of sedimentary rocks through the Education Portal course Earth Science 101: Earth Science. Our series of video lessons and accompanying self-assessment quizzes can help you boost your scientific knowledge ahead of the Excelsior Earth Science exam . This course was designed by experienced educators and examines both science basics, like experimental design and systems of measurement, and more advanced topics, such as analysis of rock deformation and theories of continental drift.