-
Presentation
Presentation
This course aims to provide training in the area of Web programming in general, and in particular in the development of back-end Web applications, providing an overview of modern The development of business applications is taught following the model-view-control design pattern, using the Python language and the Django Web framework. It is intended to stimulate creativity and imagination in the development of innovative applications that are efficient, scalable and easy to modify on the one hand, and that offer a good experience for the user. This is a fundamental UC for any IT professional, as it provides a set of knowledge and tools that will be essential in business projects in which they will be inserted.
-
Class from course
Class from course
-
Degree | Semesters | ECTS
Degree | Semesters | ECTS
Bachelor | Semestral | 6
-
Year | Nature | Language
Year | Nature | Language
2 | Mandatory | Português
-
Code
Code
ULHT260-11195
-
Prerequisites and corequisites
Prerequisites and corequisites
Not applicable
-
Professional Internship
Professional Internship
Não
-
Syllabus
Syllabus
1. Python Web Programming (3 weeks) Python Fundamentals (syntax, data structures, functions, OOP) Python Modules and Packages Data Manipulation (JSON, CSV, XML) Web Scraping with BeautifulSoup and regex 2. Web Application Development with Django (6 weeks) Django Web Framework Data Modeling and Database Integration CRUD Operations on Databases using Django ORM Web Applications with Django (URLs, views, models, templates) Django Template Language Bootstrap and Interface Styling User Authentication and Authorization (OAuth) 3. API Development and CI/CD (5 weeks) Unit Testing (unittest) and Integration Testing (Selenium) Development and Production Environments (CI/CD, GitHub, Docker) RESTful API Development with Django Ninja API Documentation and Testing with Swagger API Versioning and Monitoring Data Serialization and Validation API Authentication and Authorization (JWT, OAuth)
-
Objectives
Objectives
Understand how the Internet and the Web work. Understand the principles of Web programming and its main design patterns. Apply these concepts using Python and Django. Design efficient, maintainable Web applications and RESTful APIs that run on the Web. Evaluate different design strategies and choose the approach that best suits the context. Be able to build and deploy complex, creative, and fully functional full-stack Web applications and RESTful APIs in the cloud.
-
Teaching methodologies
Teaching methodologies
Use of a variety of teaching materials, including slides, summaries, short video tutorials, GitBook assignments, and project examples on GitHub. Weekly exercises and assessment quizzes using automated code assessment platforms or paper-based assessments. Development of 3 projects, with their progress monitored and supported weekly during classes. Students will conduct a critical analysis and reflection on the tasks performed, the difficulties encountered, and how they used AI. Students will create video tutorials explaining their projects. Peer assessment and suggestions for improvement, encouraging the development of critical thinking skills. Use of GitHub as a project repository, with deployment to production following CI/CD practices. Hosting of the developed web applications in a cloud-based production environment, keeping them online and providing a means of showcasing and disseminating the work produced.
-
References
References
PORTELA, Filipe, QUEIRÓS, Ricardo. Introdução ao desenvolvimento moderno para a Web. FCA. 2018. ISBN: 978-972-722-897-3 VASCONCELOS, José Braga de, Python: Algoritmia e Programação Web. FCA. 2015. ISBN: 978-972-722-813-3 VINCENT, William S., Django for Beginners 3.1: build websites with Python & Django, 2020. ISBN-13: 978-1735467207
-
Assessment
Assessment
- Avaliação continua:
- Componente Teórica (CT):
- Quizzes semanais na aula (Peso: 5%)
- CT1: Teste Python (Peso: 15%. Nota mínima: 9,5 valores)
- CT2: Teste Django (Peso: 15%. Nota mínima: 9,5 valores)
- CT3: Teste APIs (Peso: 15%. Nota mínima: 9,5 valores)
- Componente Prática (CP):
- CP1: Quizzes semanais na aula e trabalhos (Peso: 25%)
- CP2: Projeto Django (com defesa sem consulta. Peso: 15%. Nota mínima: 9,5 valores)
- CP3: Projeto APIs (com defesa sem consulta. Peso: 15%. Nota mínima: 9,5 valores)
- Componente Teórica (CT):
- Avaliação época de recurso/especial:
- realização das avaliações CT (CT1, CT2 ou CT3) ou CP (CP1, CP2 ou CP3) a que não teve aprovação. Nota mínima: 9,5.
- Para se apresentar em recurso ou época especial, é requisito obrigatório entregar 2 dias antes da avaliação, a resolução em papel das fichas de trabalho da CT/CP, publicadas na altura.
Aprovação à disciplina:
- A disciplina está organizada em 3 módulos: Python, Django e API. Cada um tem uma componente teórica (CT) e prática (CP).
- Existem um total de 6 componentes de avaliação, a aprovação na disciplina requerendo a aprovação às seis componentes (nota minima de 9,5 valores em cada uma destas).
- Avaliação continua:
-
Mobility
Mobility
No





