Ficha Unidade Curricular (FUC)
Informação Geral / General Information
Carga Horária / Course Load
Área científica / Scientific area
Arquitectura de Computadores e Sistemas Operativos
Departamento / Department
Departamento de Ciências e Tecnologias da Informação
Ano letivo / Execution Year
2024/2025
Pré-requisitos / Pre-Requisites
Não existem nenhuns requisitos específicos para a frequência desta UC.
Objetivos Gerais / Objectives
Pretende-se transmitir o conhecimento fundamental sobre: estrutura física (hardware) dos sistemas computacionais; camada de software, sistema operativo (SO) que gere o hardware de forma a ser usado pelo restante software; virtualização e computação na nuvem. Apresenta-se: principais componentes físicos, interação entre eles e com os vários componentes do SO, para fornecer a compreensão do funcionamento lógico do conjunto. Apresenta-se a virtualização do hardware com “super-sistemas operativos” (hypervisors), e do SO (containers). Ao nível dos SO serão abordadas várias tipologias (monoposto/cliente, servidor e ligação cliente-servidor), nos mais usados (Microsoft Windows, Linux e Apple MacOS). Metas curriculares: 1. Bases de um sistema computacional, 2. Reconhecimento dos componentes e arquiteturas dos computadores, 3. Conhecimento dos componentes dos sistemas operativos, 4. Familiaridade com diferentes tipologias de sistemas operativos, 5. Compreensão de mecanismos de virtualização.
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
"OA1: Conhecer os princípios básicos de funcionamento de um sistema computacional OA2: Distinguir claramente entre hardware e software e explicar como interagem OA3: Identificar os principais componentes físicos de um computador e descrever as suas funções OA4: Compreender e descrever diferentes arquiteturas de computadores OA5: Compreender a forma como um computador executa programas e como comunica com outros computadores e com os utilizadores OA6: Conhecer os componentes dos sistemas operativos (SO), descrever as suas funções e a forma como estão implementados em diferentes SO OA7: Distinguir entre diferentes tipos de SO e as suas aplicações práticas OA8: Usar a linha de comando, scripts e o ambiente gráfico dos SO para realizar tarefas de administração OA9: Compreender a virtualização de hardware, de SO e a sua relevância na economia de recursos OA10: Implementar a virtualização de hardware em hypervisors tipo I e na nuvem e, de componentes de SO no Docker."
Conteúdos Programáticos / Syllabus
"CP1: Introdução às bases de numeração 2, 8, 16; Codificação e representação da informação (ASCII e outros); Apresentação da Álgebra de Boole. CP2: Estrutura dos computadores: Placa de sistema; CPU (arquitetura do processador); Memórias; BUS; Sistema de Armazenamento; Placas gráficas; Portas de comunicação; Periféricos. CP3: Componentes dos Sistemas Operativos (SO): Gestão de processos; Hierarquia de memória e memória virtual; Gestão de entrada e saída; Sistema de Ficheiros; Administração e Segurança. CP4: Estudo de comandos dos SO Linux e Windows. CP5: Hypervisors tipo II (VMware, VirtualBox) – Criação, configuração dos SO, exportação e importação de máquinas virtuais (VMs) Windows (cliente e servidor), Linux (cliente, firewall e servidores de email, VoIP, armazenamento), e MacOS; Ligação das VMs em rede. CP6: Clouds (Azure e outras) - Criação de VMs Windows e Linux; Acesso e utilização das VMs nas clouds."
Demonstração da coerência dos conteúdos programáticos com os objetivos de aprendizagem da UC / Evidence that the curricular units content dovetails with the specified learning outcomes
"Os conteúdos programáticos (CPs) associam-se aos objectivos de aprendizagem (OAs), da seguinte forma: OA1 - Princípios básicos: CP1 - bases de numeração; codificação da informação; álgebra de Boole. OA2 - Hardware/software: CP2 - Estrutura dos computadores; CP3 - Componentes dos SOs. OA3 - Componentes físicos: CP2 - Estrutura dos computadores. OA4 - Arquiteturas: CP2 - Estrutura dos computadores. OA5 – Execução de programas e comunicação: CP2 - Estrutura dos computadores; CP3 - Componentes dos sistemas operativos; CP4 - Estudo de comandos dos SO. OA6 - Componentes dos SOs, suas funções e implementação: CP3 - Componentes dos sistemas operativos; CP4 - Estudo de comandos dos SO. OA7 - Tipos de SO e as suas aplicações: CP3 - Componentes dos sistemas operativos; CP4 - Estudo de comandos dos SO. OA8 - Tarefas de administração: CP4 - Estudo de comandos dos SO. OA9 - Compreender a virtualização: CP5-Hypervisors; CP6 – Clouds. OA10-Implementar a virtualização: CP5-Hypervisors; CP6 – Clouds."
Avaliação / Assessment
"Presença obrigatória em 90% das aulas, apresentações e outros eventos considerados necessários à aprendizagem. Sendo as aulas teórica-práticas-laboratoriais é fundamental a presença e participação nas aulas; É obrigatório realizar 80% dos trabalhos de práticos individuais; O projeto de laboratório, em grupos, é obrigatório. Grupos de 3 ou 4 pessoas; Pesos da avaliação sumativa: Av1: 5 trabalhos práticos (5% cada): 25% -> 3 trabalhos práticos em grupo, um por cada tema (Hardware, SOs, Virtualização); 2 trabalhos práticos individuais, sobre um dos temas estudados; Av2: 2 mini-testes: 25% -> testes de escolha múltipla, realizados individualmente, no Moodle em sala de aula, sem consulta. Cada mini-teste cobre metade da matéria; Av3: Projeto de laboratório, com apresentação e demostração em grupo e discussão oral individual: 50% -> o trabalho de projeto é eliminatório. Avaliação formativa: - São disponibilizados exercícios e testes-tipo no Moodle para que os estudantes possam fazer auto-avaliação dos conhecimentos adquiridos; - Para quem o requer são disponibilizados horários de dúvidas para debate e orientação da realização do projeto;"
Metodologias de Ensino / Teaching methodologies
"Horas de contacto (aulas): 3h/semana ao longo de 12 semanas; • Aulas teórico-prático-laboratoriais: cada aula é composta por períodos de exposição teórica (pelos docentes e/ou pelos estudantes), períodos de prática (resolução de problemas, pesquisa online) em grupo e/ou individual, períodos de prática laboratorial (simulação por software, criação de máquinas virtuais) em grupo. • Materiais de suporte disponibilizados via Moodle em antecipação à sua utilização em aula: slides com os principais conceitos teóricos, sugestões de perguntas para pesquisa online e na bibliografia para aprofundamento dos conhecimentos; slides com instruções passo-a-passo para as componentes práticas laboratoriais; manuais de software; guiões para os trabalhos; template/modelo para relatórios; fórum e FAQs para apoio aos projetos; jogos didáticos; aplicações/programas e máquinas virtuais; • Horas de contacto (esclarecimento de dúvidas): 1h/semana; será agendada um horário de dúvidas sob pedido dos alunos, remetido por email ou no Moodle; • Horas de trabalho autónomo: 8h30/semana x 12 semanas = 102h; os estudantes devem estudar os materiais previamente disponibilizados e prepararem-se para cada aula. Devem seguir as sugestões de pesquisa para aprofundar conhecimentos e trazer dúvidas pertinentes para a interação com os colegas e os docentes durante os momentos apropriados nas aulas. • Horas de trabalho total (aulas + dúvidas + autónomo): 150h; trata-se de um valor indicativo que pode ser maior ou menor de acordo com cada aluno. • Créditos ECTS: 6 Esta UC cobre uma vasta quantidade de temas pretendo proporcionar aos estudantes os conhecimentos fundamentais sobre os sistemas computacionais. Tendo em conta a vastidão dos temas e a sua rápida evolução, os melhores resultados em termos de satisfação pessoal e de avaliação, só podem ser alcançados com uma participação ativa por parte dos estudantes. De acordo com o modelo pedagógico do ISCTE, nesta UC espera-se que os estudantes sejam elementos ativos, usando tudo o que têm à sua disposição (materiais fornecidos pelos docentes, pesquisa online, bibliografia, debate com colegas), para aprofundar o seu conhecimento sobre cada tema, de forma autónoma, mas suportados e apoiados pelos docentes e colegas. Serão utilizadas as seguintes metodologias de ensino-aprendizagem (MEA): MEA1: Expositivas, pelos docentes e/ou alunos, dos conceitos teóricos com exemplos de aplicação em contextos reais. MEA2: Argumentativas, com apresentação e discussão dos trabalhos. MEA3: Participativas e Ativas, com realização prática de tarefas e trabalho de projeto. MEA4: Experimentais, com desenvolvimento e exploração de soluções de software. MEA5: Autoestudo, com trabalho autónomo por parte do aluno."
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
"A componente teórica/expositiva (MEA1) das aulas permite apresentar os conceitos fundamentais acerca de sistemas computacionais, de forma a cumprir os objetivos de aprendizagem (OAs). A avaliação sumativa dos conhecimentos adquiridos através da componente teórica concretiza-se nos mini-testes (AV2). As componentes prática e laboratorial das aulas (MEA2-5), nas quais os alunos deverão ter uma participação ativa, não só com a realização de trabalho autonomamente em sala de aula, como com apresentações e discussão, permite a aplicação e o aprofundamento dos conhecimentos teóricos adquiridos através da componente expositiva e da pesquisa e estudo autónomo. Esta componente requer da parte dos alunos a preparação prévia para as aulas, com base nos materiais fornecidos pelos docentes e em pesquisa e estudo autónomo. A avaliação sumativa dos conhecimentos adquiridos através das componentes prática e laboratorial, concretiza-se através dos trabalhos práticos (AV1) e do trabalho de projeto (AV3)."
Observações / Observations
"Obs1 - esta UC não tem pré-requisitos obrigatórios, no entanto serão facilitadores da aprendizagem e da realização dos trabalhos os seguintes conhecimentos: inglês; Microsoft Word; edição de documentos localmente no PC com sincronização em cloud-OneDrive; utilização de ferramentas de referenciação bibliográfica. Na bibliografia complementar são fornecidas algumas ligações para recursos que podem ajudar a obter estes conhecimentos. Obs2 - Objetivos para o Desenvolvimento Sustentável (ODS) associados à UC: Objetivo 4 – ao promover o estudo autónomo orientado para a pesquisa e aprendizagem ativa, dos sistemas computacionais, esta UC fornece as ferramentas para a aquisição de conhecimento atual e as bases para que os estudantes se mantenham sempre atualizados garantindo o acesso à educação inclusiva, de qualidade e equitativa, e promovendo oportunidades de aprendizagem ao longo da vida; Objetivo 9 – o conhecimento de sistemas computacionais e tecnologias permite construir infraestruturas resilientes, promover a industrialização e fomentar a inovação. O recurso à virtualização permite aumentar a eficiência na utilização dos sistemas computacionais reduzindo o consumo energético e a produção de calor. Obs3 – nesta UC aceita-se e incentiva-se a utilização de sistemas computacionais incluindo computadores, tablets, smartphones, todos os sistemas operativos, programas de simulação e de Inteligência Artificial (IA). Obs4 – no que diz respeito a ferramentas de IA como o ChatGPT, Copilot e similares, incentiva-se a sua utilização para suporte à pesquisa, mas não como substitutos do trabalho de pesquisa. Por exemplo, deve ser usada a pergunta/prompt “quais são os maiores fabricantes de computadores” e depois pesquisar nesses fabricantes quais os componentes dos computadores ao invés de pedir a lista de componentes ao chat. Também podem ser usadas ferramentas de IA para melhorar a qualidade do texto e gerar imagens para os trabalhos práticos. Nos trabalhos práticos e no relatório do projeto é obrigatório mencionar quando e como foram usadas ferramentas de IA. Também é obrigatória uma secção final nos relatórios, onde constam as referências consultadas e aí não são aceites referências a ferramentas de IA."
Bibliografia Principal / Main Bibliography
Bibliografia Secundária / Secondary Bibliography
"José Alves Marques, Paulo Ferreira, Carlos Ribeiro, Luís Veiga, Rodrigo Rodrigues, ""Sistemas Operativos"", FCA, 2012, ISBN 978-972-722-575-0 Paulo Trezentos e António Cardoso, ""Fundamental do Linux"", 3ª Edição, FCA, 2009, ISBN: 978-972-722-514-9 Abraham Silberschatz, ""Operating System Concepts"", 10th Edition, Wiley, 2018, ISBN: 978-1119456339 Recursos diversos referidos nas Obervações: https://www.acsov.pt/p/recursos.html"
"Textos, exercícios e guias de laboratório da autoria da equipa docente. Morris Mano, Charles Kime, ""Logic and Computer Design Fundamentals"", 5th Ed, Prentice Hall, 2015, ISBN: 978-1292096070 Guilherme Arroz, José Monteiro, Arlindo Oliveira, ""Arquitectura de Computadores: dos Sistemas Digitais aos Microprocessadores - 2ª Edição"", IST Press, 2009 Andrew Tanenbaum, Todd Austin, ""Structured Computer Organization"", 6th Ed, Pearson, 2012, ISBN: 978-0132916523 A. Silberschatz, P. Galvin, G. Gagne,""Operating Systems Concepts Essentials"", 2nd Ed, Wiley, 2013, ISBN: 978-1118804926 A. S. Tanenbaum and H. Bos, ""Modern Operating Systems (4th Ed)"", Pearson Prentice-Hall, 2014, ISBN: 978-0133591620 W. Stallings, ""Operating Systems Internals and Principles"", 9th Ed, Pearson, 2017, ISBN: 978-0134670959 M. Portnoy, ""Virtualization Essentials"", 2nd Ed, 2016, Sybex, ISBN: 978-1119267720 S. Mohan Jain, ""Linux Containers and Virtualization: A Kernel Perspective"", Apress, 2020, ISBN: 978-1484262825"
Data da última atualização / Last Update Date
2024-12-04