

Our Courses

C++ Basic Structures: Vectors, Pointers, Strings, and Files
Code and run your first C++ program in minutes without installing anything! This course is designed for learners with limited coding experience, providing a solid foundation of not just C++, but core Computer Science topics that can be transferred to other languages. The modules in this course cover vectors, pointers, strings, and files. Completion of C++ Basics: Selection and Iteration before taking this course is recommended. To allow for a truly hands-on, self-paced learning experience, this course is video-free.
-
Course by
-
Self Paced
-
9 hours
-
English

Data Mining
The Data Mining Specialization teaches data mining techniques for both structured data which conform to a clearly defined schema, and unstructured data which exist in the form of natural language text. Specific course topics include pattern discovery, clustering, text retrieval, text mining and analytics, and data visualization. The Capstone project task is to solve real-world data mining challenges using a restaurant review data set from Yelp. Courses 2 - 5 of this Specialization form the lecture component of courses in the online Master of Computer Science Degree in Data Science.
-
Course by
-
Self Paced
-
English

Data Science Fundamentals with Python and SQL
Data Science is one of the hottest professions of the decade, and the demand for data scientists who can analyze data and communicate results to inform data driven decisions has never been greater.
-
Course by
-
Self Paced
-
English

Introduction to Data Science
Interested in learning more about data science, but don’t know where to start? This 4-course Specialization from IBM will provide you with the key foundational skills any data scientist needs to prepare you for a career in data science or further advanced learning in the field. This Specialization will introduce you to what data science is and what data scientists do. You’ll discover the applicability of data science across fields, and learn how data analysis can help you make data driven decisions.
-
Course by
-
Self Paced
-
English

Digital Signal Processing 1: Basic Concepts and Algorithms
Digital Signal Processing is the branch of engineering that, in the space of just a few decades, has enabled unprecedented levels of interpersonal communication and of on-demand entertainment. By reworking the principles of electronics, telecommunication and computer science into a unifying paradigm, DSP is a the heart of the digital revolution that brought us CDs, DVDs, MP3 players, mobile phones and countless other devices. In this series of four courses, you will learn the fundamentals of Digital Signal Processing from the ground up.
-
Course by
-
Self Paced
-
29 hours
-
English

Statistics for Data Science with Python
This Statistics for Data Science course is designed to introduce you to the basic principles of statistical methods and procedures used for data analysis. After completing this course you will have practical knowledge of crucial topics in statistics including - data gathering, summarizing data using descriptive statistics, displaying and visualizing data, examining relationships between variables, probability distributions, expected values, hypothesis testing, introduction to ANOVA (analysis of variance), regression and correlation analysis.
-
Course by
-
Self Paced
-
14 hours
-
English

Teaching Impacts of Technology: Workplace of the Future
In this course you’ll focus on how the Internet has enabled new careers and changed expectations in traditional work settings, creating a new vision for the workplace of the future. This will be done through a series of paired teaching sections, exploring a specific “Impact of Computing” in your typical day and the “Technologies and Computing Concepts” that enable that impact, all at a K12-appropriate level.
-
Course by
-
Self Paced
-
13 hours
-
English

Introduction to Machine Learning: Supervised Learning
In this course, you’ll be learning various supervised ML algorithms and prediction tasks applied to different data. You’ll learn when to use which model and why, and how to improve the model performances. We will cover models such as linear and logistic regression, KNN, Decision trees and ensembling methods such as Random Forest and Boosting, kernel methods such as SVM. Prior coding or scripting knowledge is required. We will be utilizing Python extensively throughout the course.
-
Course by
-
Self Paced
-
40 hours
-
English

Mathematics for Machine Learning
For a lot of higher level courses in Machine Learning and Data Science, you find you need to freshen up on the basics in mathematics - stuff you may have studied before in school or university, but which was taught in another context, or not very intuitively, such that you struggle to relate it to how it’s used in Computer Science.
-
Course by
-
Self Paced
-
English

Teaching Impacts of Technology in K-12 Education
2% That’s the estimate of how many high school students in all of California took a Computer Science class in 2015. And yet, computers and data are everywhere. Just consider a typical 24 hours in your life … how many different computer devices do you use?
-
Course by
-
Self Paced
-
English

Network Analysis for Marketing Analytics
Network analysis is a long-standing methodology used to understand the relationships between words and actors in the broader networks in which they exist. This course covers network analysis as it pertains to marketing data, specifically text datasets and social networks. Learners walk through a conceptual overview of network analysis and dive into real-world datasets through instructor-led tutorials in Python.
-
Course by
-
Self Paced
-
10 hours
-
English

Miracles of Human Language: An Introduction to Linguistics
Everywhere, every day, everybody uses language. There is no human society, no matter how small or how isolated, which does not employ a language that is rich and diverse. This course introduces you to linguistics, featuring interviews with well-known linguists and with speakers of many different languages. Join us to explore the miracles of human language! The Miracles of Human Language introduces you to the many-faceted study of languages, which has amazed humans since the beginning of history.
-
Course by
-
Self Paced
-
23 hours
-
English

Mind and Machine
This specialization examines the ways in which our current understanding of human thinking is both illuminated and challenged by the evolving techniques and ideas of artificial intelligence and computer science. Our collective understanding of “minds” – both biological and computational – has been revolutionized over the past half-century by themes originating in fields like cognitive psychology, machine learning, neuroscience, evolutionary psychology, and game theory, among others.
-
Course by
-
English

CS50's Computer Science for Business Professionals
This is CS50’s introduction to computer science for business professionals.
-
Course by
-
Self Paced
-
32
-
English

My Name is Aracely
Watch the inspiring story of Aracely Casillas, a Code.org student who wants to change the world using technology. Help bring computer science to your school: http://code.org/yourschool. Join our movement and register at https://studio.code.org/users/sign_in and learn more at ttps://studio.code.org/courses
-
Course by
-
4 min
-
English

Determine Shortest Paths Between Routers Using Python
By the end of this project you will use the adjacency list data structure and other data structures to find the shortest distance between a set of routers loaded from a file. The shortest path problem is well known in the field of computer science. An adjacency list is probably the best data structure to represent a set of connected vertices to find the shortest path from one vertex to another. One application for shortest paths is in mapping.
-
Course by
-
Self Paced
-
3 hours
-
English

Introduction to Scripting in Python
Developed by Rice University's world-class Computer Science & Data Science faculty, this specialization is intended for beginners who would like to master essential programming skills. Through four courses, you will cover key programming concepts in Python 3 which will prepare you to use Python to perform common scripting tasks. This knowledge will provide a solid foundation towards a career in data science, software engineering, or other disciplines involving programming.
-
Course by
-
Self Paced
-
English

Computer Communications
This specialization is developed for seniors and fresh graduate students to understand fundamental network architecture concepts and their impacts on cyber security, to develop skills and techniques required for network protocol design, and prepare for a future of constant change through exposure to network design alternatives. Students will require a prior knowledge of C programming, an understanding of math probability and a computer science background is a plus.
-
Course by
-
Self Paced
-
English

Computer Vision and Image Processing Fundamentals
Learn about computer vision, one of the most exciting fields in machine learning. artificial intelligence and computer science.
-
Course by
-
Self Paced
-
10
-
English

Try It: Intro to Spreadsheets
Excel skills are marketable in almost every industry. Whether you work in IT, healthcare, finance, or computer science, knowing how to operate spreadsheets can help you to organize data and gain valuable insights. This free, no-risk introductory course to spreadsheets aims to equip you with the beginner’s knowledge to navigate both Excel and Google Spreadsheets so you can bring greater solutions and organization to any project.
-
Course by
-
Self Paced
-
1
-
English

Teaching Computational Thinking
This course is for educators who are passionate about the future of their 7-12+ year old students and want to learn more about teaching computer science in an engaging and meaningful way.
-
Course by
-
Self Paced
-
15
-
English

An Introduction to Computer Networking for Teachers
Build your knowledge and understanding of computer networks as a computer science teacher.
-
Course by
-
Self Paced
-
12
-
English

Impact of Technology: How To Lead Classroom Discussions
Learn how to keep 14-16 year-old students engaged in discussions while teaching computer science.
-
Course by
-
Self Paced
-
12
-
English

Teaching Coding in Grades 5-8 with Scratch Encore
This course introduces teachers and other educators to the basics of teaching programming with Scratch to students in grades 5-8 using Scratch Encore, a culturally responsive, intermediate computer science curriculum. Each week, participants are introduced to key computer science concepts (e.g., loops, synchronization), and then apply those concepts as they complete programming assignments in Scratch. Helpful pedagogical practices and teaching strategies are introduced throughout the course.
-
Course by
-
Self Paced
-
English

Introduction to Computer Science and Programming
The term “Computation” refers to the action performed by a computer. A computation can be a basic operation and it can also be a sophisticated computer simulation requiring a large amount of data and substantial resources. This course aims at introducing learners with no prior knowledge to the basic key concepts of computer science. By following the lectures and exercises of this course, you will gain an understanding of algorithms by programming using the language Ruby.
-
Course by
-
English