Programador Python - curso 124.500 rublos. da GeekBrains, treinamento de 8 meses, Data: 10 de junho de 2023.
Miscelânea / / December 04, 2023
Nos últimos dois anos, a demanda por desenvolvedores Python cresceu 20%. Para dominar uma profissão muito procurada, conhecimento escolar será suficiente para você. Você aprenderá o básico de HTML/CSS e como desenvolver o lado servidor de um site em Python e Django.
Vídeo curso Noções básicas da linguagem Python. 1 mês.
O curso Fundamentos da Linguagem Python é perfeito tanto para programadores experientes que desejam se familiarizar com uma nova ferramenta de desenvolvimento quanto para iniciantes. Iremos desde o básico da programação (variáveis, loops, ramificações) até a construção de programas usando uma abordagem orientada a objetos. Ao longo do curso veremos vários exemplos de uso da linguagem para resolver problemas práticos. Vamos mergulhar no mundo do Python e nos inspirar em sua ideologia e filosofia. O curso usa Python versão 3
Lição 1. Introdução
Lição 2. Introdução ao Python
Lição 3. Análise de uma tarefa prática
Lição 4. Tipos integrados e operações com eles
Lição 5. Análise de uma tarefa prática
Lição 6. Oficina. Jogo "Adivinhe o número"
Lição 7. Análise de uma tarefa prática
Lição 8. Funções
Lição 9. Análise de uma tarefa prática
Lição 10. Módulos e bibliotecas
Lição 11. Análise de uma tarefa prática
Lição 12. Trabalhando com arquivos. Codificações
Lição 13. Análise de uma tarefa prática
Lição 14. Ferramentas úteis. Manipulação de exceção
Lição 15. Análise de uma tarefa prática
Lição 16. Oficina. Gerenciador de arquivos do console
Lição 17. Análise de uma tarefa prática
Eita. Curso básico
Noções básicas de Git
13 vídeos ensinarão o básico sobre como trabalhar com o sistema de controle de versão Git. Você aprenderá por que isso é importante no desenvolvimento moderno. Aprenda os conceitos básicos: repositório, commits, ramificações e tags. Operações de chave mestra: criação e clonagem de um repositório, fusão de ramificações, consulta de histórico de alterações e muito mais. Após o treinamento, você estará pronto para usar o Git para preparar tarefas de casa para cursos de programação em qualquer idioma. Além disso, você ficará mais próximo da entrevista, onde diversas perguntas costumam focar no controle de versão.
Lição 1. Introdução ao Git
Lição 2. Instalando e configurando o Git
Lição 3. Comandos básicos do terminal
Lição 4. Trabalhando com repositórios no Git
Lição 5. Gerenciamento de arquivos de repositório
Lição 6. Histórico de mudanças
Lição 7. Trabalhando com ramificações de repositório
Lição 8. Publicando um repositório
Lição 9. Fusões de filiais
Lição 10. Gerenciamento de versão
Lição 11. Criando uma solicitação pull
Lição 12. Operações complexas
Lição 13. Trabalhando com repositórios Fork
Noções básicas da linguagem Python. 1 mês.
Do básico de programação à construção de programas usando OOP
A linguagem de programação Python é uma ferramenta poderosa para criar programas para uma ampla variedade de finalidades, acessível até mesmo para iniciantes. Pode ser usado para resolver vários tipos de problemas. O curso Python Básico é perfeito tanto para programadores experientes que desejam se familiarizar com uma nova ferramenta de desenvolvimento, quanto para iniciantes. Iremos desde o básico da programação (variáveis, loops, ramificações) até a construção de programas usando uma abordagem orientada a objetos. Ao longo do curso veremos vários exemplos de uso da linguagem para resolver problemas práticos. Vamos mergulhar no mundo do Python e nos inspirar em sua ideologia e filosofia.
Lição 1. Introdução ao Python
A lição contém as informações básicas necessárias para um início bem-sucedido no desenvolvimento em Python, incluindo uma descrição da instalação do interpretador em vários sistemas operacionais e ambientes de desenvolvimento. Também está incluída no curso uma descrição do conceito de digitação dinâmica, características do uso de operações aritméticas e lógicas. Seções separadas da lição são dedicadas a formas de formatar strings, seguir, ramificar e loops. No final há uma lista dos principais erros do desenvolvedor e formas de resolvê-los.
Lição 2. Tipos integrados e operações com eles
Esta lição descreve os principais tipos de dados integrados implementados em Python. O desenvolvedor pode realizar operações em tipos de dados tradicionais, como strings, números e booleanos. Listas, conjuntos, tuplas e dicionários são considerados. Além disso, como parte da lição, nos familiarizaremos com os conceitos do operador ternário e do operador is. Definitivamente abordaremos algumas operações realizadas com dados de tipos básicos e aprenderemos sobre truques que um desenvolvedor pode usar para aumentar a brevidade do código.
Lição 3. Funções
É hora de conhecer o mecanismo de agrupamento de linhas de código em blocos - funções. Eles fornecem a capacidade de reutilizar esses blocos de código em qualquer lugar do programa. As funções podem ser nomeadas ou anônimas, receber parâmetros e retornar um resultado. Um conceito importante nesta lição é o escopo das variáveis. As funções podem ser documentadas para descrever sua finalidade, os parâmetros que aceitam e o resultado que retornam. Finalmente, as funções podem ser integradas ou personalizadas (escritas de forma personalizada).
Lição 4. Ferramentas úteis
A lição é dedicada a ferramentas que tornarão seu código mais conciso e simplificarão a solução de muitos problemas padrão. A lição também descreve os recursos de vários módulos adicionais usados ao escrever algoritmos. São fornecidas as características do mecanismo para iniciar scripts com parâmetros e obter acesso aos parâmetros a partir do código do programa. A utilização das ferramentas apresentadas remete a um estilo de programação mais avançado e aumenta o status do desenvolvedor.
Lição 5. Trabalhando com arquivos
A lição atual discute aspectos do trabalho com arquivos para extrair dados e registrar os resultados do programa. São considerados mecanismos de leitura e gravação de dados e modos de trabalhar com arquivos. Um conceito tão importante como gerenciador de contexto é considerado e são descritos erros comuns ao trabalhar com arquivos. São fornecidos os recursos para determinar a posição do ponteiro em um arquivo, possíveis parâmetros de objetos de arquivo e recursos para implementar a impressão em um arquivo.
Lição 6. Programação orientada a objetos
É hora de se familiarizar com o paradigma de programação mais importante - orientado a objetos programação, que desempenha um papel importante em Python e permite formar a estrutura do programa a partir de componentes separados. Conceitos importantes do paradigma são classe, construtor, atributo, método, instância de classe. Também estão incluídas na lição as propriedades mais importantes da OOP: encapsulamento, herança e polimorfismo. É fornecida uma descrição dos mecanismos de sobrecarga e substituição de métodos.
Lição 7. OP. Nível avançado
Nesta lição, analisaremos as características de implementação da sobrecarga de operadores, ou seja, alteração do mecanismo de operação dos operadores de linguagem por meio de métodos especiais. Além disso, como parte da tarefa atual, nos familiarizaremos com o conceito de substituição de métodos, ou seja, aprenderemos a modificar a lógica dos métodos das classes base. Apresentaremos o conceito de interface e aprenderemos como criar nossos próprios objetos iteradores. No final da lição, aprenderemos para que serve o decorador @property e os recursos mais importantes da implementação do paradigma OOP em Python.
Lição 8. OP. Adições úteis
A oitava lição do curso cobre adições importantes que ampliam os recursos do paradigma OOP em Python, como métodos estáticos e métodos de classe. Além disso, falaremos sobre atributos e métodos integrados inerentes às classes. Nesta lição, também veremos o processo passo a passo de escrever um programa simples baseado no paradigma OOP e aprenderemos como criar nossas próprias exceções. Para encerrar este tutorial, falaremos sobre alguns truques para tornar seu código mais conciso e explorar uma série de bibliotecas úteis.
Fundamentos de bancos de dados relacionais. MySQL. 1,5 meses.
Familiarize-se com a linguagem de consulta SQL. Aprenda a escrever consultas, fazer cálculos e trabalhar com tabelas. Aprenda as principais limitações do SQL. Você trabalhará com MySQL e conhecerá bancos de dados alternativos: MongoDB, Redis, ElasticSearch e ClickHouse.
Lição 1. Seminário on-line. Configurando o ambiente. Comandos DDL
Tipos de bancos de dados. Fundamentos de bancos de dados relacionais. SGBD MySQL. Clientes. Gerenciamento de banco de dados.
Lição 2. Vídeo tutorial. Gerenciamento de banco de dados. Linguagem de consulta SQL
Introdução ao SQL. Tipos de dados. Índices. Operações CRUD
Lição 3. Seminário on-line. Introdução ao design de banco de dados
Projeto de banco de dados.
Lição 4. Seminário on-line. Operações CRUD
Operações CRUD.
Lição 5. Vídeo tutorial. Operadores, filtragem, classificação e limitação. Agregação de dados
Agrupando dados. Funções de agregação. Construções GROUP BY, HAVING e WITH. Operadores. Amostragem condicional e limitada. Funções predefinidas.
Lição 6. Seminário on-line. Operadores, filtragem, classificação e limitação. Agregação de dados
Agrupando dados. Funções de agregação. Construções GROUP BY, HAVING e WITH. Operadores. Amostragem condicional e limitada. Funções predefinidas.
Lição 7. Vídeo tutorial. Consultas complexas
Consultas de múltiplas tabelas. UNIÃO. Consultas aninhadas. JOIN junta-se. Chaves estrangeiras.
Lição 8. Seminário on-line. Consultas complexas
Consultas de múltiplas tabelas. UNIÃO. Consultas aninhadas. JOIN junta-se. Chaves estrangeiras.
Lição 9. Vídeo tutorial. Transações, variáveis, visualizações. Administração. Procedimentos e funções armazenados, gatilhos
Transações. Variáveis. Tabelas temporárias. Expressões preparadas. Representação. Administração. Direitos de uso. Replicação Procedimentos e funções armazenados. Parâmetros e variáveis. Operadores de ramificação e loops. Gatilhos.
Lição 10. Seminário on-line. Transações, variáveis, visualizações. Administração. Procedimentos e funções armazenados, gatilhos
Transações. Variáveis. Tabelas temporárias. Expressões preparadas. Representação. Administração. Direitos de uso. Replicação Procedimentos e funções armazenados. Parâmetros e variáveis. Operadores de ramificação e loops. Gatilhos.
Lição 11. Vídeo tutorial. Otimização de consulta. NoSQL
Tipos de tabelas. Otimização de consulta. Índices. Bancos de dados NoSQL. SGBD orientado a documentos. SGBD colunar. Valor-chave do DBMS. Pesquisa de texto completo do SGBD.
Lição 12. Seminário on-line. Otimização de consulta
Tipos de tabelas. Otimização de consulta. Índices. Bancos de dados NoSQL. SGBD orientado a documentos. SGBD colunar. Valor-chave do DBMS. Pesquisa de texto completo do SGBD.
Algoritmos e estruturas de dados em Python. Curso básico. 1 mês.
Soluções eficientes para problemas de computação
Os alunos irão aprofundar sua base de programação em Python e melhorar seu pensamento algorítmico. O curso ensina você a compreender algoritmos fundamentais e usá-los para resolver problemas práticos. Apresenta métodos de análise de dados em Python e todas as bibliotecas necessárias.
Lição 1. Introdução à algoritmização e implementação de algoritmos simples em Python
Introdução à algoritmização. Resolução de problemas práticos.
Lição 2. Ciclos. Recursão. Funções.
Ciclos – repetição repetida do mesmo tipo de ações. Pesquisa recursiva. Algoritmo de Euclides. A peneira de Eratóstenes é um algoritmo para determinar números primos. Usando funções.
Lição 3. Matrizes. Tuplas. Multidões. Listas.
Conceito de array, tupla, conjunto e listas. Processamento de sequências, matrizes unidimensionais e bidimensionais. Trabalhando com arrays associativos (tabelas de dados). Pesquisa binária por um elemento em uma matriz.
Lição 4. Avaliação empírica de algoritmos em Python
Medições de tempo de execução usando timeit. Analisador.
Lição 5. Coleções. Lista. Fila. Dicionário.
Conceito de coleção. Tipos básicos de coleção. Métodos padrão para trabalhar com coleções. Exemplos de utilização de coleções para resolução de problemas práticos.
Lição 6. Trabalhando com memória dinâmica
Representação de coleções na memória. Gerenciamento de memória.
Lição 7. Algoritmos de classificação
Tipo de bolha. Ordenação rápida. Tipo de casca. Classificando estruturas complexas usando uma chave. Classificação reversa. Classificando usando a função attrgetter.
Lição 8. Árvores. Função hash
Árvores de pesquisa binária. Andando por uma árvore. Função hash.
HTML/CSS. Curso interativo. 1 mês.
HTML/CSS é uma linguagem de marcação de hipertexto, a base para o estudo de linguagens do lado do servidor. Ao aprender HTML, você pode criar uma página da web ou site responsivo. CSS - folhas de estilo em cascata - permitirá que você crie seu site da maneira que desejar. Você poderá assistir ao vídeo-curso em um horário conveniente e, caso tenha alguma dúvida, entre em contato com um mentor que acompanhará seu progresso. O formato incentiva a comunicação e a autodisciplina na aprendizagem. Em um mês você aprenderá: * layout de sites responsivos, * layout cross-browser válido, * layout flexbox, * realizar operações básicas no Figma, * usar pré-processadores SASS e Bootstrap. Sua lição de casa deve ser avaliada antes de você passar para a próxima lição do curso. Isso mostrará que você entendeu a lição anterior e aprenderá facilmente novos conhecimentos. A tarefa pode ser verificada tanto pelo mentor quanto pelos colegas em cujo conhecimento você confia, e receber uma conquista por isso. A cada verificação, o número de conquistas aumenta e a habilidade de trabalhar com o código de outras pessoas aumenta. O nível do certificado final depende do número de conquistas: quanto mais houver, maior será o status. Essa mecânica de jogo torna as aulas ainda mais interessantes.
Lição 1. Conceitos básicos em desenvolvimento web
Introdução, informações introdutórias, configuração do código do visual studio, teclas de atalho, instalação de extensões. Criando um documento HTML Estrutura de um documento HTML. Tipos e atributos de tags Depurador do navegador
Lição 2. Noções básicas da linguagem de marcação de documentos HTML
Listas em html Caracteres especiais e comentários Hiperlinks (locais, absolutos, âncoras) Tipos de imagens para web; Formas e seus elementos. Visualize, edite e procure erros por meio do depurador do navegador
Lição 3. Noções básicas da linguagem de estilo de documentos CSS
Introdução aos estilos Métodos para conectar seletores de estilos Propriedades básicas dos estilos (px,%, plano de fundo, cor, borda) parte 1 Propriedades básicas de estilo (largura, altura, fonte, estilo de lista, texto) Aninhamento, herança e agrupamento propriedades
Lição 4. Tags básicas para layout, pseudoclasses e pseudoelementos
Tags básicas div, span, criação de uma estrutura de bloco Recuos de elementos Elementos de fluxo Pseudoclasses Pseudoelementos Tabelas
Lição 5. Noções básicas de posicionamento, trabalhando com Flexbox
Propriedade de exibição O que é flexbox (layout horizontal e vertical) Ordem de exibição, multilinha, deslocamento de um bloco separado Configuração de tamanhos flexíveis para blocos Posição: relativa e absoluto
Lição 6. Trabalhando com uma maquete de design no formato Figma
O que é layout e quais tipos de layout existem Conhecendo o programa Figma, cortando o layout Determinando os tamanhos dos blocos, criando uma estrutura de blocos Adicionando estilos do layout Criando um site baseado no layout. Parte 1 Criando um site baseado no layout. Parte 2
Lição 7. Noções básicas de criação de um site responsivo
Tamanhos de bloco flexíveis, site responsivo Emulação de dispositivos móveis Consultas de mídia Compressão de rodapé na parte inferior da tela Prática de criação de um site responsivo Prática de criação de um site responsivo parte 2
Lição 8. Padrões da Web e ferramentas de suporte
Ferramentas de desenvolvimento. Parte 1 Fazendo upload de projetos para o servidor Cross-browser Apresentando o Boostrap Apresentando o pré-processador Sass Uso prático do pré-processador Sass
Curso básico de JavaScript. 1 mês.
Aplicações web interativas na ECMASCRIPT 2016
Os alunos aprendem os conceitos básicos de JavaScript, o que torna as páginas da web interativas. Aprenda a criar páginas e aplicativos dinâmicos usando a experiência de codificação HTML. Pratique habilidades de programação JavaScript desenvolvendo minijogos.
Lição 1. Noções básicas da linguagem JavaScript
Sintaxe; estrutura de código; scripts externos e a ordem de sua execução; variáveis e tipos de dados; Olá Mundo; padrões modernos.
Lição 2. Operadores JavaScript básicos
Operadores e operandos; prioridade das operações; declarações condicionais; funções; recursão; oficina; jogo "Adivinhe o número".
Lição 3. Loops, matrizes, estruturas de dados
Loops em JavaScript; matrizes em JavaScript; estruturas de dados; oficina; jogo "Touros e Vacas".
Lição 4. Objetos em JavaScript
Introdução ao conceito de objetos; objetos em JavaScript; trabalhar com objetos; enumeração de valores; oficina; jogo "Missão".
Lição 5. Introdução ao DOM
Conceito de DOM; DOM em JavaScript; Manipulação de DOM em JavaScript; oficina; jogo "Missão 2.0".
Lição 6. Tratamento de eventos em JavaScript
O conceito de evento; processamento de cliques; eventos do navegador; oficina; jogo "Tic Tac Toe".
Lição 7. Aula de oficina
Implementação do jogo “Snake”.
Lição 8. Funções anônimas, encerramentos
Estudo aprofundado de como funcionam as funções; funções e expressões funcionais; funções anônimas; curto circuitos; ações padrão do navegador.
Noções básicas do framework Django. 1 mês.
Criação de site
Durante o curso, os alunos aprenderão como criar um site em Python usando o framework Django. Durante o desenvolvimento prático, os programadores novatos aprenderão a usar os recursos do Django, que acelera a escrita de código e permite traduzir de forma rápida e eficiente uma ideia em um projeto de TI funcional. Ao final do curso, os alunos aprenderão a criar sites seguros, implementar o padrão de design MVC, implementar autorização e registro de usuários, painel de administração e atualização assíncrona de conteúdo. Eles criarão um projeto pessoal e um portfólio.
Lição 1. Conhecendo o framework
Por que você precisa do Django? Pontos fortes da estrutura. Instalação e configuração. Informações gerais sobre a estrutura do projeto. Introdução aos padrões de URL. A primeira página e sua exibição.
Lição 2. Modelo + Contexto = html
Mecanismo de template Django (tags, filtros e herança). Trabalhar com conteúdo estático e links nas páginas. Envio de conteúdo para modelos e carregamento em controladores de fontes externas.
Lição 3. Modelos + ORM = dados
Breve teoria dos bancos de dados. Introdução ao Django-ORM. Conectando e criando um banco de dados. Algumas palavras sobre migrações. Trabalhando com dados. Administrador integrado. Espaços para nome.
Lição 4. Autenticação e registro de usuário
Carregando dados no banco de dados a partir de arquivos. Modelo de usuário. Procedimento de autenticação. Formulários em Django. Mecanismo CRUD ao trabalhar com modelos.
Lição 5. Usuário + produto = carrinho
Execução de consultas usando ORM. Trabalhando com o cardápio. Criando um carrinho.
Lição 6. Carrinho + AJAX + decoradores
Trabalhando com a cesta. Adicionando dinâmica à “oferta quente”. Criando uma página de produto. Restringindo o acesso ao carrinho. AJAX: Fazendo solicitações assíncronas.
Lição 7. Painel de administração próprio
Integração de uma nova aplicação no projeto. Restringindo o acesso ao painel de administração. Implementação do mecanismo CRUD para usuários e categorias de produtos.
Lição 8. Útil: saída de página, filtros de modelo, CBV
Implementação do mecanismo CRUD para produtos. exibição página por página de objetos. CBV: controladores prontos. Filtros de modelo.
Estrutura Django. Ferramentas de otimização. 1 mês.
Desenvolvimento de sites em Python
Continuando a estudar Django, os alunos desenvolverão um projeto pessoal: criar um processador de contexto, adicionar confirmação de cadastro de usuário por email. Eles continuarão a se familiarizar com o mecanismo Django ORM, resolvendo problemas de agregação de dados, consultas complexas, cache e otimizando o trabalho com o banco de dados. Eles aprenderão a usar conjuntos de formulários (fromsets) para criar simultaneamente várias instâncias de um modelo, por exemplo, adicionando várias entradas a uma categoria em uma página no painel de administração. Veremos o mecanismo para vincular arquivos estáticos (CSS, JS) a formulários no Django. Após a conclusão do desenvolvimento, qualquer projeto deve ser testado e implantado em um servidor web de produção - essas questões serão estudadas no curso.
Lição 1. Enviando email. Processadores de contexto
Vamos passar para o Django 2.0. Enviamos uma mensagem com o código de ativação do usuário. Trabalhamos com processadores de contexto usando o exemplo de um carrinho de compras.
Lição 2. Cadastro através de rede social. Django-ORM: comunicação um-para-um
Cadastre-se na loja via VKontakte. Criamos um perfil de usuário e o preenchemos com dados da rede social.
Lição 3. Trabalhando com pedidos de usuários: CBV, Formets Django
Criamos o aplicativoordersapp. Trabalhando com formsets Django usando CBV.
Lição 4. Trabalhando com o pedido de um usuário: atualizando saldos de produtos, adicionando código jQuery
Ajustamos a quantidade de mercadorias ao trabalhar com o carrinho e o pedido. Atualizamos as estatísticas do pedido ao editá-lo. Trabalhando com um conjunto de formulários usando jQuery e Django-dynamic-formset.
Lição 5. Implantando um projeto Django em VPS de REG.RU
Estamos preparando o projeto para implantação. Vamos mudar para o banco de dados PostgreSQL. Simulamos trabalhar com VPS - instalamos e configuramos o servidor Ubuntu Server 17. Vamos implementar a combinação “nginx” + “gunicorn”.
Lição 6. Criação de perfil e teste de carga do projeto, otimização do trabalho com o banco de dados
Vejamos o trabalho do projeto por dentro. Encontrando controladores lentos. Realizamos testes de carga. Otimizamos o trabalho com o banco de dados.
Lição 7. Ainda mais rápido: cache no Django
Decorador “@cached_property”: métodos de modelo de cache. Tag “With” – armazenamos variáveis em cache em modelos. Armazenamos funções em cache, fragmentos de modelos e controladores usando “Memcached”.
Lição 8. Trabalho avançado com Django-ORM. Testando em Django
Trabalhando com atributos de modelo no nível do banco de dados. Objetos "F" e "Q". Implemente lógica complexa usando “Case” e “When”. A classe TestCase é a base dos testes no Django. Teste de fumaça. Testando o aplicativo de autenticação. Teste do controlador.
Aplicativos cliente-servidor em Python. 1 mês.
O curso irá ajudá-lo a dominar os recursos avançados da linguagem Python - uma ferramenta poderosa para criar programas de vários perfis. O desenvolvimento de uma aplicação que forneça gerenciamento de informações desde o projeto até o teste é considerado passo a passo. Os alunos praticarão a escrita de um programa multithread desenvolvendo seu próprio mensageiro.
Lição 1. Conceitos de armazenamento de informações
Recursos de armazenamento de símbolos na memória do computador. Desvantagens da codificação ASCII. Introdução ao Unicode. Unicode em Python 3. Conversão de bytes e strings – conceito e exemplos. Erros de conversão.
Lição 2. Armazenamento de dados de arquivos
Introdução ao armazenamento de dados baseado em arquivo. Use arquivos CSV ao salvar dados. Arquivos JSON como meio de troca de dados. Trabalhar com arquivos YAML ao processar e salvar dados.
Lição 3. Noções básicas de programação de rede
Introdução às redes e seus protocolos. Sockets como base para aplicações de rede. Protocolos de troca no projeto do curso.
Lição 4. Noções básicas de teste
Introdução aos testes. declaração de afirmação. Teste de unidade e módulo unittest.
Lição 5. Exploração madeireira
Registro de eventos e módulo de registro.
Lição 6. Decoradores e continuando trabalhando com a rede
Decorador. Decorador com parâmetro. Programação de rede (continuação).
Lição 7. Selecione módulo, slots
Recursos de uso do módulo select. Slots, sua finalidade e aplicação.
Lição 8. Fluxos
Introdução aos tópicos. Introdução à programação multithread. Módulo de rosqueamento Primitivas de sincronização. Módulo de fila. Módulo de multiprocessamento.
Estágio na GeekBrains. 2 meses.
Em formato de webinar
Durante o estágio, os alunos terão que trabalhar remotamente em um projeto ou startup Open Source. Os alunos serão convidados a escolher entre um conjunto de projetos disponíveis para desenvolvimento. Os alunos aprenderão a trabalhar em equipe, se comunicar com outros desenvolvedores, produtos e gerentes de projetos, designers, estudarão metodologias flexíveis, a estrutura SCRUM e dominarão os princípios trabalho remoto. O resultado do estágio é a capacidade de trabalhar em equipe, a adição de um portfólio e a oportunidade de indicar o trabalho em um projeto como principal experiência de trabalho em seu currículo. O estágio decorre em formato de trabalho remoto a tempo parcial, reuniões semanais de status com o docente em formato webinar.
Lição 1. Conhecendo-se, escolhendo um projeto
Que funções existem no desenvolvimento? Gerente de Produto, Gerente de Projetos, desenvolvedor, designer. O que é MVP. Arquitetura do serviço moderno. Como os desenvolvedores interagem entre si. API REST, soquete da Web. Backend, Frontend, aplicativos móveis. Arquitetura de microsserviços. Noções básicas de trabalho remoto. Inscreva-se em equipes.
Lição 2. Metodologias de desenvolvimento
Revisão de metodologias. Cascata (cascata), Manifesto Ágil, Kanban, Scrum. Onde e para que são usados. Metodologias mistas.
Lição 3. Metodologia SCRUM
Trabalhe usando SCRUM. Planejamento de sprints. Preparação do backlog. Objetivo de sprint. Incremento. Metodologia flexível em condições de trabalho remoto. Rastreadores de tarefas (Trello, Favro)/
Lição 4. Mapeamento de história de usuário
Tipos de tarefas. Decomposição de tarefas. Mapeando histórias de usuários. Trabalhando em histórias de usuários. Trabalhando com especificações técnicas utilizando metodologias cascata e flexíveis.
Lição 5. Responsabilidade, motivação, crescimento pessoal
O que e como se motivar. Quais são os níveis de motivação? Como não se esgotar no trabalho. E como não esquecer do trabalho.
Lição 6. Escrevendo um currículo
Como escrever um currículo para que o RH não o rejeite. Como interessar um empregador. Como demonstrar as habilidades adquiridas em seus estudos se você ainda não possui experiência profissional relevante.
Lição 7. Resumo preliminar, preparação para defesa do projeto
Análise de currículos de alunos. Resumo preliminar. Um pouco sobre startups, monetização, investidores.
Lição 8. Resumindo, demonstrando o projeto final
Demonstração de um protótipo funcional pelos alunos. Discussão dos resultados obtidos. Feedback do professor. Palavras de despedida.