Back to Courses

Algorithms Courses - Page 13

Showing results 121-130 of 326
Blockchain Scalability and its Foundations in Distributed Systems
Blockchain promises to disrupt industries once it will be efficient at large scale. In this course, you will learn how to make blockchain scale. You will learn about the foundational problem of distributed computing, consensus, that is key to create blocks securely. By illustrating limitations of mainstream blockchains, this course will indicate how to improve the technology in terms of security and efficiency. In particular, this course will help you: * understand security vulnerabilities of mainstream blockchains; * design consensus algorithms that tolerate attacks, and; * design scalable blockchain systems.
Exception Handling in Python
In this 1-hour long project-based course, you will learn the differences between an exception and syntax errors, how to raise an exception, what an AssertionError exception is within Python, how to use the try, except and else clause and how to use the finally clause and any clean-up actions. By the end of this project, you will have an understanding of error and exception handling in python. Once you have a beginner's knowledge of python programming and start coding you may find that something disrupts the normal flow of the program you have built. You may find yourself with errors in your code. This course will provide students with the knowledge behind exception handling in python and show how to write high-quality code to ensure that if your python scripts encounter a situation that it cannot cope with that the right procedures are in place to provide meaningful information and deal with those errors. Thus, ensuring that your code is efficient and robust which is an essential aspect of writing high-quality code. This project will take students through a number of examples demonstrating several of the most useful python exceptions. You will gain an understanding of exception handling in python from the in-depth examples provided.
Introduction to Artificial Intelligence (AI)
In this course you will learn what Artificial Intelligence (AI) is, explore use cases and applications of AI, understand AI concepts and terms like machine learning, deep learning and neural networks. You will be exposed to various issues and concerns surrounding AI such as ethics and bias, & jobs, and get advice from experts about learning and starting a career in AI. You will also demonstrate AI in action with a mini project. This course does not require any programming or computer science expertise and is designed to introduce the basics of AI to anyone whether you have a technical background or not.
Interacting with the System and Managing Memory
The final course in the specialization Introduction to Programming in C will teach you powerful new programming techniques for interacting with the user and the system and dynamically allocating memory. You will learn more sophisticated uses for pointers, such as strings and multidimensional arrays, as well as how to write programs that read and write files and take input from the user. Learning about dynamic memory allocation will allow your programs to perform complex tasks that will be applied in the final part of the specialization project: a Monte Carlo simulation for calculating poker hand probabilities.
Advanced Algorithms and Complexity
In previous courses of our online specialization you've learned the basic algorithms, and now you are ready to step into the area of more complex problems and algorithms to solve them. Advanced algorithms build upon basic ones and use new ideas. We will start with networks flows which are used in more typical applications such as optimal matchings, finding disjoint paths and flight scheduling as well as more surprising ones like image segmentation in computer vision. We then proceed to linear programming with applications in optimizing budget allocation, portfolio optimization, finding the cheapest diet satisfying all requirements and many others. Next we discuss inherently hard problems for which no exact good solutions are known (and not likely to be found) and how to solve them in practice. We finish with a soft introduction to streaming algorithms that are heavily used in Big Data processing. Such algorithms are usually designed to be able to process huge datasets without being able even to store a dataset.
The Art & Science of Product Management
Sponsored by AMAZON WEB SERVICES (AWS). Learn how Amazon, Facebook, Google, and Twitch PMs and lead and collaborate with an interdisciplinary team of UX designers, software engineers, AI/ML engineers. Plus, practice real PM interview questions asked by Microsoft, Google, and Amazon! Featuring: * NANCY WANG, Head of Data Protection Services, Amazon Web Services; Founder and CEO, Advancing Women in Product * SANDY CARTER, Vice President for Worldwide Public Sector Programs, Amazon Web Services * PRANAVA ADDURI, Software Engineering Manager, Amazon Web Services * MINMIN YANG, Principal UX Lead, Amazon Web Services * WAHAB OWOLABI, Founder, OneReq; Diversity Business Partner, Facebook * SHARMEEN CHAPP, Vice President of Product & Engineering, Twitch Community * EJ EMEAGWALI, Product Manager, Samsara; former Product Manager, Google and Microsoft * STEPHANIE NEILL, Senior Director of Product, Twitch Commerce * GEORGE ELISSAOIS, General Manager & Director of Product Management, Amazon Web Services * NANCY RILEY, Vice President & General Manager of the Ecosystem Product Group, Hubspot * SABRINA FARMER, Vice President of Engineering for Site Reliability, Google Products This is the third of four courses in the ACE Recommended Real-World Product Management Specialization. When you complete all four courses, you can earn up to 6 college credits.
Technologies and platforms for Artificial Intelligence
This course will address the hardware technologies for machine and deep learning (from the units of an Internet-of-Things system to a large-scale data centers) and will explore the families of machine and deep learning platforms (libraries and frameworks) for the design and development of smart applications and systems.
Build a Guessing Game in C# on Linux
By the end of of this project you will create a guessing game application that pits the computer against the user. You will create variables, static methods, decision constructs, and loops in C# to create the game. Traditionally, C# and other Microsoft languages have been limited to the PC with Visual Studio as the IDE. Dot Net has been open-sourced and is now available on Linux. The Visual Studio Code IDE also has been fitted with a Language Extension plugin for C# as well for a pleasant developer experience on Linux. 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.
VLSI CAD Part I: Logic
A modern VLSI chip has a zillion parts -- logic, control, memory, interconnect, etc. How do we design these complex chips? Answer: CAD software tools. Learn how to build thesA modern VLSI chip is a remarkably complex beast: billions of transistors, millions of logic gates deployed for computation and control, big blocks of memory, embedded blocks of pre-designed functions designed by third parties (called “intellectual property” or IP blocks). How do people manage to design these complicated chips? Answer: a sequence of computer aided design (CAD) tools takes an abstract description of the chip, and refines it step-wise to a final design. This class focuses on the major design tools used in the creation of an Application Specific Integrated Circuit (ASIC) or System on Chip (SoC) design. Our focus in this first part of the course is on key Boolean logic representations that make it possible to synthesize, and to verify, the gate-level logic in these designs. This is the first step of the design chain, as we move from logic to layout. Our goal is for students to understand how the tools themselves work, at the level of their fundamental algorithms and data structures. Topics covered will include: Computational Boolean algebra, logic verification, and logic synthesis (2-level and multi-level). Recommended Background Programming experience (C, C++, Java, Python, etc.) and basic knowledge of data structures and algorithms (especially recursive algorithms). An understanding of basic digital design: Boolean algebra, Kmaps, gates and flip flops, finite state machine design. Linear algebra and calculus at the level of a junior or senior in engineering. Exposure to basic VLSI at an undergraduate level is nice -- but it’s not necessary. We will keep the course self-contained, but students with some VLSI will be able to skip some background material.e tools in this class.
Shortest Paths Revisited, NP-Complete Problems and What To Do About Them
The primary topics in this part of the specialization are: shortest paths (Bellman-Ford, Floyd-Warshall, Johnson), NP-completeness and what it means for the algorithm designer, and strategies for coping with computationally intractable problems (analysis of heuristics, local search).