YoVDO

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

Offered By: Universidade de São Paulo via Coursera

Tags

Programming Courses Python Courses Java Courses Object-oriented programming Courses Code Quality Courses Abstract Classes Courses

Course Description

Overview

Estamos muito felizes de lançar agora este curso que 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. Se você ainda não sabe programar, deve começar por este outro curso: https://www.coursera.org/learn/ciencia-computacao-python-conceitos 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ê! Se tiver alguma dúvida, escreva no fórum! Fabio Kon e equipe do IME-USP

Syllabus

  • Semana 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!
  • Semana 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.
  • Semana 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.
  • Semana 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.
  • Semana 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.
  • Semana 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.

Taught by

Fabio Kon

Tags

Related Courses

Mastering Programming with MATLAB
Vanderbilt University via Coursera
Advanced R Programming
Johns Hopkins University via Coursera
Application Programming Fundamentals
LearnQuest via Coursera
Aprendiendo Python con circuitos digitales
Coursera Project Network via Coursera
Basics in computer vision
Higher School of Economics via Coursera