We may earn an affiliate commission when you visit our partners.
Course image
Eric Grimson, John Guttag, and Ana Bell

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.

Read more

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

What's inside

Learning objectives

  • Plotting with the pylab package
  • Stochastic programming and statistical thinking
  • Monte carlo simulations

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Taught by experienced instructors Grimson, Guttag, and Bell, who are recognized for their work in computer science education and computational problem-solving
Provides hands-on learning through programming exercises and simulations, which strengthens problem-solving skills
Covers advanced Python programming concepts, making it suitable for learners with a basic understanding of the language
Introduces computational techniques like dynamic programming, curve fitting, and statistical fallacies, which are valuable in various fields
Emphasizes stochastic programming and statistical thinking, which are essential for data analysis and predictive modeling
Provides a strong foundation in computational problem-solving, preparing learners for further studies or industry applications

Save this course

Save Introduction to Computational Thinking and Data Science to your list so you can find it easily later:
Save

Reviews summary

Challenging data science intro

Learners say Introduction to Computational Thinking and Data Science is a challenging course with a heavy focus on statistics and machine learning. Students remark that the course is interesting, well-designed, and leaves them feeling stimulated. Many reviews mention the difficulty of the assignments and exams, which may not be suitable for beginners.
This is an intermediate level course.
"Great Python course of intermediate level, that I remember with pleasure."
Excellent support from instructors.
"Excellent support from instructors."
TAs are unhelpful and often delete comments.
"The TAs are very unhelpful and often delete comments if they view them as revealing too much, without responding to questions."
This course is challenging.
"Really good course however it's quite difficult"
"The work is awful."
"The final exam is more difficult than you probably will expect."
Focuses heavily on statistics and machine learning.
"It's quite difficult and there's a heavy focus on statistics and machine learning"
"This course is a second course in CS Foundation XSeries."

Activities

Be better prepared before your course. Deepen your understanding during and after it. Supplement your coursework and achieve mastery of the topics covered in Introduction to Computational Thinking and Data Science with these activities:
Read Introduction to Computation and Programming Using Python
Refresh your Python skills to prepare for the course topics.
Show steps
  • Begin reading Chapter 1
  • Complete Chapter 1 exercises
  • Review and summarize the key concepts of Chapter 1
  • Create a list of any questions you have about the material
Attend Python User Group Meetups
Connect with other Python enthusiasts and learn from their experiences.
Show steps
  • Find local Python user groups
  • Attend meetups and participate in discussions
Python Coding Exercises
Reinforce your Python coding abilities.
Browse courses on Python Coding
Show steps
  • Find online coding exercises or use platforms like HackerRank or LeetCode
  • Practice solving coding problems regularly
  • Review and analyze your solutions to identify areas for improvement
Five other activities
Expand to see all activities and additional details
Show all eight activities
Study Group Discussions
Engage with peers and enhance your understanding through discussions
Show steps
  • Form or join a study group
  • Meet regularly to discuss course materials
  • Solve problems, share perspectives, and support each other's learning
Algorithms and Data Structures Workshop
Deepen your understanding of algorithms and data structures.
Browse courses on Algorithms
Show steps
  • Find and enroll in a workshop
  • Actively participate and ask questions
  • Practice and implement the concepts learned
Data Visualization Dashboard
Enhance your data visualization and dashboard creation skills.
Browse courses on Data Visualization
Show steps
  • Gather data from web or trusted sources
  • Clean and pre-process the data
  • Create data visualizations using libraries like Matplotlib, Plotly, or Seaborn
  • Design and develop an interactive dashboard using Flask and Streamlit
Monte Carlo Simulations Tutorial
Expand your knowledge of Monte Carlo Simulations
Browse courses on Monte Carlo simulations
Show steps
  • Find and follow online tutorials on Monte Carlo Simulations
  • Apply the techniques to solve a practical problem
Blog Entry: Applying Dynamic Programming
Enhance your understanding of dynamic programming and improve your writing and communication skills
Browse courses on Dynamic programming
Show steps
  • Choose a real-world problem that can be solved using Dynamic Programming
  • Research the problem and existing solutions
  • Design and implement a solution using Dynamic Programming in Python
  • Write a blog entry explaining the problem, your solution, and the benefits of using Dynamic Programming

Career center

Learners who complete Introduction to Computational Thinking and Data Science will develop knowledge and skills that may be useful to these careers:
Statistician
Statisticians collect, analyze, and interpret data to provide insights and make predictions. This course is highly relevant to the field as it provides a strong foundation in statistical modeling, data analysis, and probability theory. The course covers topics like plotting with the pylab package, random walks, probability distributions, Monte Carlo simulations, and statistical fallacies. These skills are essential for Statisticians, as they enable them to develop and implement statistical models to solve real-world problems.
Data Visualization Specialist
Data Visualization Specialists use data and analysis to create visual representations of data. This course is highly relevant to the field as it provides a strong foundation in data visualization, programming, and design. The course covers topics like advanced programming in Python 3, plotting with the pylab package, dynamic programming, and statistical fallacies. These skills are essential for Data Visualization Specialists, as they enable them to develop and implement data visualization solutions that effectively communicate insights.
Quantitative Analyst
Quantitative Analysts use mathematical and statistical models to analyze financial data and make investment decisions. This course is highly relevant to the field as it provides a strong foundation in data analysis, statistical modeling, and machine learning. The course covers topics like advanced programming in Python 3, plotting with the pylab package, dynamic programming, random walks, probability distributions, Monte Carlo simulations, and statistical fallacies. These skills are essential for Quantitative Analysts, as they enable them to develop and implement quantitative models for financial analysis.
Actuary
Actuaries use mathematical and statistical techniques to assess risk and uncertainty. This course is highly relevant to the field as it provides a strong foundation in probability, statistics, and financial modeling. The course covers topics like advanced programming in Python 3, plotting with the pylab package, random walks, probability distributions, Monte Carlo simulations, and statistical fallacies. These skills are essential for Actuaries, as they enable them to develop and implement mathematical models to assess risk and uncertainty.
Machine Learning Engineer
Machine Learning Engineers design, develop, and deploy machine learning models to solve real-world problems. This course is highly relevant to the field as it provides a strong foundation in machine learning, programming, and data analysis. The course covers topics like advanced programming in Python 3, plotting with the pylab package, dynamic programming, random walks, probability distributions, Monte Carlo simulations, and statistical fallacies. These skills are essential for Machine Learning Engineers, as they enable them to build and maintain machine learning systems.
Data Scientist
Data Scientists use their expertise in machine learning, statistics, and programming to solve complex business problems. This course is highly relevant to the field as it provides a solid foundation in data analysis, machine learning, and statistical modeling. The course covers topics like advanced programming in Python 3, plotting with the pylab package, dynamic programming, random walks, probability distributions, Monte Carlo simulations, and statistical fallacies. These skills are essential for Data Scientists, as they enable them to develop and implement data-driven solutions.
Data Analyst
Data Analysts use programming, statistical analysis, and machine learning to uncover actionable insights from data. This course is highly relevant to the field as it provides a strong foundation in Python programming, data analysis techniques, and statistical modeling. The course covers topics like advanced programming in Python 3, plotting with the pylab package, random walks, probability distributions, Monte Carlo simulations, and statistical fallacies. These skills are essential for Data Analysts, as they enable them to clean, analyze, and interpret data effectively.
Operations Research Analyst
Operations Research Analysts use mathematical and analytical techniques to solve complex business problems. This course is highly relevant to the field as it provides a strong foundation in optimization, modeling, and simulation. The course covers topics like advanced programming in Python 3, plotting with the pylab package, dynamic programming, and statistical fallacies. These skills are essential for Operations Research Analysts, as they enable them to develop and implement mathematical models to optimize business processes.
Risk Analyst
Risk Analysts use data and analysis to identify and manage risks. This course is highly relevant to the field as it provides a strong foundation in risk management, data analysis, and statistical modeling. The course covers topics like advanced programming in Python 3, plotting with the pylab package, dynamic programming, random walks, probability distributions, Monte Carlo simulations, and statistical fallacies. These skills are essential for Risk Analysts, as they enable them to develop and implement risk management strategies to protect organizations from potential losses.
Cybersecurity Analyst
Cybersecurity Analysts use data and analysis to identify and protect against cyber threats. This course is moderately relevant to the field as it provides a solid foundation in data analysis, programming, and security. The course covers topics like advanced programming in Python 3, plotting with the pylab package, dynamic programming, and statistical fallacies. These skills are helpful for Cybersecurity Analysts, as they enable them to analyze data and develop strategies to protect against cyber threats.
Business Analyst
Business Analysts use data and analysis to identify and solve business problems. This course is moderately relevant to the field as it provides a solid foundation in data analysis, programming, and business intelligence. The course covers topics like advanced programming in Python 3, plotting with the pylab package, dynamic programming, and statistical fallacies. These skills are helpful for Business Analysts, as they enable them to analyze data and develop insights to improve business operations.
Software Engineer
Software Engineers design, develop, and maintain software applications. This course is moderately relevant to the field as it provides a solid foundation in programming, data structures, and algorithms. The course covers topics like advanced programming in Python 3, plotting with the pylab package, dynamic programming, and statistical fallacies. These skills are helpful for Software Engineers, as they enable them to develop and maintain robust software applications.
Financial Analyst
Financial Analysts use financial data and analysis to make investment recommendations and provide financial advice. This course is moderately relevant to the field as it provides a solid foundation in data analysis, statistics, and financial modeling. The course covers topics like advanced programming in Python 3, plotting with the pylab package, dynamic programming, and statistical fallacies. These skills are helpful for Financial Analysts, as they enable them to analyze financial data and develop investment recommendations.
Data Engineer
Data Engineers design, build, and maintain data pipelines to ensure that data is available, reliable, and secure. This course is moderately relevant to the field as it provides a solid foundation in data analysis, programming, and database management. The course covers topics like advanced programming in Python 3, plotting with the pylab package, dynamic programming, and statistical fallacies. These skills are helpful for Data Engineers, as they enable them to develop and maintain data pipelines that meet the needs of the business.
UX Researcher
UX Researchers use data and analysis to improve the user experience of products and services. This course is moderately relevant to the field as it provides a solid foundation in data analysis, programming, and human-computer interaction. The course covers topics like advanced programming in Python 3, plotting with the pylab package, dynamic programming, and statistical fallacies. These skills are helpful for UX Researchers, as they enable them to analyze data and develop insights to improve the user experience.

Reading list

We've selected 14 books that we think will supplement your learning. Use these to develop background knowledge, enrich your coursework, and gain a deeper understanding of the topics covered in Introduction to Computational Thinking and Data Science.
Provides a good overview of pattern recognition and machine learning.
Provides a good overview of Python and computational thinking.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Here are nine courses similar to Introduction to Computational Thinking and Data Science.
Introduction to Computer Science and Programming Using...
Most relevant
Problem Solving, Python Programming, and Video Games
Most relevant
Principles of Computing (Part 2)
Most relevant
Principles of Computing (Part 1)
Developing FPGA-accelerated cloud applications with...
Computational Thinking for Problem Solving
404: Programming Languag
Teaching Computational Thinking
Algorithms, Data Collection, and Starting to Code
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser