star_border star_border star_border star_border star_border
Welcome to the self paced course, Algorithms: Design and Analysis ! Algorithms are the heart of computer science, and the subject has countless practical applications as well as intellectual depth. This specialization is an introduction to algorithms for learners with at least a little programming experience. The specialization is rigorous but emphasizes the big picture and conceptual understanding over low-level implementation and mathematical details. After completing this specialization, you will be well-positioned to ace your technical interviews and speak fluently about algorithms with other programmers and computer scientists. Specific topics in the course include: "Big-oh" notation, sorting and searching, divide and conquer (master method, integer and matrix multiplication, closest pair), randomized algorithms (QuickSort, contraction algorithm for min cuts), data structures (heaps, balanced search trees, hash tables, bloom filters), graph primitives (applications of BFS and DFS, connectivity, shortest paths). Learners will practice and master the fundamentals of algorithms through several types of assessments. There are 6 multiple choice quizzes to test your understanding of the most important concepts. There are also 6 programming assignments, where you implement one of the algorithms covered in lecture in a programming language of your choosing. The course concludes with a multiple-choice final. There are no assignment due dates and you can work through the course materials and assignments at your own pace.
    star_border star_border star_border star_border star_border
    The course is based on the text Mining of Massive Datasets by Jure Leskovec, Anand Rajaraman, and Jeff Ullman, who by coincidence are also the instructors for the course. The book is published by Cambridge Univ. Press, but by arrangement with the publisher, you can download a free copy Here . The material in this on-line course closely matches the content of the Stanford course CS246. The major topics covered include: MapReduce systems and algorithms, Locality-sensitive hashing, Algorithms for data streams, PageRank and Web-link analysis, Frequent itemset analysis, Clustering, Computational advertising, Recommendation systems, Social-network graphs, Dimensionality reduction, and Machine-learning algorithms.
      star_border star_border star_border star_border star_border
      As the Internet of Things (IoT) continues to grow so will the number of privacy and security concerns and issues. As a professional working in the field, it is essential to understand the potential security risks and how to best mitigate them. In this course, you will learn about security and privacy issues in IoT environments. We’ll explore the organizational risks posed by IoT networks, and the principles of IoT device vulnerabilities. We’ll also look at software and hardware IoT Applications for industry. With billions of devices tracking our every move, privacy is a critical issue. We will explore and discuss the social and commercial implications the IoT brings to society.
        star_border star_border star_border star_border star_border
        Want to produce and record your own music? This course will help you do that by showing you how to apply new technologies to your own creative practice, using freeware and browser based apps. Music Technology Foundations draws on Adelaide’s world-class pioneering expertise in making electronic music, to provide a great foundation to a career in music and to enable any learner to use technology in creative ways. In this course, you’ll learn about the core principles of music technology, including sound, audio, MIDI, effects and sequencing.
          star_border star_border star_border star_border star_border
          Improvements in modern biology have led to a rapid increase in sensitivity and measurability in experiments and have reached the point where it is often impossible for a scientist alone to sort through the large volume of data that is collected from just one experiment. For example, individual data points collected from one gene expression study can easily number in the hundreds of thousands. These types of data sets are often referred to as ‘biological big data’ and require bioinformaticians to use statistical tools to gain meaningful information from them. In this course, part of the Bioinformatics MicroMasters program, you will learn about the R language and environment and how to use it to perform statistical analyses on biological big datasets. This course is part of the Bioinformatics MicroMaster’s program from UMGC. Upon completion of the program and receipt of the verified MicroMaster’s certificate, learners may then transition into the full UMGC Master’s Program in Biotechnology with a specialization in Bioinformatics without any application process or testing. See the MicroMasters program page for more.
            star_border star_border star_border star_border star_border
            In this course, you will learn what AI is and understand its applications and use cases and how it is transforming our lives. You will explore basic AI concepts including machine learning, deep learning, and neural networks as well as use cases and applications of AI. You will be exposed to concerns surrounding AI, including ethics, bias, jobs and the impacts on society. You will take a glimpse of the future with AI, get advice for starting an AI related career, and wrap up the course by demonstrating AI in action with a mini project. This AI for Everyone 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.
              star_border star_border star_border star_border star_border
              Experimentation is a key capability for any business to develop and master. Learn how to leverage data to build knowledge and apply this knowledge to improve business outcomes and create strategic advantages. This course is part of both the Digital Product Management and Digital Leadership MicroMasters programs. In it, you will learn to develop iterative business experiments using agile methods. This capability is central to digital businesses as it allows them to sustain competitive advantage through both incremental improvements as well as significant, disruptive innovations when opportunities and conditions warrant them. This course focuses on experimentation across the three layers of a digital business: (1) the capacity of the technical infrastructure to provide an iterative and operational process that uses experiments to gather data and develop knowledge (2) the ability to use agile methods and manage the knowledge interfaces among experts at the organizational layer to derive insight from data to create knowledge and ultimately drive improvements in products and processes. (3) the capability to use the technical and organizational infrastructures to drive experimentation at scale in order to deliver digital transformation.
                star_border star_border star_border star_border star_border
                JavaScript is the programming language of the World Wide Web. As a professional web software developer, you will not only need to know how to program in this simple yet powerful language, but you will need to understand the fundamentals of how data is exchanged on the World Wide Web (WWW) and what tools and frameworks are available to you for creating robust, interactive web applications. This course, part of the CS Essentials for Software Development Professional Certificate program, provides an introduction to modern web development using JavaScript. In addition to exploring the basics of web page creation using HTML and CSS, you will learn advanced web page layout and responsive design tools such as Bootstrap. You will also learn how browsers represent a web page data using the Document Object Model (DOM) and how to develop dynamic, interactive web pages using JavaScript in the browser. Beyond fundamental JavaScript syntax and advanced language features such as callbacks, events, and asynchronous programming, you will work with jQuery, which provides functionality for simplified DOM manipulation and event handling. This course will also introduce you to modern web frameworks and component-based libraries such as React.js for efficiently developing modular web page components, and D3.js for creating data-driven documents. We will also teach you how to represent and exchange data using JavaScript Object Notation (JSON), and how to access RESTful APIs on the web. Server-side JavaScript is becoming more prevalent in the industry, with web frameworks such as Node.js and Express making it simple to create and deploy complex, data-driven web applications. This course will prepare you to use such frameworks and show you how to integrate them with NoSQL databases such as MongoDB.
                  star_border star_border star_border star_border star_border
                  How do you optimally encode a text file? How do you find shortest paths in a map? How do you design a communication network? How do you route data in a network? What are the limits of efficient computation? This course, part of the Computer Science Essentials for Software Development Professional Certificate program, is an introduction to design and analysis of algorithms, and answers along the way these and many other interesting computational questions. You will learn about algorithms that operate on common data structures, for instance sorting and searching; advanced design and analysis techniques such as dynamic programming and greedy algorithms; advanced graph algorithms such as minimum spanning trees and shortest paths; NP-completeness theory; and approximation algorithms. After completing this course you will be able to design efficient and correct algorithms using sophisticated data structures for complex computational tasks.
                    star_border star_border star_border star_border star_border
                    The Internet of Things (IoT) is expanding at a rapid rate, and it is becoming increasingly important for professionals to understand what it is, how it works, and how to harness its power to improve your business. This course is for practical learners who want to explore and interact with the IoT bridge between the cyber- and physical worlds, in order to create efficiencies or solve business problems. In this course, you will learn about the ‘things’ that get connected in the Internet of Things to sense and interact with the real world environment – from something as simple as a smoke detector to a robotic arm in manufacturing. If we consider the IoT as giving the internet the ability to feel and respond, this course is about the devices that feel and the devices that respond. We will look at IoT sensors, actuators and intermediary devices that connect things to the internet, as well as electronics and systems, both of which underpin how the Internet of Things works and what it is designed to do.