Laboratório de Programação Orientada a Objetos - Parte 1 (Coursera)

Laboratório de Programação Orientada a Objetos - Parte 1 (Coursera)

Este curso apresenta os conceitos mais importantes em torno do paradigma de desenvolvimento mais comum da indústria de software hoje: a Programação Orientação a Objetos (POO).

Oferecido pelo Departamento de Ciência da Computação do Instituto de Matemática e Estatística da USP, o curso é voltado para quem já conhece os conceitos básicos de POO e quer se aprofundar no assunto, tornando-se um excelente programador. Ele funciona bem como uma sequência natural aos 2 cursos anteriores do Prof. Fabio Kon do IME-USP no coursera: Introdução à Ciência da Computação com Python.

Class Deals by MOOC List - Click here and see Coursera's Active Discounts, Deals, and Promo Codes.

Se você ainda não sabe programar, deve começar por este outro curso: Introdução à Ciência da Computação com Python Parte 1

Mas, se você já sabe programar em outra linguagem confortavelmente, pode vir direto para este curso sem grandes dificuldades. A maior parte dos exemplos de código serão em Java e Python e apresentamos uma pequena visão geral dessas linguagens no início do curso.

O curso é dividido em duas partes de aproximadamente 6 semanas cada. Nesta Parte 1, os tópicos cobertos são:
(1) Recapitulação dos conceitos básicos de POO
(2) UML (Linguagem Unificada de Modelagem OO)
(3) Linguagens interpretadas vs. compiladas
(4) Orientação a Objetos em Java e em Python
(5) Qualidade de Código e Boas Práticas de Programação OO
(6) Bugs, depuração e testes
(7) Linguagens dinâmicas vs. estáticas
(8) Classes abstratas e interfaces
(9) Coleções de Objetos
(10) Polimorfismo
(11) Tratamento de Exceções
(12) Streams (Fluxos de dados)
(13) Padrões de Projeto (Design Patterns) - Estratégia, Adaptador, Singleton, Método Fábrica, Fábrica Abstrata, Protótipo, Estado
(14) Model-View-Controller (MVC)
Matricule-se!
Estamos esperando por você!

Syllabus

WEEK 1
Recapitulação de Orientação a Objetos
Seja bem-vindo ao curso! Nesta primeira semana, vamos apresentar a ideia geral do curso, recapitular os conceitos básicos de Orientação a Objetos (OO), apresentar a linguagem UML de modelagem de sistemas OO e discutir a diferença entre linguagens compiladas, interpretadas e híbridas.
Caso você tenha alguma dúvida ou queira discutir algum assunto de OO, não deixe de postar sua mensagem no Fórum de discussão!

WEEK 2
Nesta semana, vamos iniciar aprendendo a sintaxe das linguagens Java e Python para orientação a objetos. A maioria dos exemplos de código deste curso serão em Java e Python, portanto, você deve ser capaz de compreender código escrito em ambas as linguagens. Caso você já tenha feito o nosso curso anterior do Coursera "Introdução à Ciência da Computação com Python", você já conhece bem a sintaxe de Python e pode pular, sem problema, os dois vídeos de OO em Python. Caso você já conheça bem Java, pode pular o vídeo de introdução à Java e ir diretamente para o Quiz correspondente. Se tiver alguma dúvida, pode postá-la no fórum de discussão.

WEEK 3
Nesta semana, vamos falar de conceitos importantes de Orientação a Objetos como Polimorfismo, Classes Abstratas, Interfaces e Coleções de objetos. Além disso, vamos também pontuar as principais diferenças entre linguagens dinâmicas e estáticas e suas principais características. Se tiver alguma dúvida, pode postá-la no fórum de discussão.

WEEK 4
Nesta semana, aprenderemos dois mecanismos úteis em linguagens orientadas a objetos: Tratamento de Exceções e Streams (Fluxos de Dados). Se tiver alguma dúvida, não se esqueça de postá-la no fórum de discussão.

WEEK 5
Os Padrões de Projeto de Software Orientado a Objetos (Design Patterns) são uma ferramenta poderosa para a transmissão de conhecimento em desenvolvimento de software. Nesta semana, aprenderemos o que são esses padrões e começaremos a ver alguns exemplos deles.

WEEK 6
Nesta semana aprenderemos os padrões de projeto Protótipo e Estado. Além disso, veremos um outro tipo de padrão: os Padrões Arquiteturais; neste caso o padrão arquitetural que estudaremos é o Model-View-Controller (MVC) que é muito usado na indústria de software.

Go to Class
MOOC List is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Related Courses

Understanding and Applying Text Embeddings (Coursera) Coursera
DeepLearning.AI

Understanding and Applying Text Embeddings (Coursera)

The Vertex AI Text-Embeddings API enhances the process of generating text embeddings. These text embeddings, which are numerical representations of text, play a pivotal role in many tasks involving the identification of similar items, like Google searches, online shopping recommendations, and personalized music suggestions.

Nov 9th 2026
1 Week
Introducción a Java (Coursera) Coursera
Universidad Nacional Autónoma de México

Introducción a Java (Coursera)

Me llamo Elisa Viso y una de mis pasiones es la de programar y enseñar a programar. El lenguaje Java es uno de los que más me ha gustado en mis 45 años que llevo programando. Si bien te podrá parecer un poco complicado empezar a programar en Java, una vez que cubras los conceptos básicos verás qué rápido se avanza. Java, como todos los lenguajes de programación bien hechos, te dejan hacer cualquier cosa (algunas de ellas con más trabajo que en otros lenguajes y otras casi directamente de cómo piensas la solución al problema).

Nov 2nd 2026
5-12 Weeks
Estruturas de dados Python (Coursera) Coursera
University of Michigan

Estruturas de dados Python (Coursera)

Este curso apresentará as estruturas de dados centrais da linguagem de programação Python. Vamos superar os fundamentos da programação de procedimentos e explorar como podemos usar as estruturas de dados integradas do Python, como listas, dicionários e tuplas, para realizar análises de dados cada vez mais complexas. Este curso cobrirá os capítulos 6 a 10 do livro “Python para Todos”. Este curso aborda o Python 3.

Nov 2nd 2026
5-12 Weeks
Machine Learning Rapid Prototyping with IBM Watson Studio (Coursera) Coursera
IBM

Machine Learning Rapid Prototyping with IBM Watson Studio (Coursera)

An emerging trend in AI is the availability of technologies in which automation is used to select a best-fit model, perform feature engineering and improve model performance via hyperparameter optimization. This automation will provide rapid-prototyping of models and allow the Data Scientist to focus their efforts on applying domain knowledge to fine-tune models. This course will take the learner through the creation of an end-to-end automated pipeline built by Watson Studio’s AutoAI experiment tool, explaining the underlying technology at work as developed by IBM Research.

Nov 9th 2026
4 Weeks
Python and Statistics for Financial Analysis (Coursera) Coursera
The Hong Kong University of Science and Technology - HKUST

Python and Statistics for Financial Analysis (Coursera)

Python is now becoming the number 1 programming language for data science. Due to python’s simplicity and high readability, it is gaining its importance in the financial industry. The course combines both python coding and statistical concepts and applies into analyzing financial data, such as stock data.

Nov 2nd 2026
4 Weeks
Algorithmic Thinking (Part 1) (Coursera) Coursera
Rice University

Algorithmic Thinking (Part 1) (Coursera)

Experienced Computer Scientists analyze and solve computational problems at a level of abstraction that is beyond that of any particular programming language. This two-part class is designed to train students in the mathematical concepts and process of "Algorithmic Thinking", allowing them to build simpler, more efficient solutions to computational problems.

Nov 2nd 2026
4 Weeks
Data Science in Stratified Healthcare and Precision Medicine (Coursera) Coursera
University of Edinburgh

Data Science in Stratified Healthcare and Precision Medicine (Coursera)

An increasing volume of data is becoming available in biomedicine and healthcare, from genomic data, to electronic patient records and data collected by wearable devices. Recent advances in data science are transforming the life sciences, leading to precision medicine and stratified healthcare. In this course, you will learn about some of the different types of data and computational methods involved in stratified healthcare and precision medicine.

Nov 2nd 2026
5-12 Weeks
An Introduction to Interactive Programming in Python (Part 1) (Coursera) Coursera
Rice University

An Introduction to Interactive Programming in Python (Part 1) (Coursera)

This two-part course is designed to help students with very little or no computing background learn the basics of building simple interactive applications. Our language of choice, Python, is an easy-to learn, high-level computer language that is used in many of the computational courses offered on Coursera. To make learning Python easy, we have developed a new browser-based programming environment that makes developing interactive applications in Python simple.

Nov 2nd 2026
5-12 Weeks
Foundations of Data Science: K-Means Clustering in Python (Coursera) Coursera
University of London,Goldsmiths, University of London

Foundations of Data Science: K-Means Clustering in Python (Coursera)

This MOOC, designed by an academic team from Goldsmiths, University of London, will quickly introduce you to the core concepts of Data Science to prepare you for intermediate and advanced Data Science courses. It focuses on the basic mathematics, statistics and programming skills that are necessary for typical data analysis tasks.

Nov 2nd 2026
5-12 Weeks
Gen AI for Code Generation for Python (Coursera) Coursera
Edureka

Gen AI for Code Generation for Python (Coursera)

Welcome to the 'Gen AI for Code Generation for Python' course, where you'll embark on a journey to explore and develop your skills in the art of code generation with Generative AI. Throughout this short course, you will delve into various techniques for generating Python code effortlessly, ranging from simple scripts to complete end-to-end projects.

Nov 9th 2026
1 Week