Online courses directory (112)
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.
This course will introduce you to the world of data analysis. You'll learn how to go through the entire data analysis process, which includes: * Posing a question * Wrangling your data into a format you can use and fixing any problems with it * Exploring the data, finding patterns in it, and building your intuition about it * Drawing conclusions and/or making predictions * Communicating your findings You'll also learn how to use the Python libraries NumPy, Pandas, and Matplotlib to write code that's cleaner, more concise, and runs faster. This course is part of the [Data Analyst Nanodegree](https://www.udacity.com/course/data-analyst-nanodegree--nd002).
This course is a quick, fun introduction to using a relational database from your code, using examples in Python. You'll learn the basics of SQL (the Structured Query Language) and database design, as well as the Python API for connecting Python code to a database. You'll also learn a bit about protecting your database-backed web apps from common security problems. After taking this course, you'll be able to write code using a database as a backend to store application data reliably and safely.
Spark is rapidly becoming the compute engine of choice for big data. Spark programs are more concise and often run 10-100 times faster than Hadoop MapReduce jobs. As companies realize this, Spark developers are becoming increasingly valued.
This statistics and data analysis course will teach you the basics of working with Spark and will provide you with the necessary foundation for diving deeper into Spark. You’ll learn about Spark’s architecture and programming model, including commonly used APIs. After completing this course, you’ll be able to write and debug basic Spark applications. This course will also explain how to use Spark’s web user interface (UI), how to recognize common coding errors, and how to proactively prevent errors. The focus of this course will be Spark Core and Spark SQL.
This course covers advanced undergraduate-level material. It requires a programming background and experience with Python (or the ability to learn it quickly). All exercises will use PySpark (the Python API for Spark), but previous experience with Spark or distributed computing is NOT required. Students should take pythonquiz.com/" target="_blank">this Python mini-quiz before the course and take PythonBasics" target="_blank">this Python mini-course if they need to learn Python or refresh their Python knowledge.
Organizations use their data for decision support and to build data-intensive products and services, such as recommendation, prediction, and diagnostic systems. The collection of skills required by organizations to support these functions has been grouped under the term Data Science. This course will attempt to articulate the expected output of Data Scientists and then teach students how to use PySpark (part of Apache Spark) to deliver against these expectations. The course assignments include Log Mining, Textual Entity Recognition, Collaborative Filtering exercises that teach students how to manipulate data sets using parallel processing with PySpark.
This course covers advanced undergraduate-level material. It requires a programming background and experience with Python (or the ability to learn it quickly). All exercises will use PySpark (part of Apache Spark), but previous experience with Spark or distributed computing is NOT required. Students should take this pythonquiz.com">Python mini-quiz before the course and take this PythonBasics">Python mini-course if they need to learn Python or refresh their Python knowledge.
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
- why you would want to use C over another language (control over memory, probably for performance reasons),
- why you would want to use C++ rather than C (objects), and
- 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.
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
Students who earn a satisfactory score on 9 problem sets (i.e., programming assignments) and a final project are eligible for a certificate. This is a self-paced course–you may take CS50x on your own schedule.
HarvardX requires individuals who enroll in its courses on edX to abide by the terms of the edX honor code. HarvardX will take appropriate corrective action in response to violations of the edX honor code, which may include dismissal from the HarvardX course; revocation of any certificates received for the HarvardX course; or other remedies as circumstances warrant. No refunds will be issued in the case of corrective action for such violations. Enrollees who are taking HarvardX courses as part of another program will also be governed by the academic policies of those programs.
HarvardX pursues the science of learning. By registering as an online learner in an HX course, you will also participate in research about learning. Read our research statement to learn more.
Harvard University and HarvardX are committed to maintaining a safe and healthy educational and work environment in which no member of the community is excluded from participation in, denied the benefits of, or subjected to discrimination or harassment in our program. All members of the HarvardX community are expected to abide by Harvard policies on nondiscrimination, including sexual harassment, and the edX Terms of Service. If you have any questions or concerns, please contact firstname.lastname@example.org and/or report your experience through the edX contact form.
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.
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.
- 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 OCW Versions
OCW has published multiple versions of this subject.