Back to Courses

Computer Science Courses

Showing results 1-10 of 2309
Gamification
Gamification is the application of game elements and digital game design techniques to non-game problems, such as business and social impact challenges. This course will teach you the mechanisms of gamification, why it has such tremendous potential, and how to use it effectively. For additional information on the concepts described in the course, you can purchase Professor Werbach's book For the Win: How Game Thinking Can Revolutionize Your Business in print or ebook format in several languages.
Unordered Data Structures
The Unordered Data Structures course covers the data structures and algorithms needed to implement hash tables, disjoint sets and graphs. These fundamental data structures are useful for unordered data. For example, a hash table provides immediate access to data indexed by an arbitrary key value, that could be a number (such as a memory address for cached memory), a URL (such as for a web cache) or a dictionary. Graphs are used to represent relationships between items, and this course covers several different data structures for representing graphs and several different algorithms for traversing graphs, including finding the shortest route from one node to another node. These graph algorithms will also depend on another concept called disjoint sets, so this course will also cover its data structure and associated algorithms.
Analyze Network Traffic with TCPDump
In this 1 hour guided project, you will learn how to use one of the most versatile Linux networking utilities tcpdump to capture and analyze TCP traffic. Popular among all ranks of networking professionals, tcpdump will definitely empower you in daily networking operations. Basic network experience and shell script basics are highly recommended as prerequisites.
Create an interactive story game with Twine
In this 2-hour long project-based course, you will learn how to create an interactive story game with the leading open source interactive fiction development platform Twine. You will learn how to create an interactive detective story, setting up variables, creating character sheet, inventory and clues, rolling dice and incorporating an RPG-style fighting mechanism. 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.
Advanced Android Development
Learn how to manage the lifecycle and data collections of mobile applications. Compare different methodologies for organizing and architecting Android applications and the implications on code quality and team velocity. You will follow the lifecycle activities of fragments from the source of generation and learn how to respond. You will do this by reviewing the Android lifecycle. You’ll review and apply different types of Kotlin user interface (UI) interactivity from user input handling to gestures. You’ll get to practice different aspects of working with data in an Android application and you’ll build out a lifecycle and data.
Getting Started with AWS Machine Learning
Machine learning (ML) is one of the fastest growing areas in technology and a highly sought after skillset in today’s job market. The World Economic Forum states the growth of artificial intelligence (AI) could create 58 million net new jobs in the next few years, yet it’s estimated that currently there are 300,000 AI engineers worldwide, but millions are needed. This means there is a unique and immediate opportunity for you to get started with learning the essential ML concepts that are used to build AI applications – no matter what your skill levels are. Learning the foundations of ML now, will help you keep pace with this growth, expand your skills and even help advance your career. This course will teach you how to get started with AWS Machine Learning. Key topics include: Machine Learning on AWS, Computer Vision on AWS, and Natural Language Processing (NLP) on AWS. Each topic consists of several modules deep-diving into variety of ML concepts, AWS services as well as insights from experts to put the concepts into practice.
Create React Forms Using Hooks
By the end of this project, you will Create React Forms Using Hooks. React Hooks were added so that state and lifecycle could be addressed within a React Functional component. This simplifies state and component lifecycle management. This project is for learners who want to gain a good foundation using React Hooks in a React Form to build a web application.
Modern Robotics, Course 1: Foundations of Robot Motion
Do you want to know how robots work? Are you interested in robotics as a career? Are you willing to invest the effort to learn fundamental mathematical modeling techniques that are used in all subfields of robotics? If so, then the "Modern Robotics: Mechanics, Planning, and Control" specialization may be for you. This specialization, consisting of six short courses, is serious preparation for serious students who hope to work in the field of robotics or to undertake advanced study. It is not a sampler. In Course 1 of the specialization, Foundations of Robot Motion, you will learn fundamental material regarding robot configurations, for both serial robot mechanisms and robots with closed chains. You will learn about configuration space (C-space), degrees of freedom, C-space topology, implicit and explicit representations of configurations, and holonomic and nonholonomic constraints. You will also learn how to represent spatial velocities and forces as twists and wrenches. This material is at the core of the study of anything that moves (e.g., robots). This course follows the textbook "Modern Robotics: Mechanics, Planning, and Control" (Lynch and Park, Cambridge University Press 2017). You can purchase the book or use the free preprint pdf. You will build on a library of robotics software in the language of your choice (among Python, Mathematica, and MATLAB) and use the free cross-platform robot simulator V-REP, which allows you to work with state-of-the-art robots in the comfort of your own home and with zero financial investment.
Computer Vision Basics
By the end of this course, learners will understand what computer vision is, as well as its mission of making computers see and interpret the world as humans do, by learning core concepts of the field and receiving an introduction to human vision capabilities. They are equipped to identify some key application areas of computer vision and understand the digital imaging process. The course covers crucial elements that enable computer vision: digital signal processing, neuroscience and artificial intelligence. Topics include color, light and image formation; early, mid- and high-level vision; and mathematics essential for computer vision. Learners will be able to apply mathematical techniques to complete computer vision tasks. This course is ideal for anyone curious about or interested in exploring the concepts of computer vision. It is also useful for those who desire a refresher course in mathematical concepts of computer vision. Learners should have basic programming skills and experience (understanding of for loops, if/else statements), specifically in MATLAB (Mathworks provides the basics here: https://www.mathworks.com/learn/tutorials/matlab-onramp.html). Learners should also be familiar with the following: basic linear algebra (matrix vector operations and notation), 3D co-ordinate systems and transformations, basic calculus (derivatives and integration) and basic probability (random variables). Material includes online lectures, videos, demos, hands-on exercises, project work, readings and discussions. Learners gain experience writing computer vision programs through online labs using MATLAB* and supporting toolboxes. * A free license to install MATLAB for the duration of the course is available from MathWorks.
Protecting Endpoints with reCAPTCHA Enterprise
This is a self-paced lab that takes place in the Google Cloud console. In this lab, we will add a reCAPTCHA checkbox to a website.