Back to Courses

Algorithms Courses - Page 14

Showing results 131-140 of 326
Fundamentals of Reinforcement Learning
Reinforcement Learning is a subfield of Machine Learning, but is also a general purpose formalism for automated decision-making and AI. This course introduces you to statistical learning techniques where an agent explicitly takes actions and interacts with the world. Understanding the importance and challenges of learning agents that make decisions is of vital importance today, with more and more companies interested in interactive agents and intelligent decision-making. This course introduces you to the fundamentals of Reinforcement Learning. When you finish this course, you will: - Formalize problems as Markov Decision Processes - Understand basic exploration methods and the exploration/exploitation tradeoff - Understand value functions, as a general-purpose tool for optimal decision-making - Know how to implement dynamic programming as an efficient solution approach to an industrial control problem This course teaches you the key concepts of Reinforcement Learning, underlying classic and modern algorithms in RL. After completing this course, you will be able to start using RL for real problems, where you have or can specify the MDP. This is the first course of the Reinforcement Learning Specialization.
Programming Fundamentals
Programming is an increasingly important skill, whether you aspire to a career in software development, or in other fields. This course is the first in the specialization Introduction to Programming in C, but its lessons extend to any language you might want to learn. This is because programming is fundamentally about figuring out how to solve a class of problems and writing the algorithm, a clear set of steps to solve any problem in its class. This course will introduce you to a powerful problem-solving process—the Seven Steps—which you can use to solve any programming problem. In this course, you will learn how to develop an algorithm, then progress to reading code and understanding how programming concepts relate to algorithms.
Process File Data using C# List and Linq
By the end of this project you will create an application that uses the C# List data structure and the C# Linq to process a collection of Employees in a file. Linq, when used with the List data structure, allows the programmer to compare and perform computations on objects without the need to access attributes directly. It simplifies the process of iterating through a list and obtaining data from user-defined objects. Note: This course works best for learners who are based in the North America region. We’re currently working on providing the same experience in other regions.
C Programming: Advanced Data Types - 5
In this course you will define your own data types in C, and use the newly created types to more efficiently store and process your data. Many programming languages provide a number of built-in data types to store things such as integers, decimals, and characters in variables, but what if you wanted to store more complex data? Defining your own data types in C allows you to more efficiently store and process data such as a customer's name, age and other relevant data, all in one single variable! You will also gain experience with programming concepts that are foundational to any programming language. Why learn C and not another programming language? Did you know that smartphones, your car’s navigation system, robots, drones, trains, and almost all electronic devices have some C-code running under the hood? C is used in any circumstance where speed and flexibility are important, such as in embedded systems or high-performance computing. At the end of this short course, you will reach the fifth milestone of the C Programming with Linux Specialization, unlocking the door to a career in computer engineering. Your job Outlook: - Programmers, developers, engineers, managers, and related industries within scientific computing and data science; - Embedded systems such as transportation, utility networks, and aerospace; - Robotics industry and manufacturing; - IoT (Internet of Things) used in smart homes, automation, and wearables. - IEEE, the world’s largest technical professional organization for the advancement of technology, ranks C as third of the top programming languages of 2021 in demand by employers. (Source: IEEE Spectrum) This course has received financial support from the Patrick & Lina Drahi Foundation.
Create a C# Class Definition to Track Employee Data
By the end of this project, you will create an application that defines an Employee class and create one to many Employee object instances. Object Oriented programming in languages such as C# is advantageous because it allows the programmer to think in terms of the way people think of the real world, in terms of Objects like employees, airplanes, and homes for example. Note: This course works best for learners who are based in the North America region. We’re currently working on providing the same experience in other regions.
Create a Network of Friends using a Weighted Graph in Java
The learner will create user-defined methods to create a network of friends using a weighted undirected graph. The learner will implement a graph using a Hashmap of nodes and Linked Lists, add nodes to the graph, add edges between nodes, print the contents of the graph, and traverse the graph using depth-first search.
Battery State-of-Health (SOH) Estimation
This course can also be taken for academic credit as ECEA 5733, part of CU Boulder’s Master of Science in Electrical Engineering degree. In this course, you will learn how to implement different state-of-health estimation methods and to evaluate their relative merits. By the end of the course, you will be able to: - Identify the primary degradation mechanisms that occur in lithium-ion cells and understand how they work - Execute provided Octave/MATLAB script to estimate total capacity using WLS, WTLS, and AWTLS methods and lab-test data, and to evaluate results - Compute confidence intervals on total-capacity estimates - Compute estimates of a cell’s equivalent-series resistance using lab-test data - Specify the tradeoffs between joint and dual estimation of state and parameters, and steps that must be taken to ensure robust estimates (honors)
Compose and Program Music in Python using Earsketch
By the end of this course, you will create a basic composition using the Python programming language in Earsketch. You will learn basic Python functions in order to create a basic music composition. Learning basic Python functions will allow you to develop your skills in programming and diversify your knowledge of various programming languages. Python has become increasingly popular in computer science; knowledge of Python is highly desired in the computer science industry.
Performing regression tasks using decision tree & PCA basics
In this 1-hour long project-based course, you will learn how to perform regression tasks using decision tree & some PCA fundamental coding. you will get expertise in acing following tasks- Predicting two decision tree regression model Drawing Decision tree for regression Regularize a decision tree regressor Setting up the environment for dimensional reduction Coding for Projection methods in Dimensionality reduction Coding for PCA using SVD decomposition and SCIKIT learn
Comparing Genes, Proteins, and Genomes (Bioinformatics III)
Once we have sequenced genomes in the previous course, we would like to compare them to determine how species have evolved and what makes them different. In the first half of the course, we will compare two short biological sequences, such as genes (i.e., short sequences of DNA) or proteins. We will encounter a powerful algorithmic tool called dynamic programming that will help us determine the number of mutations that have separated the two genes/proteins. In the second half of the course, we will "zoom out" to compare entire genomes, where we see large scale mutations called genome rearrangements, seismic events that have heaved around large blocks of DNA over millions of years of evolution. Looking at the human and mouse genomes, we will ask ourselves: just as earthquakes are much more likely to occur along fault lines, are there locations in our genome that are "fragile" and more susceptible to be broken as part of genome rearrangements? We will see how combinatorial algorithms will help us answer this question. Finally, you will learn how to apply popular bioinformatics software tools to solve problems in sequence alignment, including BLAST.