Programming & Software Development
50 resources
MIT OCW
free
course
Introduction to CS and Programming using Python
Dr. Ana Bell
This subject is aimed at students with little to no programming experience. It aims to provide students with an...
Computer Science
Data Science, Analytics & Computer Technology
Engineering
intermediate
MIT OCW
free
course
Mathematics for Computer Science
Prof. Erik Demaine
This course covers elementary discrete mathematics for science and engineering, with a focus on mathematical tools...
Algorithms and Data Structures
Computer Science
Data Science, Analytics & Computer Technology
intermediate
MIT OCW
free
course
Introduction to Computer Science and Programming in Python
Dr. Ana Bell
6.0001 Introduction to Computer Science and Programming in Python is intended for students with little or no...
Algorithms and Data Structures
Computer Science
Data Science, Analytics & Computer Technology
intermediate
MIT OCW
free
course
Effective Programming in C and C++
Andre Kessler
This course is a fast-paced introduction to the C and C++ programming languages, with an emphasis on good...
Computer Science
Data Science, Analytics & Computer Technology
Engineering
intermediate
MIT OCW
free
course
Networks
Prof. Alexander Wolitzky
Networks are ubiquitous in our modern society. The World Wide Web that links us to the rest of the world is the most...
Computer Science
Data Science, Analytics & Computer Technology
Economics
intermediate
MIT OCW
free
course
Introduction to Algorithms
Prof. Erik Demaine
This course is an introduction to mathematical modeling of computational problems, as well as common algorithms,...
Algorithms and Data Structures
Computer Science
Data Science, Analytics & Computer Technology
intermediate
MIT OCW
free
course
Introduction to Computational Thinking
Prof. Alan Edelman
This is an introductory course on computational thinking. We use the Julia programming language to approach...
Algorithms and Data Structures
Climate Science
Computer Science
intermediate
MIT OCW
free
course
Software Construction
Prof. Robert Miller
6.005 Software Construction introduces fundamental principles and techniques of software development, i.e., how to...
Algorithms and Data Structures
Computer Science
Data Science, Analytics & Computer Technology
intermediate
MIT OCW
free
course
Introduction to C and C++
Tom Lieber
This course provides a fast-paced introduction to the C and C++ programming languages. You will learn the required...
Computer Science
Data Science, Analytics & Computer Technology
Engineering
intermediate
MIT OCW
free
course
Practical Programming in C
Daniel Weller
This course provides a thorough introduction to the C programming language, the workhorse of the UNIX operating...
Computer Science
Data Science, Analytics & Computer Technology
Engineering
intermediate
MIT OCW
free
course
A Gentle Introduction to Programming Using Python
Sarina Canelake
This course will provide a gentle, yet intense, introduction to programming using Python for highly motivated...
Computer Science
Data Science, Analytics & Computer Technology
Engineering
intermediate
MIT OCW
free
course
Computational Methods of Scientific Programming
Prof. Thomas Herring
This introductory course exposes students to modern programming methods and techniques used in practice by physical...
Algorithms and Data Structures
Computer Science
Data Science, Analytics & Computer Technology
intermediate
MIT OCW
free
course
Computer System Engineering
Dr. Katrina LaCurts
This class covers topics on the engineering of computer software and hardware systems. Topics include techniques for...
Computer Science
Data Science, Analytics & Computer Technology
Engineering
intermediate
MIT OCW
free
course
Computer Graphics
Prof. Wojciech Matusik
This course provides introduction to computer graphics algorithms, software and hardware. Topics include: ray...
Algorithms and Data Structures
Computer Science
Data Science, Analytics & Computer Technology
intermediate
MIT OCW
free
course
Introduction to Computers and Engineering Problem Solving
Dr. George Kocur
This course presents the fundamentals of object-oriented software design and development, computational methods and...
Computer Science
Data Science, Analytics & Computer Technology
Engineering
intermediate
MIT OCW
free
course
Introduction to C++
Jesse Dunietz
This is a fast-paced introductory course to the C++ programming language. It is intended for those with little...
Computer Science
Data Science, Analytics & Computer Technology
Engineering
intermediate
MIT OCW
free
course
Computer Systems Security
Prof. Nickolai Zeldovich
This course covers design and implementation of secure computer systems. The lectures cover attacks that compromise...
Computer Science
Data Science, Analytics & Computer Technology
Engineering
intermediate
MIT OCW
free
course
Design and Analysis of Algorithms
Prof. Erik Demaine
This is an intermediate algorithms course with an emphasis on teaching techniques for the design and analysis of...
Algorithms and Data Structures
Computer Science
Data Science, Analytics & Computer Technology
intermediate
MIT OCW
free
course
Introduction to Programming in Java
Evan Jones
This course is an introduction to software engineering, using the Java™ programming language. It covers concepts...
Computer Science
Data Science, Analytics & Computer Technology
Engineering
intermediate
MIT OCW
free
course
Performance Engineering of Software Systems
Prof. Charles Leiserson
6.172 is an 18-unit class that provides a hands-on, project-based introduction to building scalable and...
Algorithms and Data Structures
Business & Management
Computer Science
intermediate
MIT OCW
free
course
Numerical Computation for Mechanical Engineers
Prof. Anthony T. Patera
This class introduces elementary programming concepts including variable types, data structures, and flow control....
Computer Science
Data Science, Analytics & Computer Technology
Engineering
intermediate
MIT OCW
free
course
Introduction to Computer Science and Programming
Prof. John Guttag
6.00SC Intro to CS and Programming has been retired from OCW. You can access the archived course on DSpace –...
Computer Science
Data Science, Analytics & Computer Technology
Engineering
intermediate
MIT OCW
free
course
Computation Structures
Prof. Steve Ward
6.004 offers an introduction to the engineering of digital systems. Starting with MOS transistors, the course...
Computer Science
Data Science, Analytics & Computer Technology
Electrical Engineering
intermediate
MIT OCW
free
course
Introduction to Numerical Analysis for Engineering (13.002J)
Prof. Henrik Schmidt
This course is offered to undergraduates and introduces students to the formulation, methodology, and techniques for...
Algorithms and Data Structures
Computer Science
Data Science, Analytics & Computer Technology
intermediate
MIT OCW
free
course
Introduction to EECS II: Digital Communication Systems
Prof. Hari Balakrishnan
An introduction to several fundamental ideas in electrical engineering and computer science, using digital...
Computer Science
Data Science, Analytics & Computer Technology
Electrical Engineering
intermediate
MIT OCW
free
course
Introduction to Algorithms (SMA 5503)
Prof. Charles Leiserson
This course teaches techniques for the design and analysis of efficient algorithms, emphasizing methods useful in...
Algorithms and Data Structures
Computer Science
Data Science, Analytics & Computer Technology
intermediate
MIT OCW
free
course
Principles of Computer System Design: An Introduction
Jerome H. Saltzer
Principles of Computer System Design: An Introduction is published in two parts. Part I, containing chapters 1-6, is...
Business & Management
Computer Science
Data Science, Analytics & Computer Technology
intermediate
MIT OCW
free
course
Introduction to MATLAB
Orhan Celiker
This is an accelerated introduction to MATLAB® and its popular toolboxes. Lectures are interactive, with students...
Computer Science
Data Science, Analytics & Computer Technology
Engineering
intermediate
MIT OCW
free
course
Building Programming Experience: A Lead-In to 6.001
Benjamin Vandiver
This course will serve as a two-week aggressively gentle introduction to programming for those students who lack...
Computer Science
Data Science, Analytics & Computer Technology
Engineering
intermediate
MIT OCW
free
course
Introductory Digital Systems Laboratory
Prof. Anantha Chandrakasan
6.111 is reputed to be one of the most demanding classes at MIT, exhausting many students’ time and creativity. The...
Computer Science
Data Science, Analytics & Computer Technology
Electrical Engineering
intermediate
MIT OCW
free
course
Introduction to C Memory Management and C++ Object-Oriented Programming
Eunsuk Kang
Ever hang your head in shame after your Python program wasn’t as fast as your friend’s C program? Ever wish you...
Computer Science
Data Science, Analytics & Computer Technology
Engineering
intermediate
MIT OCW
free
course
Introduction to Computational Thinking with Julia, with Applications to Modeling the COVID-19 Pandemic
Prof. Alan Edelman
This half-semester course introduces computational thinking through applications of data science, artificial...
Algorithms and Data Structures
Computer Science
Data Science, Analytics & Computer Technology
intermediate
MIT OCW
free
course
Algorithms for Computational Biology
Prof. Manolis Kellis
This course is offered to undergraduates and addresses several algorithmic challenges in computational biology. The...
Algorithms and Data Structures
Biological Engineering
Computer Science
intermediate
MIT OCW
free
course
Elements of Software Construction
Prof. Daniel Jackson
This course provides an introduction to the fundamental principles and techniques of software development that have...
Computer Science
Data Science, Analytics & Computer Technology
Engineering
intermediate
MIT OCW
free
course
Software Studio
Prof. Daniel Jackson
This course on software engineering covers design and implementation of medium-scale software systems, using web...
Algorithms and Data Structures
Computer Science
Data Science, Analytics & Computer Technology
intermediate
MIT OCW
free
course
Automata, Computability, and Complexity
Prof. Scott Aaronson
This course provides a challenging introduction to some of the central ideas of theoretical computer science....
Computer Science
Data Science, Analytics & Computer Technology
Engineering
intermediate
MIT OCW
free
course
Computer Language Engineering (SMA 5502)
Prof. Martin Rinard
6.035 is a course within the department’s “Computer Systems and Architecture” concentration. This course analyzes...
Computer Science
Data Science, Analytics & Computer Technology
Engineering
intermediate
MIT OCW
free
course
Combinatorial Optimization
Prof. Santosh Vempala
Combinatorial Optimization provides a thorough treatment of linear programming and combinatorial optimization....
Algorithms and Data Structures
Business & Management
Computer Science
intermediate
MIT OCW
free
course
Laboratory in Software Engineering
Prof. Daniel Jackson
This course introduces concepts and techniques relevant to the production of large software systems. Students are...
Computer Science
Data Science, Analytics & Computer Technology
Engineering
intermediate
MIT OCW
free
course
Biological Engineering Programming
Prof. Andrew Endy
In this course problems from biological engineering are used to develop structured computer programming skills and...
Biological Engineering
Business & Management
Computer Science
intermediate
MIT OCW
free
course
Multicore Programming Primer
Dr. Rodric Rabbah
The course serves as an introductory course in parallel programming. It offers a series of lectures on parallel...
Computer Science
Data Science, Analytics & Computer Technology
Engineering
intermediate
MIT OCW
free
course
The History of Computing
Dr. Slava Gerovitch
This course focuses on one particular aspect of the history of computing: the use of the computer as a scientific...
Computer Science
Data Science, Analytics & Computer Technology
Engineering
intermediate
MIT OCW
free
course
Quantifying Uncertainty
Dr. Sai Ravela
The ability to quantify the uncertainty in our models of nature is fundamental to many inference problems in Science...
Algorithms and Data Structures
Business & Management
Computer Science
intermediate
MIT OCW
free
course
Java Preparation for 6.170
Corey McCaffrey
This course focuses on introducing the language, libraries, tools and concepts of Javaᵀᴹ. The course is specifically...
Computer Science
Data Science, Analytics & Computer Technology
Engineering
intermediate
MIT OCW
free
course
Learn Differential Equations: Up Close with Gilbert Strang and Cleve Moler
Prof. Gilbert Strang
Learn Differential Equations: Up Close with _Gilbert Strang and_ Cleve Moler is an in-depth series of videos about...
Computer Science
Data Science, Analytics & Computer Technology
Engineering
intermediate
MIT OCW
free
course
Programming for the Puzzled
Prof. Srini Devadas
This class builds a bridge between the recreational world of algorithmic puzzles (puzzles that can be solved by...
Algorithms and Data Structures
Computer Science
Data Science, Analytics & Computer Technology
intermediate
MIT OCW
free
course
Computer Language Engineering
Prof. Saman Amarasinghe
This course analyzes issues associated with the implementation of higher-level programming languages. Topics covered...
Computer Science
Data Science, Analytics & Computer Technology
Engineering
intermediate
MIT OCW
free
course
Fundamentals of Program Analysis
Prof. Armando Solar-Lezama
This course offers a comprehensive introduction to the field of program analysis. It covers some of the major forms...
Computer Science
Data Science, Analytics & Computer Technology
Engineering
intermediate
MIT OCW
free
course
Introduction To MATLAB Programming
Yossi Farjoun
This course is intended to assist undergraduates with learning the basics of programming in general and programming...
Computer Science
Data Science, Analytics & Computer Technology
Engineering
intermediate
MIT OCW
free
course
Error-Correcting Codes Laboratory
Prof. Daniel Spielman
This course introduces students to iterative decoding algorithms and the codes to which they are applied, including...
Algorithms and Data Structures
Computer Science
Data Science, Analytics & Computer Technology
intermediate