Ficha Unidade Curricular (FUC)

Informação Geral / General Information


Código :
03728
Acrónimo :
DIAM
Ciclo :
1.º ciclo
Línguas de Ensino :
Português (pt)
Língua(s) amigável(eis) :
Português

Carga Horária / Course Load


Semestre :
2
Créditos ECTS :
6.0
Aula Teórica (T) :
0.0h/sem
Aula Teórico-Prática (TP) :
54.0h/sem
Trabalho de Campo (TC) :
0.0h/sem
Seminario (S) :
0.0h/sem
Estágio (E) :
0.0h/sem
Orientação Tutorial (OT) :
1.0h/sem
Outras (O) :
0.0h/sem
Horas de Contacto :
55.0h/sem
Trabalho Autónomo :
95.0
Horas de Trabalho Total :
150.0h/sem

Área científica / Scientific area


Ciências e Tecnologias da Programação

Departamento / Department


Departamento de Ciências e Tecnologias da Informação

Ano letivo / Execution Year


2022/2023

Pré-requisitos / Pre-Requisites


Introdução à Programação; Programação Orientada para Objetos

Objetivos Gerais / Objectives


Permitir uma visão integrada dos componentes de uma aplicação web. Preparar o aluno para planear, modelar e desenvolver em equipa uma aplicação Web baseada em tecnologias cliente/servidor, programação para móveis e desenvolvimento de redes IoT.

Objetivos de Aprendizagem e a sua compatibilidade com o método de ensino (conhecimentos, aptidões e competências a desenvolver pelos estudantes) / Learning outcomes


Um aluno quando termina esta UC deve ser capaz de: OA1. Conhecer e compreender os conceitos e as tecnologias de base para o desenvolvimento para a Web. OA2. Conhecer os conceitos relativos ao desenvolvimento para a Web do lado do cliente e aplicar as tecnologias adequados respetivas. OA3. Conhecer os conceitos relativos ao desenvolvimento para a Web do lado do servidor e aplicar as tecnologias adequados respetivas. OA4. Integrar o desenvolvimento do lado do cliente com o do servidor num modelo coerente com capacidade para executar as tarefas típicas de uma aplicação Web. OA5. Conhecer e compreender os conceitos principais para o desenvolvimento de software para móveis. OA6. Aplicar as tecnologias adequadas ao desenvolvimento de software para móveis. OA7. Conhecer e compreender os conceitos principais para o desenvolvimento de redes IoT. OA8. Aplicar as tecnologias adequadas ao desenvolvimento de redes IoT.

Conteúdos Programáticos / Syllabus


CP1 [Introdução] A história da Web; Antigas e atuais linguagens de programação para a Web; Standards W3C; Arq. cliente/servidor; Arq. MVC para a Web. CP2 [Programação do lado do cliente] Principais linguagens de formatação e de programação para a Web; Bibliotecas para a programação de aplicações Web; CP3 [Programação do lado do servidor] Arquitecturas Cliente/Servidor; Acesso a BDs a partir da Web; Modelo de dados no site Web e correspondente interação com a BDs; Gestão de sessões; Intro. à segurança do lado do servidor. CP4 [Programação para móveis] Linguagens nativas inter-plataformas; Ferramentas híbridas. CP5 [Internet of Things (IoT)] Sensores; Soluções de design pr redes IoT; Protocolos de cadeias logísticas conectadas; Gestão de Big Data proveniente de IoT; Recursos de programação para IoT; Intro. à seg. em IoT.

Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da UC / Evidence that the teaching and assessment methodologies are appropriate for the learning outcomes


CP1 -> OA1 CP2 -> OA2, OA4 CP3 -> OA3, OA4 CP4 -> OA5, OA6 CP5 -> OA7, OA8

Avaliação / Assessment


Dada a natureza prática dos conteúdos lecionados, a avaliação será realizada por projeto. O seu tema deverá estar alinhado com a totalidade ou parte do programa da UC. Exercícios realizados na aula (10%). Projeto (90%, incluindo trabalho de grupo (relatório e software) ? 40% e prova oral individual ? 50%). Todas as componentes do projeto ? proposta, relatório, software e prova oral, são obrigatórias. A classificação mínima para cada componente é de 10 numa escala de 0 a 20. Haverá apenas uma data limite para a entrega do projeto, com exceção dos alunos inscritos em época especial que poderão entregar durante esse período. A presença nas aulas não é obrigatória. Não existe exame final. A melhoria de nota pode ser realizada através de entrega de novo projeto no ano letivo seguinte.

Metodologias de Ensino / Teaching methodologies


O processo de ensino inclui partes expositivas, intercaladas com pequenos exercícios dirigidos. As aulas finais dedicam-se principalmente a apoiar o desenvolvimento do projeto.

Demonstração da coerência das metodologias de ensino e avaliação com os objetivos de aprendizagem da UC / Evidence that the teaching and assessment methodologies are appropriate for the learning outcomes


Principais interligações entre as metodologias de ensino-aprendizagem e os respectivos objetivos de aprendizagem (OA): 1. Aulas Expositivas: OA1, OA2, OA3, OA5, OA7; 2. Aulas Participativas: transversal a todos os AO; 3. Aulas Ativas: OA2, OA3, OA4, OA6, OA8; 4. Trabalho Autónomo: transversal a todos os AO. O alinhamento entre cada instrumento de avaliação e os objectivos de aprendizagem é realizado da seguinte forma: - Exercícios realizados na aula: transversal a todos os AO; - Projeto: transversal a todos os OA.

Observações / Observations


No contexto das medidas extraordinárias do estado de emergência, o início das atividades letivas decorrerá em formato de ensino à distância. Todas as alterações que possam acontecer serão comunicadas aos estudantes.

Bibliografia Principal / Main Bibliography


Rao M. (2018). Internet of Things with Raspberry Pi 3: Leverage the power of Raspberry Pi 3 and JavaScript to build exciting IoT projects. Ed: Packt Publishing. ISBN-10: 1788627407. ISBN-13: 978-1788627405. Horton J. (2015). Android Programming for Beginners. Ed: Packt Publishing. ISBN-10: 1785883267. ISBN-13: 978-1785883262. Vincent W. S. (2018). Build websites with Python and Django. Ed: Independently published. ISBN-10: 1983172669. ISBN-13: 978-1983172663. Dean J. (2018). Web Programming with HTML5, CSS, and JavaScript. Ed: Jones & Bartlett Learning. ISBN-13: 978-1284091793. ISBN-10: 1284091791. Ryan J. (2013). A History of the Internet and the Digital Future. Ed: Reaktion Books. ISBN-13: 978-1780231129

Bibliografia Secundária / Secondary Bibliography


Lambert M. and Jobsen B. (2017). Complete Bootstrap: Responsive Web Development with Bootstrap 4. Ed: Impackt Publishing. ISBN-10: 1788833406. ISBN-13: 978-1788833400. Freeman A. (2017). Pro Angular. Ed: APress. ISBN-10: 1484223063. ISBN-13: 978-1484223062. Jones P. (2018). jQuery UI. Ed: CreateSpace Independent Publishing Platform. ISBN-10: 1719389667. ISBN-13: 978-1719389662. Amundsen M. (2017). RESTful Web Clients: Enabling Reuse Through Hypermedia. Ed: O'Reilly Media Downey A. B. (2015). Think Python: How to Think Like a Computer Scientist. Ed: O'Reilly Media. ISBN-10: 1491939362. ISBN-13: 978-1491939369.

Data da última atualização / Last Update Date


2024-02-16