Estou na fase cursos online e grátis e depois do Curso de Ciência da Computação de Harvard estou mais exigente.
Então, hoje trazemos cursos disponibilizados pelo Instituto Tecnológico de Aeronáutica (ITA), o sonho de muitos.
O ITA disponibiliza 10 cursos online, grátis, mas com certificado pago através da plataforma coursera. E atenção porque são 29 dólares cada se você escolher o certificado.
Seria melhor com certificado grátis, mas vamos lá, confira abaixo os 10 cursos.
(Clique o + para expandir.)
Este curso apresenta os principais conceitos do controle de sistemas e mostra suas vantagens e importância para a sociedade moderna. Você vai entender o que é o controle de sistemas e como o controle com realimentação funciona, e passará a perceber a sua presença em diversas situações em seu dia a dia, na natureza, no corpo humano e em diversos dispositivos, desde os mais simples até os mais complexos.
Você vai perceber a necessidade de modelos teóricos para a análise e o projeto do controle de sistemas e aprenderá como verificar se um sistema atende a determinados requisitos de desempenho. Você também aprenderá como projetar um controle simples de modo a obter o melhor desempenho possível de um sistema de controle. Este é apenas o primeiro passo em direção a um vasto campo do conhecimento e lhe dará a base e a segurança necessárias para avançar em seus estudos no maravilhoso mundo do controle de sistemas.
Fonte: Página do Curso
Neste curso você aprenderá a obter a resposta em frequência de um sistema Linear e Invariante no Tempo (LIT) e a usá-la para projetar controladores que atinjam requisitos de reposta transitória e em regime estacionário. Você aprenderá a obter o diagrama de Bode a partir de dados de amplitude e fase de entradas e saídas senoidais. Também será capaz de esboçar o diagrama de Bode de um sistema dada a sua função de transferência. Outrossim, será capaz de representar a resposta em frequência na carta de Nichols-Black.
A fim de se determinar a estabilidade do sistema, você aprenderá a aplicar o critério de Nyquist, que faz uso da resposta em frequência em malha aberta e permite determinar se um sistema será estável em malha fechada. Ao fim do curso, você será capaz de projetar controladores com dinâmica, isto é, com polos e zeros, portanto mais complexos do que um simples ganho de realimentação. Essa flexibilidade permitirá que você projete controladores para satisfazer simultaneamente requisitos de sobressinal e tempo de resposta que seriam impossíveis de atender com um simples ganho. Também poderá com isso alterar as características da resposta em regime estacionário, aumentando as constantes de erro sem alterar (muito) a resposta transitória. Por fim, você aprenderá a projetar controladores do tipo PD, PI e PID, que estão entre os mais disseminados em aplicações de engenharia de controle.
Fonte: Página do Curso
O objetivo deste curso é apresentar o assunto de Controle a Tempo Discreto para sistemas lineares e invariantes no tempo. São apresentadas técnicas para lidar com implementação de controladores por computador, requerendo a consideração da discretização do tempo inerente aos seu uso. A importância dos conhecimentos apresentados nesse curso se justifica pela onipresença de controladores digitais em aplicações atualmente.
O curso é dividido em 4 módulos, resumidamente:
1) Apresentação de modelos para sistemas operando a tempo discreto e critérios para avaliar sua estabilidade.
2) Formas de discretizar aproximadamente uma função de transferência a tempo contínuo e estimação do efeito da discretização na resposta do sistema.
3) Projeto do controlador diretamente em tempo discreto, usando duas abordagens: resposta em frequência e Lugar Geométrico das Raízes (LGR).
4) Projeto do controlador diretamente em tempo discreto, usando o espaço de estados. Ao longo do curso, ferramentas computacionais de projeto de controladores auxiliado por computador são usadas para ilustrar a aplicação das técnicas através de exemplos. Apesar de ser possível concluir o curso prescindindo dessas ferramentas, seu uso é recomendado por dois motivos: facilidade de realizar as operações mais tediosas, liberando mais tempo para focar no conteúdo, e aproximação com o que é feito na prática de projetos no âmbito de atuação do(a) profissional.
Ao final desse curso, o(a) aluno(a) deve ser capaz de adaptar criteriosamente um projeto de controlador feito a tempo contínuo para aplicação em sistemas controlador por computador digital e projetar diretamente um controlador a tempo discreto para o mesmo uso.
O curso é dividido em 4 módulos, resumidamente:
1) Apresentação de modelos para sistemas operando a tempo discreto e critérios para avaliar sua estabilidade.
2) Formas de discretizar aproximadamente uma função de transferência a tempo contínuo e estimação do efeito da discretização na resposta do sistema.
3) Projeto do controlador diretamente em tempo discreto, usando duas abordagens: resposta em frequência e Lugar Geométrico das Raízes (LGR).
4) Projeto do controlador diretamente em tempo discreto, usando o espaço de estados. Ao longo do curso, ferramentas computacionais de projeto de controladores auxiliado por computador são usadas para ilustrar a aplicação das técnicas através de exemplos. Apesar de ser possível concluir o curso prescindindo dessas ferramentas, seu uso é recomendado por dois motivos: facilidade de realizar as operações mais tediosas, liberando mais tempo para focar no conteúdo, e aproximação com o que é feito na prática de projetos no âmbito de atuação do(a) profissional.
Ao final desse curso, o(a) aluno(a) deve ser capaz de adaptar criteriosamente um projeto de controlador feito a tempo contínuo para aplicação em sistemas controlador por computador digital e projetar diretamente um controlador a tempo discreto para o mesmo uso.
Fonte: Página do Curso
Após esse curso você será capaz de esboçar o Lugar Geométrico das Raízes (LGR – Root Locus) do denominador da Função de Transferência em Malha Fechada a partir dos polos e zeros da Função de Transferência em Malha aberta.
Você também será capaz de projetar controladores de avanço de fase para atender simultaneamente requisitos de desempenho de amortecimento e de velocidade da resposta. Você também será capaz de projetar controladores de atraso de fase para atender requisitos de erro em regime permanente sem alterar as características de estabilidade e da resposta transitória do sistema. Você verá que os controladores PD e PI podem ser considerados como casos especiais dos controladores de avanço e de atraso de fase e verá também que você pode combinar os dois tipos de controladores em controladores de avanço e atraso de fase ou em controladores PID.
Por fim, você será capaz de modelar o efeito do atraso de transporte em um sistema com realimentação e de contrapor esse efeito projetando um controlador ou fazendo ajustes em um controlador já projetado. Desse modo dado um sistema linear e invariante no tempo e requisitos de amortecimento, velocidade e erro em regime permanente você será capaz de projetar um controlador que fará com que o sistema em malha fechada atenda simultaneamente a esses três tipos de requisitos. E você aprenderá tudo isso usando o MATLAB, uma ferramenta computacional extremamente útil para a análise, projeto e simulação de sistemas.
Fonte: Página do Curso
Neste curso, assumimos que você já sabe projetar e desenvolver programas mais complexos em Java, graças às boas práticas e princípios exercitados nos cursos anteriores; mas você talvez não se sinta ainda confortável em lidar com cenários mais complexos, onde é difícil desenvolver software com código de qualidade com flexibilidade suficiente para facilitar a implementação de mudanças repentinas de requisitos.
O objetivo deste curso é oferecer a você um aprofundamento em técnicas de programação orientadas a objetos pelo uso de padrões de projeto no contexto de desenvolvimento ágil. Os seguintes conceitos são apresentados neste curso:
• Revisão de conceitos de orientação a objetos: abstração de dados, encapsulamento, herança e polimorfismo
• Reuso por meio de herança: padrões Null Object, Template Method e Factory Method
• Delegando comportamento com composição: padrões Strategy, Bridge, State e Observer
• Composição recursiva: padrões Composite e Chain of Responsibility • Envolvendo objetos: padrões Proxy, Decorator e Adapter • Estratégias para criar objetos: padrões Static Fabric Methods, Singleton e Builder
• Modularidade: padrão Dependency Injection
Ao final deste curso, você terá amadurecido de tal modo suas habilidades de programação que será capaz de implementar partes da aplicação Web final com o componente de gamificação enriquecido constantes do Trabalho de Conclusão da Especialização, aplicando onde apropriado alguns dos padrões apresentados neste curso durante a refatoração na prática TDD.
Fonte: Página do Curso
Neste curso, assumimos que você já sabe projetar e desenvolver programas mais complexos em Java, graças às boas práticas e princípios orientados a objetos e TDD exercitados nos cursos anteriores; mas você talvez não se sinta ainda confortável em projetar programas para Web e com dados armazenados em banco de dados, bem como em aplicar conceitos mais avançados de Java.
O objetivo deste curso é enriquecer sua experiência com conceitos avançados de Java, programação de aplicações Web e acesso a banco de dados no contexto de modelagem ágil.
Os conceitos apresentados neste curso no contexto da programação Java incluem o seguinte: APIs fundamentais do Java: tipos genéricos, reflexão e anotações; expressões lambda do Java 8; aplicação Web com Java: Java Servlets, páginas JSP, padrão MVC e teste de aplicação Web com Selenium; e acesso a banco de dados em Java: JDBC, desenvolvimento de aplicação empresarial e testes com DBUnit.
Ao final deste curso, você terá amadurecido de tal modo suas habilidades de programação que será capaz de implementar de modo ágil uma versão inicial da aplicação Web em associação com o componente de gamificação constantes do Trabalho de Conclusão da Especialização, com base nas boas práticas exercitadas neste curso.
Fonte: Página do Curso
Este curso lhe dará a base necessária para entender técnicas mais avançadas de controle moderno.
Você aprenderá como representar a dinâmica de um sistema no espaço de estados, como analisar um sistema no espaço de estados, como projetar uma realimentação de estado e como projetar um observador de estado. A partir desde conhecimento básico você já será capaz de realizar a análise e o projeto no espaço de estados e poderá avançar em seus estudos no controle moderno.
Fonte: Página do Curso
Neste curso, assumimos que você já sabe projetar e desenvolver programas mais complexos em Java, graças às boas práticas e princípios orientados a objetos, TDD e conceitos avançados de Java aplicados à Web e banco de dados exercitados nos cursos anteriores; mas você talvez não se sinta ainda confortável em planejar e gerenciar o desenvolvimento das aplicações com base em modernas práticas de modelagem ágil.
O objetivo deste curso é expor você às principais técnicas e princípios de desenvolvimento ágil, em especial aos que se popularizaram pela sua utilização no framework Scrum e na metodologia XP (Extreme Programming). Apresentamos o Scrum&XP, uma combinação apropriada do framework Scrum com a metodologia XP – Extreme Programming, sem no entanto afirmar que você estará aprendendo tudo sobre Scrum ou sobre XP.
Os conceitos apresentados neste curso incluem o seguinte:
- Manifesto ágil e princípios de desenvolvimento ágil
- Requisitos de software na forma de user stories e backlog de produto
- Eventos e reuniões do Scrum&XP: Sprint, Sprint Planning, Planning Poker, Daily Scrum, Sprint Review e Sprint Retrospective, TDD e Programação em Pares
- Papéis do Scrum: Product Owner, Time de Desenvolvedores e Scrum Master
- Tarefas, Sprint Backlog, Quadro de Tarefas e Diagrama Burndown
Ao final deste curso, você terá amadurecido de tal modo suas habilidades de programação que será capaz de implementar de modo ágil um sistema que incorpora um componente de gamificação constante do Trabalho de Conclusão do Programa de Cursos Integrados, com base nas boas práticas ágeis exercitadas neste curso com o Scrum&XP apresentado.
Obs.: Embora o Programa de Cursos Integrados (descrito abaixo) seja sobre a linguagem Java no contexto de desenvolvimento ágil, neste curso em especial você poderá empregar a linguagem que desejar, embora incentivemos que os alunos dos cursos anteriores do programa faça uso do Java, pois será uma oportunidade muito enriquecedora de praticar TDD com Java da maneira que se faz na indústria de software.
— — —- coursera.org: ITA
Programa de Cursos Integrados:
Programação Java e Modelagem Ágil Curso
- Orientação a Objetos com Java Curso
- TDD – Desenvolvimento de Software Guiado por Testes Curso
- Desenvolvimento Ágil com Java Avançado Curso
- Princípios de Desenvolvimento Ágil de Software Curso
- Desenvolvimento Ágil com Padrões de Projeto Curso
- Técnicas Avançadas para Projeto de Software Curso
- Arquitetura de Software em Projetos Ágeis Projeto Final: Aplicativo para Web com Componente Gamificado
Fonte: Página do Curso
Neste curso, assumimos que você já sabe projetar e desenvolver programas mais complexos em Java, com método e organização graças às boas práticas e princípios exercitados no curso anterior; mas você talvez não se sinta ainda confortável em projetar programas usando técnicas ágeis, como o desenvolvimento guiado por testes (TDD).
O objetivo deste curso é expor você aos princípios e práticas de desenvolvimento guiado por testes, tanto para modelar quanto para desenvolver aplicações e componentes de software, sem abandonar os conceitos e princípios de orientação a objetos aprendidos no curso anterior. De fato, pregamos que tais conceitos e princípios fortalecem o emprego do TDD no desenvolvimento ágil de software com mais qualidade. Este curso terá um grande foco em atividades hands-on, permitindo a você captar todos os aspectos práticos da técnica e facilitar a sua aplicação quando estiver projetando e desenvolvendo software de maneira ágil nos próximos cursos.
Os conceitos de desenvolvimento de software com Java apresentados neste curso incluem o seguinte: revisão de testes de unidade; automação de testes; desenvolvimento guiado por testes; ciclo do TDD; refatoração de código de produção; ciclo de refatoração; uso de objetos stubs e mocks; boas práticas no TDD; modelagem de software por meio do TDD.
Ao final deste curso, você terá amadurecido de tal modo suas habilidades de programação que será capaz de implementar, agora usando o TDD, versões modificadas e estendidas do componente de gamificação constante do Trabalho de Conclusão da Especialização, com base nas boas práticas exercitadas neste curso.
Fonte: Página do Curso
Neste curso, assumimos que você já sabe desenvolver programas pequenos em Java, mas você talvez não se sinta ainda confortável em projetar programas mais complexos com método e organização.
O objetivo deste curso é fazer você compreender os princípios de orientação a objetos por meio da linguagem Java e saber como eficientemente aplicar esses princípios na prática quando projetando e desenvolvendo software de maneira ágil. Os conceitos discutidos e experimentados por você neste curso serão a base para você poder compreender os novos conceitos apresentados nos cursos seguintes desta especialização.
Os conceitos Java apresentados neste curso incluem o seguinte: revisão de conceitos básicos de orientação a objetos, tais como classes, objetos, métodos e atributos, variáveis de instância e de classe; responsabilidades, colaborações e cartões CRC; testes de unidade, uso de plataforma IDE como o Eclipse; herança, classes concretas e abstratas, interfaces, modificadores de acesso, encapsulamento, métodos de acesso; aprofundamento nos conceitos de polimorfismo, sobrecarga e sobreposição; associação de classes, agregação e composição; exceções, delegação e acoplamento abstrato. Em seguida, vocês serão apresentados aos principais princípios usados para organizar o desenvolvimento de programas orientados a objetos com qualidade, dentre os quais, os princípios “Tell, Don’t Ask!” e “Law of Demeter”. Sempre que conveniente, cada conceito será representado por meio de diagramas UML. Você será exposto a propriedades e anotações em Java.
Ao final deste curso, você terá amadurecido de tal modo suas habilidades de programação que você será capaz de implementar versões iniciais do componente de gamificação constante do Trabalho de Conclusão da Especialização, com base nas boas práticas exercitadas neste curso.
Habilidades que você terá:
- Unit Testing
- Interfaces
- Law Of Demeter
- Java Programming
Fonte: Página do Curso
Não me inscrevi nesse porque me inscrevi no de Harvard, então não tenho como mostrar neste post a plataforma ou falar dos cursos, se você se inscreveu comente abaixo, conte para a gente.
Uma canceriana que não vive sem café, 100% viciada no seu smartphone e quando não está dormindo está conectada. Sonha em ter uma casa no campo (com internet) onde possa plantar os seus games, livros, séries, filmes, animes, mangás e ok seus amigos também.