Web Programming

Base Knowledge

Algorithmics, Programming and Object-Oriented Programming; Database; Knowledge of HTML, Javascript and CSS

Teaching Methodologies

Theoretical classes: theoretical exposition in Portuguese of the subject with exercise resolution.
Practical classes: Students perform practical exercises on the computer.
Students have information, notes and spreadsheets available on the school’s Moodle platform.
Report templates are available to students.
Each teacher has 6 hours per week available to answer questions.
Students can also contact teachers via email.

Learning Results

Knowledge and Understanding

A.1. Know some of the technologies used for hybrid development in the implementation of websites and mobile applications in native Windows, Android, iOS or macOS code.
A. 2 Understanding the specificities of development in .Net 8 Blazor Web and Blazor Hybrid.
A. 3 Enable students to work professionally in teams

Application of Knowledge
B. 1. Develop in .Net 8 Blazor Web and Blazor Hybrid development.

Knowledge Application

B. 1. Develop Multi-Platform and Multi-interface applications in .Net 8 Blazor Web, MAUI and Blazor Hybrid.

Making Reasoned Decisions

C.1. Justify the options adopted in the design of the implemented elements.

Conducting Judgment

D.1. Know how to evaluate and make decisions and chose the best options to make web applications.

Communication

E.1. Clearly and consistently present and justify the elements developed.

E.2. Properly justify the limitations of the elements developed.

Self-Learning Skills

F.1. Develop projects with a high degree of autonomy, where they are not limited to applying concepts learned in class. This competence implies a critical ability to assimilate and properly apply new concepts and techniques.

Program

Program Contents

1. Programming concepts in C#
1.1. Basic Concepts
1.2. Advanced Concepts

2. Building Websites in .NET Core
2.1. Introduction to .Net Core 8
2.2. Structure of a .NET Core 8 application
2.3. Blazor and Blazor Models Hosting
2.3.1 Blazor Server

2.3.2 Blazor WebAssembly

2.3.3 Blazor Hybrid
2.4. .Net MAUI
2.5. RCL

2.6 Architectures for Web development

2.7. Microfrontends and Microservices
2.8. API and Minimal API

2.10. Dependency Injection

2.11. SignalR
2.12. Business Rules

3. Data Manipulation in .Net Core

3.1. .Net Core 8 Entity Framework
3.2. Migrations
3.3. Using LINQ

4. Security in Web Applications
4.1. Website Security
4.2. User validation
4.3. .NET Core 8 Identity Framework

4.4. Using JWT

Curricular Unit Teachers

Jorge Augusto Castro Neves Barbosa

Grading Methods

Types of Evaluation
• Practical Work (mandatory) and Exam Evaluation (mandatory)
Access Conditions and Attendance Excuse
- Not aplicable.

Class Attendance

The registration of attendance in classes, Theoretical and Practical/Laboratory, will only be done for statistical purposes.

In laboratory classes, it is not possible for students to attend them without being in the class where they are enrolled and within the capacity limits defined for that class.


Conditions for Exam Admission and Evaluation Methodology

Access to the exam, whatever the time, depends on checking the following criteria:
• Obtaining a grade in Practical Work equal to or greater than 35%;

Evaluation Methodology

• The evaluation of the course unit are the two following components. Each component will have the percentage weight indicated in the Final Note of the Course, NF:

1) Pratical Work, TP: 40% ~ 8 Values
2) Written Exam, EE: 60% ~ 12 Values

NF = 0,40 x TP + 0,60 x EE
Written Exam – 12 Points

• Written exam that will focus on the contents taught in theoretical and practical/laboratory classes.
• The exam will be carried out in the periods destined to the regular exam periods (Normal, Recurso, Special).
• It is mandatory to obtain a grade equal to or greater than 35% in the written exam. Failure to obtain this
Minimum classification implies disapproval of the subject.
• No informal processes for improving grades between exam periods are allowed. The grade improvement process must comply with the stipulations of the assessment regulation in force at ISEC/IPC

Practical work – 8 values

• To be implemented based on the .NET Core 8 Blazor Web, Blazor Hybrid and RCL framework, the C# 12 programming language, LINQ, .Net Core 8 Entity Framework and .NET Core 8 Identity Framework, SQL Server and using the Visual IDE Studio 2022 (or higher);
• Practical work that does not use the technologies mentioned in the previous item will be preliminarily rejected and students who developed it without using these technologies will fail the Practical Work component and consequently the subject.
• It will also be mandatory that the Practical Work be developed in accordance with the model and template indicated in the practical work statements, practical work developed with other models or templates other than those indicated in the practical work statement will not be accepted

• The work will be carried out by groups of two students. Any change to this rule must be requested in due time and duly justified, and may or may not be authorized;
• It is mandatory to obtain a grade equal to or greater than 35% in practical work. Failure to obtain this minimum classification implies disapproval of the subject.

• It is mandatory that both students in the group register on the UC Moodle platform by September 30, 2025, to form their practical group. There is a section on Moodle where you can do this registration. Students who do not register their group by this date will be considered as students who do not wish to carry out the practical work and, as such, are not interested in taking the course unit in the current academic year.
• Two statements referring to two different themes will be made available for practical work. Each group will be assigned only one of these themes and the assigned theme cannot be changed. The work to be carried out based on the theme and assigned statement will only be evaluated once, on the date to be indicated during the period of defense of the practical work. The assessment given in this defense is individual, and may be different for each member of the group, and the grade given in this assessment will be considered for all exam periods to be carried out during the school year (normal, recourse, special) and for all other exam periods that students with special status have access. It is not possible to improve the grade of the practical work either based on the initially assigned statement or based on another statement. The work statement will be made available in Moodle, detailing the minimum requirements for its development;

• The work is delivered through Moodle, until the 5th of January 2026. The defenses of the practical work are in person and mandatory and will take place from the 6th of January 2026. They will last approximately 30 minutes and will be carried out on a date to be chosen by the group from the options that will be available in Moodle. Non-attendance, without advance, valid and accepted justification, for the evaluation of practical work, implies cancellation of the work. The defense is individual, being carried out by both group members on the same day and time, and cannot be carried out on different days for each group member;
• When delivering the practical work, the group of students will choose in Moodle, from the options that will be available there, the day and time on which they intend to carry out the oral defense of the work delivered. The defense must be carried out on one of the indicated days and times and selected by the group of students;

• Practical work grades obtained in previous academic years are not valid for the current academic year;
• The carrying out of extraordinary exams provided for in the ISEC Assessment Regulation in the context of exams for Re-Assessment of the last Curricular Unit or extraordinary exams to improve the passing grade obtained in previous academic years, are subject to the same conditions referred to above. respect for mandatory minimums and the relative weight in each of the components, Theoretical and Practical Work

• Students who do not take the course unit during one of the Ordinary Periods (Normal, Appeals, or Special) may take an Exam during an Extraordinary Period, in accordance with the Academic Regulations for the 1st Cycle of Studies at IPC, provided they have completed, submitted, and defended the Practical Work within the defined deadline, whether successfully or not. For this extraordinary period exam, they may maintain the grade from the previously completed Practical Work or take a new Practical Work, in which case they must inform the professor responsible for the course unit that they wish to take a new Practical Work for that extraordinary period.

Classification Improvement Conditions

Practical work cannot be subject to review and reassessment after it has been given a grade. The process of improving the classification of the written test must fully verify the requirements defined in the Academic Regulation of the 1st Cycle of Studies at ISEC. Excluded are exams foreseen in this regulation to be carried out in the context of exams for Repetition of Assessment of the last Curricular Unit.

Note: All contacts related to the curricular unit will only be made through the official ISEC email address, so students must keep their mailbox available and check it regularly. Mail sent from other mailboxes will not be considered valid. Mail sent outside normal opening hours will be considered received on the first business day following sending and will only be responded to from that point onwards.


Contacts and Service: The contacts and schedule of the different UC professors will be made available on Moodle in a separate form!


    Internship(s)

    NAO

    Bibliography

    Recommended:

    Price, M. J. (s.d.Recommended:). 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.

    Complementary:

    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/