filmeu

Class Web Programming

  • 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.
  • Code

    Code

    ULHT260-11195
  • 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)
    • 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).
SINGLE REGISTRATION
Lisboa 2020 Portugal 2020 Small financiado eu 2024 prr 2024 republica portuguesa 2024 Logo UE Financed Provedor do Estudante Livro de reclamaões Elogios entidade signataria