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

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

Esta é a segunda parte do curso avançado de Programação Orientada a Objetos oferecido pelo Departamento de Ciência da Computação do IME-USP. O curso é voltado para profissionais ou estudantes interessados em Desenvolvimento de Software Avançado e que já dominam uma linguagem de programação e já conhecem os fundamentos básicos da orientação a objetos.

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

Nesta segunda parte do curso, aprenderemos mais padrões de projeto, os princípios SOLID, o que são arcabouços (frameworks), injeção de dependências, veremos aplicações de padrões em sistemas reais e discutiremos desafios para a OO no futuro.
Ao final do curso, o estudante será capaz de refletir sobre aspectos avançados de arquitetura de software e conhecerá técnicas para desenvolver sistemas de qualidade. Com esse curso, você poderá começar a construir um espaço diferenciado entre os profissionais do Desenvolvimento de Software, tanto trabalhando no meio empresarial quanto na academia.
Nós nos divertimos bastante (e suamos um pouquinho) para montar esse curso prá você! Espero que você também se divirta bastante (e sue um pouquinho :-) para cursá-lo!
Fabio Kon e a equipe de Ciência da Computação do IME-USP

Syllabus

WEEK 1: Bem-vindo à segunda parte do curso de Laboratório de Programação Orientada a Objetos! Vamos começar a segunda parte vendo 3 padrões de projeto nesta semana: Decorator, Template Method e Façade.
WEEK 2: Semana 2
WEEK 3: Semana 3
WEEK 4: Semana 4
WEEK 5: Semana 5

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

Related Courses

Introduction to Open Source Application Development (Coursera) Coursera
Illinois Tech

Introduction to Open Source Application Development (Coursera)

This course introduces basic concepts of systems programming using a modern open source language. You will learn to apply basic programming concepts toward solving problems, writing pseudocode, working with and effectively using basic data types, abstract data types, control structures, code modularization and arrays. You will learn to detect errors, work with variables and loops, and discover how functions, methods, and operators work with different data types. You will also be introduced to the object paradigm including classes, inheritance, and polymorphism.

Aug 17th 2026
5-12 Weeks
Applied Text Mining in Python (Coursera) Coursera
University of Michigan

Applied Text Mining in Python (Coursera)

This course will introduce the learner to text mining and text manipulation basics. The course begins with an understanding of how text is handled by python, the structure of text both to the machine and to humans, and an overview of the nltk framework for manipulating text. The second week focuses on common manipulation needs, including regular expressions (searching for text), cleaning text, and preparing text for use by machine learning processes. The third week will apply basic natural language processing methods to text, and demonstrate how text classification is accomplished. The final week will explore more advanced methods for detecting the topics in documents and grouping them by similarity (topic modelling).

Aug 17th 2026
4 Weeks
Learn JavaScript (Coursera) Coursera
Scrimba

Learn JavaScript (Coursera)

This is perhaps the most interactive JavaScript course ever recorded. It contains 140+ coding challenges, meaning that you will finally build that ever-so-important JavaScript muscle memory. You will solve the challenges directly in the browser thanks to Scrimba's interactive video technology, so there's not setup needed. Say goodbye to "tutorial hell" and get ready to start feeling your JavaScript superpowers grow exponentially.

Aug 17th 2026
4 Weeks
Persistent Memory Technology - Introduction and Deployment (Coursera) Coursera
EDUCBA

Persistent Memory Technology - Introduction and Deployment (Coursera)

Embark on a dynamic learning journey through this course. In the first module, explore the intricacies of Persistent Memory (PMEM), unraveling its fundamental concepts, characteristics, and operating system support. Transition seamlessly into the second module, mastering transactional concepts, optimizing hardware configurations, and discerning between volatile and persistent libraries. In the final module, dive into advanced programming with libpmemobj, overcoming C++ Standard limitations, and applying insights to real-world scenarios like building a phonebook.

Aug 17th 2026
3 Weeks
Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera) Coursera
Hebrew University of Jerusalem

Build a Modern Computer from First Principles: Nand to Tetris Part II (project-centered course) (Coursera)

In this project-centered course you will build a modern software hierarchy, designed to enable the translation and execution of object-based, high-level languages on a bare-bone computer hardware platform. In particular, you will implement a virtual machine and a compiler for a simple, Java-like programming language, and you will develop a basic operating system that closes gaps between the high-level language and the underlying hardware platform.

Aug 17th 2026
5-12 Weeks
Computer Science: Algorithms, Theory, and Machines (Coursera) Coursera
Princeton University

Computer Science: Algorithms, Theory, and Machines (Coursera)

This course introduces the broader discipline of computer science to people having basic familiarity with Java programming. It covers the second half of our book Computer Science: An Interdisciplinary Approach (the first half is covered in our Coursera course Computer Science: Programming with a Purpose, to be released in the fall of 2018). Our intent is to demystify computation and to build awareness about the substantial intellectual underpinnings and rich history of the field of computer science.

Aug 10th 2026
5-12 Weeks