This course is your hands-on introduction to programming techniques relevant to data analysis and machine learning. Most of the programming exercises will be based on Python and SQL.
View Course Details »
Computing in Python I: Fundamentals and Procedural Programming (DL 0044M)
This course starts from the beginning, covering the basics of how a computer interprets lines of code; how to write programs, evaluate their output, and revise the code itself; how to work with variables and their changing values; and how to use mathematical, Boolean, and relational operators....
View Course Details »
Building on your prior knowledge of variables and operators, this course gets into the meat of programming. Organized into five chapters, this course starts by covering the fundamentals of what control structures are and what they do, then moves on to four common control structures in Python. ...
View Course Details »
Build on your existing knowledge of conditionals, loops, and functions by studying more about complex Python data structures, including strings, lists, dictionaries, and file input and output. Organized into five chapters, this course starts by covering the basics of data structures, then move...
View Course Details »
Computing in Python IV: Objects and Algorithms (DL 0047M)
Complete your introductory knowledge of computer science with this final course on objects and algorithms. Now that you've learned about complex control structures and data structures, learn to develop programs that more intuitively leverage your natural understanding of problems through objec...
View Course Details »
Data Structures & Algorithms I: ArrayLists, LinkedLists, Stacks, and Queues (DL 0060M)
The Data Structures & Algorithms course begins with a review of some important Java techniques and nuances in programming. The course requires some prior knowledge of Java and object-oriented programming, but not in data structures or algorithms. You’ll be introduced to time complexity and...
View Course Details »
Data Structures & Algorithms II: Binary Trees, Heaps, Skiplists, and Hashmaps (DL 0061M)
This Data Structures & Algorithms course extends beyond linear data structures to the nonlinear and hierarchical data structures. The course begins by explaining Binary Trees and two subgroups: Binary Search Trees (BSTs) and Binary Heaps. You will program BSTs, their operations, and traver...
View Course Details »
Data Structures & Algorithms III: AVL and 2-4 Trees, Divide and Conquer Algorithms (DL 0062M)
This Data Structures & Algorithms course completes the data structures portion presented in the sequence of courses with self-balancing AVL and (2-4) trees. It also begins the algorithm portion in the sequence of courses as you will investigate and explore the two more complex data structu...
View Course Details »
Data Structures & Algorithms IV: Pattern Matching, Dijkstra’s, MST, and Dynamic Programming Algorithms (DL 0063M)
This Data Structures & Algorithms course completes the four-course sequence of the program with graph algorithms, dynamic programming, and pattern matching solutions. A short Java review is presented on topics relevant to new data structures covered in this course and time complexity is th...
View Course Details »
This course explores the mathematical theory of two-player games without chance moves. You will cover simplifying games, determining when games are equivalent to numbers, and impartial games. Many of the examples of simple games may be new to you, such as Hackenbush, Nim, Push, Toads and ...
View Course Details »
Health Informatics: Current and Historical Perspective (DL 0030M)
The field of health informatics emphasis the management and use of patient healthcare information. In this course, you’ll gain a brief overview of its history and capabilities, as well as an understanding of its slow adoption within organizations. You’ll be introduced to the Fast H...
View Course Details »
Health Informatics: Data and Interoperability Standards (DL 0031M)
As the exchange of health records and other clinical systems used in patient care become increasingly digital, the focus turns to how this health information can be communicated and shared throughout a patient’s health journey. While often a challenge, adopting health data standards in a compr...
View Course Details »
Adopting digital health records and sharing its data is a critical step forward. In order to foster better collaboration across patient healthcare providers, cutting edge tools and systems must be used to improve the quality of patient care. This course will look at academic and industry resea...
View Course Details »
Human-Computer Interaction I: Fundamentals and Design Principles (DL 0033M)
Learn the principles of Human-Computer Interaction (HCI) to create intuitive, usable interfaces, with established design principles like feedback cycles, direct manipulation, affordances, signifiers, and more. In this course, you’ll take the first steps toward being a solid HCI practitioner an...
View Course Details »
Human-Computer Interaction II: Cognition and Culture (DL 0034M)
Get into the user’s mind to understand the techniques for designing and evaluating user-centered systems that integrate with and influence the world around us. In order to expand the scope through which you view human-computer interaction, you’ll start by going further inside the user’s mind t...
View Course Details »
Human-Computer Interaction III: Ethics, Needfinding and Prototyping (DL 0035M)
Build on your foundational knowledge of Human-Computer Interaction’s (HCI) core principles by learning to design interfaces in the real world. From the investigating user needs to brainstorming potential designs, creating prototypes, and evaluating those prototypes, you’ll learn the four-stage...
View Course Details »
Human-Computer Interaction IV: Evaluation, Agile Methods and Beyond (DL 0036M)
Complete your understanding of the design life cycle by learning to take interface ideas, prototype them quickly, and evaluate them with real users. In this final course in the professional certificate, you’ll complete your understanding of the design life cycle and learn about the modern rele...
View Course Details »
Information and Communication Technology (ICT) Accessibility (DL 0003M)
Individuals with disabilities often encounter barriers in accessing electronic information and using digital technologies. In this course, you will learn about the fundamentals of accessibility design in the Information and Communication Technology (ICT) field. You will focus on identifyi...
View Course Details »
Analytical models are key to understanding data, generating predictions, and making business decisions. Without models, it is nearly impossible to gain insights from data. In modeling, it’s essential to understand how to choose the right data sets, algorithms, techniques, and formats to ...
View Course Details »
Introduction to Java Programming I: Foundations and Syntax Basics (DL 0057M)
This course provides an introduction to the Java programming language. It gives you a foundational overview and history of Java, and you’ll learn about the language’s basic syntax. At the end, you will be able to develop interactive console programs with basic data processing and formatting ca...
View Course Details »
Introduction to Java Programming II: Object-Oriented Programming and Algorithms (DL 0058M)
Build on the skills learned from “Introduction to Java Programming I: Foundations and Syntax Basics” and learn the basics of writing classes that serve as blueprints of concepts or objects that are represented in a programming problem. You will leverage the concepts of inheritance, interfaces,...
View Course Details »
Introduction to Java Programming III: Exceptions, Data Structures, Recursion, and GUIs (DL 0059M)
This course provides you with the knowledge to handle and even create exceptions to achieve graceful error handling in programs. You will also create and utilize data structures, including lists and files, while learning about recursion and how it can be a useful approach to repetition in a pr...
View Course Details »
Design is an essential part of providing a great user experience (UX), offering the user what they need in the most efficient and satisfying manner. This introductory course introduces the novice designer to a systematic and data-driven process cycle of discovery and evaluation, as well as a s...
View Course Details »
Designing sound representations of information can be a complex, but a necessary part of engaging students and making material accessible to a larger group of learners. While advances in these tools (e.g. interactive simulations) have made interactive learning freely available to millions of S...
View Course Details »