WEB Programming

Base Knowledge

Algorithm, Programming and Object Oriented Programming; Knowledge of HTML, Javascript and CSS

Teaching Methodologies

Theoretical classes: theoretical exposition in Portuguese of the subject with problem solving.
Practical classes: Students perform practical exercises on the computer.
Students have information, notes and exercise sheets at their disposal on the school’s moodle platform.
Report templates are available to students.
Each teacher has 6 hours of answering questions available.
Students can also contact teachers by email.

Learning Results

Goals

It is intended that students acquire skills in the development of web applications, with relevance in building dynamic websites. In this context, the ASP.NET Core platform based on the C# programming language will be explored, as well as other complementary technologies related to the development of web applications.
At the end of the course, the student should be able to develop a prototype of a Web application developed in MS ASP.Net Core using a SQL Server database.

Skills

Knowledge and Understanding
A.1. Know some of the technologies used in the implementation of dynamic websites.
A.2 Understand the specifics of dynamic website development.
A.3. Provide students with the ability to work professionally as a team
A.4. To instill a concern for quality and rigor in the acquisition of the basic concepts of these areas of knowledge, concepts that will allow you to develop decision-making skills in your professional life.

Knowledge Application
B.1. Develop knowledge and comprehension skills in the field of dynamic websites, based on the knowledge acquired in class and in practical work, in the lectures, in specialized texts and in research carried out by themselves.
B.2. Provide students with the ability to apply the knowledge acquired to solve specific problems and concrete cases of web programming and understanding the world of this area.
B.3. Create the ability to collect, select and interpret relevant information in these area, combined with the ability to analyze, synthesize and formulate own opinions that will allow a more insightful participation in these areas of knowledge.

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

I. Programming Concepts in C#
I.1. Basic concepts
I.2. Advanced Concepts
II. Introduction to building dynamic websites
III. Building websites in ASP.NET Core
III.1. Introduction to ASP.Net Core
III.2. Structure of an ASP.NET Core Application
III.3. Controllers, Models and Views
III.4. Routing
III.5. Tag Helpers
III.6. View Engine Razor
III.7. Razor Pages
IV. Data Manipulation in ASP.Net Core
IV.1. Use of LINQ on Websites
IV.2. Entity Framework Core
IV.3. Migrations
V. Security in Web Applications
V.1. Website Security
V.2. User validation
V.3. ASP.NET Core Identity
VI. Blazor
VI.1. Introduction to Blazor
VI.2. Blazor Server
VI.3. Blazor WebAssembly
VI.4. ASP .NET Core and Blazor Application Example

Curricular Unit Teachers

Internship(s)

NAO