Programação WEB

Conhecimentos de Base Recomendados

Algoritmia, Programação e Programação Orientada aos Objectos; Base de Dados; Conhecimentos de HTML, Javascript e CSS

Métodos de Ensino

Aulas teóricas: exposição teórica em Português da matéria com resolução de exercícios.
Aulas práticas: Os alunos realizam exercícios práticos no computador.
Os estudantes têm à sua disposição na plataforma moodle da escola informação, apontamentos e folhas de exercícios.
Modelos de relatórios estão à disposição dos estudantes.
Cada docente tem disponíveis 6 horas semanais de atendimento para esclarecimento de dúvidas.
Os alunos também podem contactar os docentes por email.

Resultados de Aprendizagem

Conhecimento e Compreensão
A.1. Conhecer algumas das tecnologias utilizadas para um desenvolvimento hibrido na implementação de websites e de aplicações móveis em código nativo Windows, Android, iOS ou macOS.
A.2 Entender as especificidades do desenvolvimento em .Net 8 Blazor Web, MAUI e Blazor Hybrid.
A.3 Capacitar os alunos para trabalharem profissionalmente em equipa

Aplicação de Conhecimentos
B.1. Desenvolver aplicações Multi-Plataforma e Multi-interface em .Net 8 Blazor Web, MAUI e Blazor Hybrid.

Tomada de Decisões Fundamentadas
C.1. Justificar as opções adotadas na conceção dos elementos implementados.
Realização de Julgamento
D.1. Avaliar de forma fundamentada as opções adotadas em conteúdos similares

Comunicação
E.1. Apresentar e justificar de forma clara e consistente os elementos desenvolvidos.
E.2. Justificar convenientemente as limitações dos elementos desenvolvidos.

Competências de Auto-aprendizagem
F.1. Desenvolver projetos com elevado grau de autonomia, onde não se limitam a aplicar conceitos aprendidos nas aulas. Esta competência implica capacidade crítica para assimilar e aplicar de forma adequada os novos conceitos e técnicas.

Programa

Conteúdos Programáticos

1. Conceitos de programação em C#
1.1. Conceitos Básicos
1.2. Conceitos Avançados

2. Construção de Websites em .NET Core
2.1. Introdução ao .Net Core 8

2.2. Estrutura de uma aplicação .NetCore 8

2.3. Blazor e Modelos de Hospedagem Blazor
2.3.1 Blazor Server

2.3.2 Blazor WebAssembly

2.3.3 .Blazor Hybrid
2.4. .Net MAUI
2.5. RCL

2.6 Arquitecturas para desenvolvimento Web

2.7. Microfrontends e Microserviços
2.8. API e Minimal API

2.10. Injecção de Dependência 

2.11. SignalR
2.12. Regras de Negócio

3. Manipulação de Dados em .Net Core

3.1. .Net Core 8 Entity Framework
3.2. Migrations
3.3. Utilização de LINQ

4. Segurança em Aplicações Web
4.1. Segurança em Websites
4.2.Validação de utilizadores
4.3. .NET Core 8 Identity Framework

4.4. Utilização do JWT

Docente(s) responsável(eis)

Jorge Augusto Castro Neves Barbosa

Métodos de Avaliação

Condições de Obtenção e Dispensa de Frequência
- Não aplicável.

Frequência às Aulas

O registo de presenças nas aulas, Teóricas e Práticas/Laboratoriais, só será efectuado para efeitos estatísticos.

Nas aulas laboratoriais não é possível que os alunos assistam às mesmas sem ser na turma onde se encontrem inscritos e dentro dos limites de capacidade definidos para essa turma.

Condições de Acesso a Exame

O acesso ao exame, qualquer que seja a época, depende da verificação do seguinte critério:
• Obtenção de uma nota no Trabalho Prático igual ou superior a 35%;
Metodologia de Avaliação

A classificação final da disciplina será obtida considerando as notas obtidas no exame escrito (EE) e no trabalho prático (TP), através da seguinte expressão:
Classificação Final = 0,6 * EE + 0,4 * TP

Exame Escrito – 12 Valores

• Exame escrito que incidirá sobre os conteúdos lecionados nas aulas teóricas e práticas/laboratoriais.
• O exame será realizado nos períodos destinados às épocas de exame ordinárias (Normal, Recurso, Especial).
• É obrigatória a obtenção de uma classificação igual ou superior a 35% no exame escrito. A não obtenção desta
classificação mínima implica a reprovação à disciplina.
• Não são permitidos quaisquer processos informais de melhoria de classificação entre épocas de exame. O processo de melhoria de nota deve obedecer ao estipulado no regulamento de avaliação em vigor no ISEC/IPC.

Trabalho Prático – 8 Valores

• A implementar com base no framework .NET Core 8 Blazor Web, Blazor Hybrid e RCL, na linguagem de programação C# 12, LINQ, .Net Core 8 Entity Framework e .NET Core 8 Identity Framework, SQL Server e utilizando o IDE Visual Studio 2022 (ou superior);
• Trabalhos práticos que não utilizem as tecnologias referidos no ponto anterior serão liminarmente rejeitados e os alunos que os tenham desenvolvido sem o recurso a essas tecnologias estarão reprovados na componente Trabalho Prático e consequentemente na unidade curricular:
• Será ainda obrigatório que o Trabalho Prático seja desenvolvido de acordo com o modelo e template indicados nos enunciados do trabalho prático não se aceitando trabalhos práticos desenvolvidos com outros modelos ou templates que não os indicados no enunciado do trabalho prático
• O trabalho será realizado por grupos de dois estudantes. Qualquer alteração a esta regra terá de ser atempadamente solicitada e devidamente justificada, podendo ou não ser autorizada;
• É obrigatória a obtenção de uma classificação igual ou superior a 35% no trabalho prático. A não obtenção desta classificação mínima implica a reprovação à disciplina.

•É obrigatório que os 2 alunos do grupo se inscrevam no moodle da UC, até ao 30 de Setembro de 2025, a constituição do seu grupo prático. No moodle existe uma secção para efectuarem essa inscrição. Alunos que não façam essa inscrição do seu grupo até essa data serão considerados como alunos que não desejam realizar o trabalho prático e como tal não estão interessados em realizar a unidade curricular no corrente ano lectivo.
• Será disponibilizado enunciados referentes ao tema do trabalho prático. O trabalho a realizar com base no tema e enunciado atribuído só será avaliado e “defendido” uma única vez, numa das datas e hora a indicar durante o período de defesa dos trabalhos práticos. A avaliação atribuída nesta defesa é individual, podendo ser diferente para cada elemento do grupo e a nota atribuída nessa avaliação será considerada para todas as épocas de exame a realizar durante o ano letivo (normal, recurso, especial) e para todas as outras épocas a que os alunos com estatuto especial tenham acesso. Não é possível a realização de melhoria de nota ao trabalho prático quer com base no enunciado inicialmente atribuído quer com base noutro enunciado. Os enunciados dos trabalhos bem como a indicação de qual o trabalho prático atribuído a cada grupo será disponibilizado no Moodle, detalhando os requisitos mínimos para o seu desenvolvimento;
• A entrega do trabalho é feita através do Moodle, até ao dia 5 de Janeiro de 2026. As defesas do trabalho prático é presencial e obrigatória e decorrerão a partir do dia 06 de Janeiro de 2026.Terão uma duração aproximada de 30 minutos e será efetuada em data a escolher pelo grupo dentro das opções que serão disponibilizadas no moodle. A não comparência, sem justificação antecipada, válida e aceite, à avaliação do trabalho prático, implica a anulação do trabalho. A defesa é individual, sendo efectuada pelos dois elementos do grupo no mesmo dia e hora, não podendo ser realizada em dias diferentes para cada um dos elementos do grupo;
• Aquando da entrega do trabalho prático o grupo de alunos escolherá no moodle, dentro das opções que lá estarão disponíveis, o dia e hora em que pretendem realizar a defesa oral do trabalho entregue. A defesa terá de ser obrigatoriamente efectuada num dos dias e horas indicados e a selecionar pelo grupo de alunos;
• Classificações de trabalhos práticos obtidas em anos lectivos anteriores não são válidas para o corrente ano lectivo;
• A realização de exames extraordinários previstos no Regulamento de Avaliação do ISEC no contexto de exames para Repetição de Avaliação da última Unidade Curricular ou exame extraordinários para melhoria de nota de aprovação obtida em anos lectivos anteriores, estão sujeitos às mesmas condições atrás referidas no que diz respeito aos mínimos obrigatórios e ao peso relativo em cada uma das componentes, Teórica e Trabalho Prático.

Os alunos que não realizarem a UC numa das Épocas Ordinárias (Normal ou de Recurso ou Especial), poderão realizar um Exame em Época Extraordinária, de acordo com o definido no Regulamento Académico do 1º Ciclo de Estudos do IPC , desde que tenham realizado, entregue e defendido o Trabalho Prático dentro do prazo definido, com aproveitamento ou  não. Para este exame de época extraordinária, poderão manter a nota do TP já realizado ou realizar novo TP e neste caso informarão o docente responsável pela UC de que querem realizar um novo TP para essa época extraordinária.

Condições de Melhoria de Classificação
O trabalho prático não pode ser sujeito a revisão e a nova avaliação depois de lhe ter sido atribuído uma classificação. O processo de melhoria de classificação da prova escrita ou da realização de novas avaliações no contexto previsto de realização da última unidade curricular em falta para conclusão do ciclo de estudos tem de verificar integralmente os requisitos definidos no Regulamento Académico do 1º Ciclo de Estudos do ISEC.

Observação: Todos os contactos relacionados com a unidade curricular só serão efectuados através do mail oficial do ISEC pelo que os alunos deverão manter a sua caixa de correio disponível e verificá-la regularmente. Não serão considerados válidos mails enviados a partir de outras caixas de correio. Mails enviados fora do horário normal de funcionamento, serão considerados como recebidos no primeiro dia útil a seguir ao seu envio e somente respondidos a partir dessa altura.


Contactos e Atendimento: Os contactos e horários de atendimento dos diferentes docentes da UC serão disponibilizados no moodle em ficha própria!


    Estágio(s)

    NAO

    Bibliografia

    Recomendada:

    Price, M. J. (s.d.). C# 12 and .NET8 – Modern Cross-Platform Development, Eighth Edition (Eighth Edition ed.). Packt Publishing Ltd., ISBN 978-1-83763-587-0

    Abbruzzese, F. ,Software Architecture with C# 12 and .NET 8 – Fourth Edition, Packt Publishing Ltd., ISBN 1805127659, 2024

    Freeman, A. (2020). Pro ASP.NET Core 3 : develop Cloud-Ready Web applications using MVC, Blazor and Razor Pages (8th ed. ed.). London: Apress, cop. 2020.

    Vogel, E. (202). Beginning Entity Framework Core 5 : fromn Novice to Professional. New York: Apress.

    Complementar:

    Adam Freeman, Pro ASP.NET Core 3: Develop Cloud-Ready Web Applications Using MVC, Blazor, and Razor Pages, Eighth Edition, ISBN-13 (pbk): 978-1-4842-5439-4, Apress.

    Adam Freeman, “Pro Entity Framework Core 2 for ASP.NET Core MVC“, ISBN: 978-1-4842-3434-1, Apress.

    Jonas Fagerberg, “ASP.NET Core 2.0 MVC & Razor Pages for Beginners: How to Build a Website”, ISBN: 978-1979759953, CreateSpace Independent Publishing Platform

    Mark J. Price, “C# 9 and .NET 5 – Modern Cross-Platform Development, Fifth Edition”, ISBN: 978-1-80056-810-5, Packt Publishing Ltd

    Jonas Fagerberg, “C# For Beginners”, ISBN: 978-1518877551, CreateSpace Independent Publishing Platform

    Benjamin Perkins, Jacob Vibe Hammer, Jon D. Reid, “Beginning C# 6 Programming with Visual Studio 2015”, ISBN: 978-1-119-09668-9, WROX.

    Henrique Loureiro, “C# 6.0 com Visual Studio”, FCA.

    On Line:
    http://www.codeproject.com

    http://www.asp.net/

    https://www.macoratti.net/