Informações sobre o curso
84,112 visualizações recentes

100% online

Comece imediatamente e aprenda em seu próprio cronograma.

Prazos flexíveis

Redefinir os prazos de acordo com sua programação.

Nível iniciante

Aprox. 35 horas para completar

Sugerido: 4 weeks, 6-8 hours/week...


Legendas: Inglês

Habilidades que você terá

Simple AlgorithmPython ProgrammingProblem SolvingComputation

100% online

Comece imediatamente e aprenda em seu próprio cronograma.

Prazos flexíveis

Redefinir os prazos de acordo com sua programação.

Nível iniciante

Aprox. 35 horas para completar

Sugerido: 4 weeks, 6-8 hours/week...


Legendas: Inglês

Programa - O que você aprenderá com este curso

3 horas para concluir

Pillars of Computational Thinking

Computational thinking is an approach to solving problems using concepts and ideas from computer science, and expressing solutions to those problems so that they can be run on a computer. As computing becomes more and more prevalent in all aspects of modern society -- not just in software development and engineering, but in business, the humanities, and even everyday life -- understanding how to use computational thinking to solve real-world problems is a key skill in the 21st century. Computational thinking is built on four pillars: decomposition, pattern recognition, data representation and abstraction, and algorithms. This module introduces you to the four pillars of computational thinking and shows how they can be applied as part of the problem solving process.

6 vídeos ((Total 44 mín.)), 6 testes
6 videos
1.2 Decomposition6min
1.3 Pattern Recognition5min
1.4 Data Representation and Abstraction7min
1.5 Algorithms8min
1.6 Case Studies11min
4 exercícios práticos
1.2 Decomposition10min
1.3 Pattern Recognition10min
1.4 Data Representation and Abstraction15min
1.5 Algorithms15min
4 horas para concluir

Expressing and Analyzing Algorithms

When we use computational thinking to solve a problem, what we’re really doing is developing an algorithm: a step-by-step series of instructions. Whether it’s a small task like scheduling meetings, or a large task like mapping the planet, the ability to develop and describe algorithms is crucial to the problem-solving process based on computational thinking. This module will introduce you to some common algorithms, as well as some general approaches to developing algorithms yourself. These approaches will be useful when you're looking not just for any answer to a problem, but the best answer. After completing this module, you will be able to evaluate an algorithm and analyze how its performance is affected by the size of the input so that you can choose the best algorithm for the problem you’re trying to solve.

7 vídeos ((Total 69 mín.)), 10 testes
7 videos
2.2 Linear Search5min
2.3 Algorithmic Complexity8min
2.4 Binary Search11min
2.5 Brute Force Algorithms13min
2.6 Greedy Algorithms9min
2.7 Case Studies12min
6 exercícios práticos
2.1 Finding the Largest Value10min
2.2 Linear Search10min
2.3 Algorithmic Complexity10min
2.4 Binary Search10min
2.5 Brute Force Algorithms15min
2.6 Greedy Algorithms10min
4 horas para concluir

Fundamental Operations of a Modern Computer

Computational thinking is a problem-solving process in which the last step is expressing the solution so that it can be executed on a computer. However, before we are able to write a program to implement an algorithm, we must understand what the computer is capable of doing -- in particular, how it executes instructions and how it uses data. This module describes the inner workings of a modern computer and its fundamental operations. Then it introduces you to a way of expressing algorithms known as pseudocode, which will help you implement your solution using a programming language.

6 vídeos ((Total 46 mín.)), 10 testes
6 videos
3.2 Intro to the von Neumann Architecture8min
3.3 von Neumann Architecture Data6min
3.4 von Neumann Architecture Control Flow5min
3.5 Expressing Algorithms in Pseudocode8min
3.6 Case Studies10min
5 exercícios práticos
3.1 A History of the Computer10min
3.2 Intro to the von Neumann Architecture10min
3.3 von Neumann Architecture Data10min
3.4 von Neumann Architecture Control Flow10min
3.5 Expressing Algorithms in Pseudocode10min
7 horas para concluir

Applied Computational Thinking Using Python

Writing a program is the last step of the computational thinking process. It’s the act of expressing an algorithm using a syntax that the computer can understand. This module introduces you to the Python programming language and its core features. Even if you have never written a program before -- or never even considered it -- after completing this module, you will be able to write simple Python programs that allow you to express your algorithms to a computer as part of a problem-solving process based on computational thinking.

9 vídeos ((Total 91 mín.)), 12 leituras, 12 testes
9 videos
4.2 Variables13min
4.3 Conditional Statements8min
4.4 Lists7min
4.5 Iteration14min
4.6 Functions10min
4.7 Classes and Objects9min
4.8 Case Studies11min
4.9 Course Conclusion8min
12 leituras
Programming on the Coursera Platform10min
Python Playground
Variables Programming Activity20min
Solution to Variables Programming Activity10min
Conditionals Programming Activity20min
Solution to Conditionals Programming Activity10min
Solution to Lists Programming Assignment5min
Solution to Loops Programming Assignment10min
Solution to Functions Programming Assignment10min
Solution to Challenge Programming Assignment10min
Solution to Classes and Objects Programming Assignment10min
Solution to Project Part 410min
12 exercícios práticos
4.2 Variables10min
4.3 Conditional Statements5min
4.4 Lists10min
Lists Programming Assignment15min
4.5 Iteration10min
Loops Programming Assignment30min
4.6 Functions10min
Functions Programming Assignment20min
(Optional) Challenge Programming Assignment20min
4.7 Classes and Objects10min
Classes and Objects Programming Assignment20min
Project Part 4: Implementing the Solution in Python25min
84 avaliaçõesChevron Right


comecei uma nova carreira após concluir estes cursos


consegui um benefício significativo de carreira com este curso

Principais avaliações do Computational Thinking for Problem Solving

por JDec 19th 2018

Excellent course for beginners with enough depth, programming and computational theory to increase their computer science knowledge to a higher level. It builds a good foundation of how computers work

por AAFeb 4th 2019

The course is very well-designed and it helped me develop understand how to apply computational thinking in solving various types of problems as well as acquire basic skills of programming in Python.



Susan Davidson

Weiss Professor
Computer & Information Science

Chris Murphy

Associate Professor of Practice
Computer & Information Science

Sobre Universidade da Pensilvânia

The University of Pennsylvania (commonly referred to as Penn) is a private university, located in Philadelphia, Pennsylvania, United States. A member of the Ivy League, Penn is the fourth-oldest institution of higher education in the United States, and considers itself to be the first university in the United States with both undergraduate and graduate studies. ...

Perguntas Frequentes – FAQ

  • Ao se inscrever para um Certificado, você terá acesso a todos os vídeos, testes e tarefas de programação (se aplicável). Tarefas avaliadas pelos colegas apenas podem ser enviadas e avaliadas após o início da sessão. Caso escolha explorar o curso sem adquiri-lo, talvez você não consiga acessar certas tarefas.

  • Quando você adquire o Certificado, ganha acesso a todo o material do curso, incluindo avaliações com nota atribuída. Após concluir o curso, seu Certificado eletrônico será adicionado à sua página de Participações e você poderá imprimi-lo ou adicioná-lo ao seu perfil no LinkedIn. Se quiser apenas ler e assistir o conteúdo do curso, você poderá frequentá-lo como ouvinte sem custo.

  • No, definitely not! This course is intended for anyone who has an interest in approaching problems more systematically, developing more efficient solutions, and understanding how computers can be used in the problem solving process. No prior computer science or programming experience is required.

  • Some parts of the course assume familiarity with basic algebra, trigonometry, mathematical functions, exponents, and logarithms. If you don’t remember those concepts or never learned them, don’t worry! As long as you’re comfortable with multiplication, you should still be able to follow along. For everything else, we’ll provide links to references that you can use as a refresher or as supplemental material.

  • This course will help you discover whether you have an aptitude for computational thinking. This is a useful predictor of success in the Master of Computer and Information Technology program at the University of Pennsylvania, which is offered both on-campus and online. In this course you will learn from MCIT instructors and become familiar with the quality and style of MCIT Online courses.

    If you have a bachelor's degree and are interested in learning more about computational thinking, we encourage you to apply to MCIT On-campus ( or MCIT Online ( Please mention that you have completed this course in the application.

  • Use these links to learn more about MCIT:

    MCIT On-campus:

    MCIT Online:

Mais dúvidas? Visite o Central de Ajuda ao Aprendiz.