star_border star_border star_border star_border star_border
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.
    star_border star_border star_border star_border star_border
    This course takes you through the first eight lessons of CS6750: Human-Computer Interaction as taught in the Georgia Tech Online Master of Science in Computer Science program. In this course, you’ll take the first steps toward being a solid HCI practitioner and researcher. You’ll learn the fundamentals of how HCI relates to fields like user experience design, user interface design, human factors engineering, and psychology. You’ll also learn how human-computer interaction has influence across application domains like healthcare and education; technology development like virtual and augmented reality; and broader ideas like context-sensitive computing and information visualization. You’ll then dive into the fundamentals of human-computer interaction. You’ll learn three views of the user’s role in interface design: the behaviorist ‘processor’ view, the cognitivist ‘predictor’ view, and the situationist ‘participant’ view. You’ll discover how these different views of the user’s role affect the scope we use to evaluate interaction. These perspectives will be crucial as you move forward in designing interfaces to ensure you’re considering what goes on inside the user’s head, as well as in the environment around them. You’ll then learn the gulfs of execution and evaluation, which determine how easily the user can accomplish their goals in a system and how well they can understand the results of their actions. All of user interface design can be seen as taking steps to bridge these gulfs. You’ll also investigate the notion of direct manipulation, which shortens the distance between the user and the objects they are manipulating in the interface. With these tools, you’ll be well-equipped to start designing effective interfaces. You’ll then take a deeper dive into what humans are even capable of accomplishing. You’ll learn the limitations of human sensing and memory and how we must be aware of the cognitive load we introduce on the user while using our interfaces. Cognitive load can have an enormous impact on a user’s satisfaction with an interface, and must be kept in mind as you begin your career as a designer. You’ll finally conclude with an overview of the major design principles in human-computer interaction. Curated from the work of Don Norman, Jakob Nielsen, Ronald Mace, Larry Constantine, and Lucy Lockwood, these design principles cover revolutionary ideas in the design of interfaces: discoverability, affordances, perceptibility, constraints, error tolerance, and more. These principles are crucial whether you move forward as a designer, an evaluator, a front-end engineer, or any other role in technology design. By the end of the course, you’ll have an understanding of where HCI sits in the broader field, a grasp of the goals of HCI, and a foundation in core principles that inform interface design.
      star_border star_border star_border star_border star_border
      In this introductory Java programming course, you will be introduced to powerful concepts such as functional abstraction, the object oriented programming (OOP) paradigm and Application Programming Interfaces (APIs). Examples and case studies will be provided so that you can implement simple programs on your own or collaborate with peers. Emphasis is put on immediate feedback and on having a fun experience. Programming knowledge is not only useful to be able to program today’s devices such as computers and smartphones. It also opens the door to computational thinking, i.e. the application of computing techniques to every-day processes. This edition is an improved version of the course released in April 2015.
        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.