Skip to main content

Data Driven World 🌏

The best way to learn programming is to write programs

Get Started with Our Roadmap 📍

Intro to Algorithm and OOP

The first half of this course focuses on providing students with algorithmic thinking and different paradigms of computation such as procedural and object-oriented design.

Intro to Machine Learning

The second half of this course focuses on a basic introduction to machine learning for categorical and continuous data. Students will be able to apply both algorithms and basic machine learning techniques to solve real-world problems driven by data and computation.

State Machine

Towards the end of the course, students will focus on various state machine designs and implement it using object oriented paradigm.

What will we learn in 10.020?

The course is a continuation of 10.014 Computational Thinking for Design and is designed as a project-based course. It introduces students to data structures, algorithm, and introductory machine learning algorithm in a practical way.

Get Started

Algorithms and Data Structures

The best way to get better at computing is by exposing yourself to more algorithms and data structures and actually implementing them. One of the common computation is to sort some items in some way. For example, sorting a number from smallest to biggest or names alphabetically. In this article, we will describe some sorting algorithms which you can implement in Python. Moreover, you will learn various data structures that can make such computation faster. We will talk about what it means to be fast. We will also introduce you on how to work with non linear data such as trees and graphs.

Cloud Network

Object Oriented Programming

Object Oriented Paradigm changes the way we code by thinking computation and data as objects. In fact, the whole software can be thought of as an object and an object can be composed of other objects. We will introduce on what object is and how we can create object that is made of other objects. We will use Object-Oriented paradigm to implement some data structures. Using the power of inheritance, we will offer the best practice in coding by reusing and extending code.

Introduction to Machine Learning

The core idea behind machine learning is to enable computers to analyze and interpret large amounts of data, identify patterns, and make informed predictions or decisions based on that information. Instead of relying on explicit instructions, machine learning algorithms are designed to learn from examples and adapt their behavior accordingly.

State Machines

State machines are essential tools in computer science and control systems, and understanding their principles is crucial for building robust and efficient software and hardware systems.