Online courses directory (20)

Sort by: Name, Rating, Price
Start time: Any, Upcoming, Recent started, New, Always Open
Price: Any, Free, Paid
Starts : 2011-01-01
14 votes
MIT OpenCourseWare (OCW) Free Computer Sciences Electrical Engineering and Computer Science MIT OpenCourseWare Undergraduate

This course will provide a gentle, yet intense, introduction to programming using Python for highly motivated students with little or no prior experience in programming. The course will focus on planning and organizing programs, as well as the grammar of the Python programming language.

The course is designed to help prepare students for 6.01 Introduction to EECS I. 6.01 assumes some knowledge of Python upon entering; the course material for 6.189 has been specially designed to make sure that concepts important to 6.01 are covered.

This course is offered during the Independent Activities Period (IAP), which is a special 4-week term at MIT that runs from the first week of January until the end of the month.

Starts : 2014-09-15
328 votes
Coursera Free Popular Computer Sciences English Computer Science Software Engineering

This course is designed to be a fun introduction to the basics of programming in Python. Our main focus will be on building simple interactive games such as Pong, Blackjack and Asteroids.

Starts : 2016-01-25
No votes
Coursera Free Closed [?] Computer Sciences English Biology & Life Sciences Computer Science Computer Science Information Mathematics Software Engineering

Are you interested in learning how to program (in Python) within a scientific setting? This course will cover algorithms for solving various biological problems along with a handful of programming challenges helping you implement these algorithms in Python. It offers a gentler-paced alternative to the first course in our Bioinformatics Specialization (Finding Hidden Messages in DNA).

Starts : 2008-09-01
9 votes
MIT OpenCourseWare (OCW) Free Computer Sciences Biological Engineering Graduate MIT OpenCourseWare

This course teaches the design of contemporary information systems for biological and medical data. Examples are chosen from biology and medicine to illustrate complete life cycle information systems, beginning with data acquisition, following to data storage and finally to retrieval and analysis. Design of appropriate databases, client-server strategies, data interchange protocols, and computational modeling architectures. Students are expected to have some familiarity with scientific application software and a basic understanding of at least one contemporary programming language (e.g. C, C++, Java, Lisp, Perl, Python). A major term project is required of all students. This subject is open to motivated seniors having a strong interest in biomedical engineering and information system design with the ability to carry out a significant independent project.

This course was offered as part of the Singapore-MIT Alliance (SMA) program as course number SMA 5304.

Starts : 2016-06-07
274 votes
edX Free Computer Sciences English Computer Science EdX HarveyMuddX

Looking to get started with computer science while learning to program in Python?

This computer science  course provides an introduction to computer science that’s both challenging and fun. It takes a broad look at the field of computer science through a variety of demonstrations and projects. We’ll cover both low- and high-level concepts, from how the circuits inside a computer represent data to how to design algorithms, as well as how all of this information affects the technology we use today. Additionally, we’ll teach the basics of Python programming, giving us a a way to put our new CS knowledge into practice.

No need to know any programming before starting the course; we’ll teach everything you need to know along the way. All you need to start is a good grasp of algebra, and you can fall in love with both the concepts and the practice of computer science.

91 votes
Udacity Free Closed [?] Computer Sciences Software Engineering

Understanding how to approach programming problems and devise a solution is an essential skill for any Python developer. In this course, you’ll learn new concepts, patterns, and methods that will expand your coding abilities from programming expert, Peter Norvig.

91 votes
Udacity Free Closed [?] Computer Sciences Non-Tech

In this course, you'll hone your problem-solving skills through learning to find numerical solutions to systems of differential equations. You'll write code in Python to fight forest fires, rescue the Apollo 13 astronauts, stop the spread of epidemics, and resolve other real-world dilemmas.

Starts : 2008-09-01
10 votes
MIT OpenCourseWare (OCW) Free Computer Sciences Media Arts and Sciences MIT OpenCourseWare Undergraduate

This class covers the history of 20th century art and design from the perspective of the technologist. Methods for visual analysis, oral critique, and digital expression are introduced. Class projects this term use the OLPC XO (One Laptop Per Child) laptop, Csound and Python software.

Starts : 2015-02-20
22 votes
Coursera Free Computer Sciences English Information Statistics and Data Analysis Tech & Design

Programming-oriented course on effectively using modern computers to solve scientific computing problems arising in the physical/engineering sciences and other fields. Provides an introduction to efficient serial and parallel computing using Fortran 90, OpenMP, MPI, and Python, and software development tools such as version control, Makefiles, and debugging.

103 votes
Udacity Free Closed [?] Computer Sciences Data Science Software Engineering Web Development

In this introduction to computer programming course, you’ll learn and practice key computer science concepts by building your own versions of popular web applications. You’ll learn Python, a powerful, easy-to-learn, and widely used programming language, and you’ll explore computer science basics, as you build your own search engine and social network.

Starts : 2010-01-01
14 votes
MIT OpenCourseWare (OCW) Free Computer Sciences Electrical Engineering and Computer Science MIT OpenCourseWare Undergraduate

Ever hang your head in shame after your Python program wasn't as fast as your friend's C program? Ever wish you could use objects without having to use Java? Join us for this fun introduction to C and C++! We will take you through a tour that will start with writing simple C programs, go deep into the caves of C memory manipulation, resurface with an introduction to using C++ classes, dive deeper into advanced C++ class use and the C++ Standard Template Libraries. We'll wrap up by teaching you some tricks of the trade that you may need for tech interviews.

We see this as a "C/C++ empowerment" course: we want you to come away understanding

  1. why you would want to use C over another language (control over memory, probably for performance reasons),
  2. why you would want to use C++ rather than C (objects), and
  3. how to be useful in C and C++.

This course is offered during the Independent Activities Period (IAP), which is a special 4-week term at MIT that runs from the first week of January until the end of the month.

Starts : 2017-03-07
No votes
edX Free Computer Sciences English Computer Science EdX MITx

6.00.2x will teach you how to use computation to accomplish a variety of goals and provides you with a brief introduction to a variety of topics in computational problem solving . This course is aimed at students with some prior programming experience in Python and a rudimentary knowledge of computational complexity. You will spend a considerable amount of time writing programs to implement the concepts covered in the course. For example, you will write a program that will simulate a robot vacuum cleaning a room or will model the population dynamics of viruses replicating and drug treatments in a patient's body.

Topics covered include:

  • Advanced programming in Python 3
  • Knapsack problem, Graphs and graph optimization
  • Dynamic programming
  • Plotting with the pylab package
  • Random walks
  • Probability, Distributions
  • Monte Carlo simulations
  • Curve fitting
  • Statistical fallacies

Starts : 2008-09-01
9 votes
MIT OpenCourseWare (OCW) Free Computer Sciences Electrical Engineering and Computer Science MIT OpenCourseWare Undergraduate

This subject is aimed at students with little or no programming experience. It aims to provide students with an understanding of the role computation can play in solving problems. It also aims to help students, regardless of their major, to feel justifiably confident of their ability to write small programs that allow them to accomplish useful goals. The class will use the Python™ programming language.

12 votes
MIT OpenCourseWare (OCW) Free Computer Sciences Electrical Engineering and Computer Science MIT OpenCourseWare Undergraduate

This subject is aimed at students with little or no programming experience. It aims to provide students with an understanding of the role computation can play in solving problems. It also aims to help students, regardless of their major, to feel justifiably confident of their ability to write small programs that allow them to accomplish useful goals. The class will use the Python programming language.

Course Format


Click to get started. This course has been designed for independent study. It provides everything you will need to understand the concepts covered in the course. The materials include:

  • A complete set of Lecture Videos by Prof. Guttag.
  • Resources for each lecture video, such as Handouts, Slides, and Code Files.
  • Recitation Videos by course TA's to review content and problem solving techniques.
  • Homework problems with sample student solutions.
  • Further Study collections of links to supplemental online content.
  • Self-Assessment tools, including lecture questions with answers and unit quizzes with solutions, to assess your subject mastery.

Other Versions

Other OCW Versions

OCW has published multiple versions of this subject. Question_OVT logo

Related Content

14 votes
ALISON Free Computer Sciences Course Type: course Free to Access Mime Type - Scorm 1.2

Computer programming skills are now becoming part of basic education as these skills are increasingly of vital importance for future job and career prospects. This free online course introduces you to the core components of programming using the Python programming language which is one of the most popular programming languages worldwide. The course shows you how to use the free open-source PyScripter IDE for Python to write basic programs using concepts such as functions, variables, If Else statements, For loops, While loops, iterative and recursive programs and algorithms such as the Insertion Sort algorithm. This course will be of great interest to all learners who would like to gain a thorough knowledge and understanding of the basic components of computer programming using the Python language – and might be a gentle introduction to programming for those who think they might have a longer term interest in the subject area. <br />

Starts : 2013-08-19
108 votes
Coursera Free Closed [?] Computer Sciences English Computer Science Software Engineering

Behind every mouse click and touch-screen tap, there is a computer program that makes things happen. This course introduces the fundamental building blocks of programming and teaches you how to write fun and useful programs using the Python language.

Starts : 2006-02-01
14 votes
MIT OpenCourseWare (OCW) Free Computer Sciences Electrical Engineering and Computer Science Graduate MIT OpenCourseWare

This course is broad, covering a wide range of topics that have to do with the post-pc era of computing. It is a hands-on project course that also includes some foundational subjects. Students will program iPAQ handheld computers, cell phones (series 60 phones), speech processing, vision, Cricket location systems, GPS, and more. Most of the programming will be using Python®, but Python® can be learned and mastered during the course.

This course was also taught as part of the Singapore-MIT Alliance (SMA) programme as course number SMA 5508 (Pervasive Computing).

No votes
OLI. Carnegie Mellon University Free Computer Sciences Carnegie Mellon University Open Learning Initiative

This course provides an introduction to Python and elementary principles of computing, including iteration, recursion, and binary representation of data. Additional topics on cellular automata, encryption, and the limits of computation are also introduced. The goal of this course is to introduce some of the techniques used in computer science to solve complex problems, with or without a computer. The Python modules are used to introduce and illustrate conditionals and iteration; additional topics are provided without using a specific programming language and can be incorporated into classes that do not use Python.

102 votes
Khan Academy Free Closed [?] Computer Sciences Python Programming

Introduction to programming and computer science. Introduction to Programs Data Types and Variables. Binary Numbers. Python Lists. For Loops in Python. While Loops in Python. Fun with Strings. Writing a Simple Factorial Program. (Python 2). Stepping Through the Factorial Program. Flowchart for the Factorial Program. Python 3 Not Backwards Compatible with Python 2. Defining a Factorial Function. Diagramming What Happens with a Function Call. Recursive Factorial Function. Comparing Iterative and Recursive Factorial Functions. Exercise - Write a Fibonacci Function. Iterative Fibonacci Function Example. Stepping Through Iterative Fibonacci Function. Recursive Fibonacci Example. Stepping Through Recursive Fibonacci Function. Exercise - Write a Sorting Function. Insertion Sort Algorithm. Insertion Sort in Python. Stepping Through Insertion Sort Function. Simpler Insertion Sort Function. Introduction to Programs Data Types and Variables. Binary Numbers. Python Lists. For Loops in Python. While Loops in Python. Fun with Strings. Writing a Simple Factorial Program. (Python 2). Stepping Through the Factorial Program. Flowchart for the Factorial Program. Python 3 Not Backwards Compatible with Python 2. Defining a Factorial Function. Diagramming What Happens with a Function Call. Recursive Factorial Function. Comparing Iterative and Recursive Factorial Functions. Exercise - Write a Fibonacci Function. Iterative Fibonacci Function Example. Stepping Through Iterative Fibonacci Function. Recursive Fibonacci Example. Stepping Through Recursive Fibonacci Function. Exercise - Write a Sorting Function. Insertion Sort Algorithm. Insertion Sort in Python. Stepping Through Insertion Sort Function. Simpler Insertion Sort Function.

102 votes
Udacity Free Closed [?] Computer Sciences Software Engineering

In this class you will learn how to debug programs systematically, how to automate the debugging process and build several automated debugging tools in Python.