Desenvolvimento para internet consiste na criação de sites na rede (web). Esse desenvolvimento contempla o processo de construção e testes de softwares específicos para a web, com a finalidade de se obter um conjunto de programas, que satisfazem as funções pretendidas, quer em termos de usabilidade dos usuários ou compatibilidade com outros programas existentes. O desenvolvimento web pode variar desde simples páginas estáticas a aplicações ricas, comércios eletrônicos ou redes sociais.
De maneira geral, as linguagens de desenvolvimento para internet podem ser divididas em 2 categorias: client-side e as server-side. Estas também podem ser identificadas por front-end, se referindo às linguagens client-side, e back-end se referindo às linguagens server-side.
As linguagens server-side são linguagens que o SERVIDOR entende. Isso quer dizer que permitem escrever um código onde o servidor vai processar e então vai mandar para o seu navegador a resposta. Já as linguagens client-side são linguagens onde apenas o NAVEGADOR vai entender. Quem vai processar essa linguagem não é o servidor, mas o browser.
Por exemplo: se você criar um script em uma linguagem back-end (PHP, Java, Ruby, Python, etc) que apenas calcula a soma de 2 + 2, será o SERVIDOR (ou back, o server) que calculará este resultado. Se fizermos esse cálculo em alguma linguagem front-end, como o JavaScript, quem calculará essa conta é o BROWSER do usuário, por isso o termo client ou front.
Assim, os profissionais que trabalham na interface do usuário são chamados de desenvolvedores front-end, e aqueles que trabalham no core da aplicação, fazendo uma programação que somente o servidor irá entender são chamados de desenvolvedores back-end.
Essas linguagens são linguagens client-side. Apesar de não serem o foco da disciplina, serão contempladas diretamente e indiretamente em todas as fases:
Essas são linguagens server-side, são as linguagens com que os programadores back-end trabalham, sendo o principal foco desta disciplina:
Gamificação é o uso de mecânicas e dinâmicas de jogos para engajar pessoas, resolver problemas e melhorar o aprendizado, motivando ações e comportamentos em ambientes fora do contexto de jogos. Neste sentido, o principal objetivo é aumentar o engajamento e despertar a curiosidade dos usuários e, além dos desafios propostos nos jogos, na gamificação as recompensas também são itens cruciais para o sucesso.
Esta disciplina adota conceitos de Gamificação para as atividades de ensino, como medalhas oferecidas aos jogadores depois de realizarem alguma tarefa e um prêmio para o aluno que conquistar o primeiro lugar no ranking bem como para a avaliação da turma.