UNIVERSIDADE LÚRIO PÓLO DE CABO DELGADO FACULDADE DE ENGENHARIA Licenciatura em Engenharia Informática Plano de Estudos Eng.º Ismael Chutumiá dr. Heráclito Comia dr. Delfim Augusto Eng.º Paul Chipako MSc. Elídio da Silva MSc. Eládio Cuellar MSc. Nelson Canizares MSc. Oliver Telleria dr. Miro Tucua dr. Edson Nhantumbo Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ UNIVERSIDADE LÚRIO PÓLO DE CABO DELGADO FACULDADE DE ENGENHARIA PLANO DE ESTUDOS DO CURSO DE LICENCIATURA EM ENGENHARIA INFORMÁTICA (LEI) Março, 2011 2 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ ÍNDICE 1 Plano de Estudos e Justificação ............................................................................................................ 4 2 Linhas orientadoras de formulação do plano de estudos .................................................................... 7 3 Esquema geral adoptado para o curso ................................................................................................. 8 4 5 3.1 Disciplinas obrigatórias ................................................................................................................. 9 3.2 Primeiro ano.................................................................................................................................. 9 3.3 Laboratórios .................................................................................................................................. 9 3.4 Competências transversais ......................................................................................................... 11 3.5 Estágio curricular ........................................................................................................................ 11 3.6 Actividades Complementares ..................................................................................................... 12 3.7 Trabalho de Conclusão do Curso ................................................................................................ 12 3.8 Saídas Profissionais ..................................................................................................................... 13 Plano Curricular................................................................................................................................... 14 4.1 Áreas Científicas das Unidades Curriculares ............................................................................... 16 4.2 Tabela de Precedências............................................................................................................... 17 4.3 Conteúdos Programáticos ........................................................................................................... 18 Considerações Finais ........................................................................................................................... 59 3 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ 1 Plano de Estudos e Justificação Desde há vários anos organizações internacionais como o IEEE-CS, a ACM (Association for Computing Machinery) e a AIS (Association for Information Systems) têm vindo a congregar esforços no sentido de produzir linhas orientadoras e definir com precisão os corpos de conhecimento dos curricula de várias áreas relacionadas com a Computação. Esses esforços resultaram num conjunto de trabalhos de referência (acessíveis por exemplo em www.acm.org/education/curricula.html) que estão indicados na figura 1. Figura 1 Seguindo o documento geral (CC2005 - The Overview) podemos identificar, no vasto “continente” do ensino da Computação, as seguintes grandes áreas (ou grandes disciplinas): Engenharia dos Computadores (computer engineering), Ciências da Computação (computer science), Sistemas de Informação (information systems), e Engenharia de Software (software engineering). Apesar de termos também de ter em conta as rápidas alterações na configuração das Organizações no que concerne às técnicas computacionais nelas utilizadas, as grandes disciplinas da computação deverão sobretudo ser caracterizadas por referência aos corpos de conhecimento definidos nesse “continente” da Computação. De forma genérica, define-se computação como sendo qualquer actividade orientada a objectivos, requerendo ou beneficiando da utilização de computadores. 4 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Como tal, e neste contexto Computação inclui: Concepção e construção de sistemas de “hardware” (material) e “software” (programas) para qualquer das seguintes finalidades: Processamento, estruturação e gestão de informação; estudos científicos através do uso de computadores; inclusão de comportamentos considerados inteligentes em Sistemas de Computadores; criação e utilização de meios de comunicação e entretenimento (“media”); extracção e uso da informação relevante para efeitos específicos, etc. Nascida do convívio com a Engenharia Electrotécnica e Electrónica, a Engenharia de Computadores lutou pela sua afirmação nos anos 70, tendo sido completamente aceite desde o início dos anos 90 devido à enorme quantidade e qualidade da investigação realizada até então, assim como devido à grande procura que o mercado impôs de especialistas nesse ramo. A Ciência da Computação (ou de Computadores) que vinha de meados do século XX, estabeleceu muitos princípios, algoritmos e fundamentos teóricos que permitiram a posterior autonomização de áreas mais especializadas como a Engenharia de Software e os Sistemas de Informação. Com o avanço das técnicas informáticas as Organizações têm-se esforçado por se apetrechar com as ferramentas necessárias à boa utilização da informação, quer no seu interior, quer no relacionamento com outras organizações. Surge então uma nova unidade de conhecimento a que se chama Tecnologias da Informação. Partindo deste referencial histórico, e seguindo ainda as ideias guia do trabalho realizado pelas organizações da especialidade ACM e IEEE-CS, publicado em 2005, depois dos anos 90 podemos identificar três grandes áreas fundamentais da computação, tal como indicado na figura 2. Hardware (envolvendo Engenharia Electrónica e Engenharia de Computadores); Software (envolvendo Engenharia de Computadores, Ciências da Computação, Engenharia de Software); Computação nas Organizações (envolvendo Tecnologias da Informação, Sistemas de Informação); Uma brevíssima caracterização das grandes disciplinas aqui mencionadas pode ser lida de seguida. Engenharia de Sistemas de Computação: Conhecimento focado nas teorias e práticas da Engenharia Electrónica e na matemática e sua aplicação aos problemas relacionados com o projecto de computadores, dispositivos baseados em computadores, incluindo sistemas embebidos, e redes de computadores. Ciências das Computação: Conhecimento permitindo a concepção e implementação de sistemas de software, incluindo os fundamentos teóricos e algorítmicos para aplicar em domínios da computação como os da robótica, visão por computador, sistemas inteligentes, 5 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ bio-informática e outras áreas recentes como a web semântica. Os fundamentos teóricos devem permitir a criação de algoritmos e programas mais eficientes. Figura 2 Sistemas de Informação: Conhecimento que permitirá aos especialistas (em Sistemas de Informação) focar as suas competências na integração de soluções da Tecnologia da Informação e os processos de negócio para disponibilizar a informação necessária às empresas para as suas actividades. O tratamento da informação é ainda mais importante que o conhecimento das ferramentas tecnológicas. Estes especialistas, muitas vezes oriundos de Escolas de Economia e Gestão, têm de conhecer quer os princípios da tecnologia, quer os factores organizacionais, de modo a permitir a correcta incorporação dessas tecnologias nas organizações concretas. Tecnologia da Informação: Conhecimentos que permitam formar os especialistas complementares dos Sistemas de Informação dando maior relevo às plataformas tecnológicas a incluir nas Organizações. Tais especialistas terão conhecimentos sobre a instalação, administração e segurança de redes, projecto de sítios web, gestão de correio electrónico, planificação do ciclo de vida da tecnologia usada. Engenharia de Software: os especialistas nesta disciplina têm muito em comum com os da ciência da computação. Têm competências para desenvolver e manter sistemas de software 6 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ fiáveis, eficientes e concordantes com os requisitos definidos pelos clientes. Devem saber programar, mas também gerir sistemas de software complexos. São estas grandes áreas que constituem o mapa dos corpos de conhecimento passíveis de serem integrados no plano de estudos da LEI. 2 Linhas orientadoras de formulação do plano de estudos A proposta de criação da Licenciatura em Engenharia Informática (LEI) é motivada pela necessidade de dotar a região e o país de capacidade em recursos humanos capazes de impulsionarem o desenvolvimento da indústria, companhias comerciais, instituições do estado e governo através da criação e implementação de sistemas computacionais avançados de informação e comunicação e de aplicações de software. De acordo com os objectivos definidos na iniciativa CDIO (Conceiving-Designing- ImplementingOperating), e com o seu principal lema, um graduado em Engenharia deve ser capaz de Conceber, Projectar, Implementar e Operar sistemas de engenharia complexos que acrescentem valor, num ambiente moderno de trabalho em equipa, no contexto das organizações e da sociedade. Além do conhecimento técnico necessário à sua área de actuação, todos os engenheiros deverão ser preparados e dotados de competências profissionais e pessoais que lhes conferirão as capacidades atrás enunciadas. O CDIO(www.cdio.org) estruturou todas essas competências por forma a ter em conta trabalhos anteriores como: os objectivos especificados pela Commission on Engineering Undergraduate Education do MIT, os critérios adoptados pela ABET em 2000, obrigatórios nos EUA, e ainda os especificados por uma empresa conhecida pelo grande rigor na admissão dos seus engenheiros (Boeing) que publicou os seus Desired Attributes of an Engineer. Todas estas competências e aptidões definidas no currículo CDIO, deverão ser conferidas através de todas as disciplinas de qualquer curso de engenharia utilizando acções concretas bem determinadas e a respectiva avaliação (como por exemplo: resolução de problemas, trabalhos individuais e em grupo, escrita de relatórios e artigos, apresentação pública de trabalhos, participação na discussão de temas controversos e complexos, pesquisa de informação e conhecimento relevantes, argumentação estruturada a favor e contra pontos de debate, trabalho laboratorial, elaboração e execução de projectos com alguma dimensão, etc.). A formação sólida e de “banda larga” a que são sujeitos através da leccionação de um tronco comum alargado, permite que, os formados detenham competências efectivas e úteis no 7 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ domínio da informática suficientes para enfrentarem qualquer posição no mercado de trabalho. Na Engenharia Informática deverão então ser contemplados conhecimentos técnicos em áreas como: a arquitectura de computadores, a programação e seus paradigmas, as estruturas de dados, os algoritmos fundamentais, as linguagens, os sistemas operativos, o funcionamento das redes, a engenharia de software, os sistemas de informação e as bases de dados, a interacção com os utilizadores, os sistemas distribuídos, e a gestão de projectos de software. Para a definição do currículo serviu-nos como base o volume Computing Curricula 2001 – Computer Science Curriculum, recentemente revisto em 2005, que como já se disse define em detalhe o corpo de conhecimento da Ciência da Computação, abarcando grande parte das áreas anteriores, que se procuraram cobrir na íntegra. Algumas indicações sobre áreas de especialização foram retiradas de outros volumes como o IS2002 - Information Systems Curriculum, o SE2004 – Software Engineering Curriculum, IT2005 - Information Technology Curriculum e Computer Science Curriculum 2008- An Interim Revision of CS 2001. 3 Esquema geral adoptado para o curso No gráfico da figura seguinte pode ver-se o modelo geral da Licenciatura em Engenharia Informática. 1.1 1.2 2.1 Ano.Semestre 2.2 3.1 3.2 4.1 4.2 Disciplinas Obrigatórias Projecto FECN Laboratórios Competências Transversais Tese/Projecto/Estágio A LEI é composta por 8 semestres lectivos perfazendo uma carga horária total de 3840 horas lectivas, suportado por 3 pilares fundamentais, nomeadamente: Ciências de Engenharia, Ciências de Engenharia Informática e Competências transversais. 8 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ 3.1 Disciplinas obrigatórias Este modelo geral contém uma grande área de disciplinas obrigatórias destinada à leccionação das Ciências de Engenharia e de Ciências de Engenharia Informática, das áreas definidas nos requisitos gerais pelo PUCD para os seus cursos de Licenciatura, e na área de Informática actualmente contemplada no documento CC2001, optou-se por incluir uma parte significativa do corpo de conhecimentos do CC2001, fornecendo a todos os estudantes uma base sólida e completa de “banda larga”. Assim todas as 12 das 14 grandes áreas definidas no CC2001 estão presentes, incluindo a grande maioria das 132 unidades de conhecimento em que se dividem e do mais de 1 milhar de tópicos que por sua vez as compõem. 3.2 Primeiro ano O primeiro semestre do primeiro ano será constituído por unidades curriculares de Ciências de Engenharia, de Ciências de Engenharia Informática, acrescido de um pacote de Propedêuticas de Ciências de Engenharia, que tem como objectivo principal a revisão e consolidação de conhecimentos adquiridos no ensino pré-universitário, com particular incidência para as disciplinas da área de ciências exactas do curso. Deste modo nas primeiras 4 semanas do 1º semestre será ministrado um pacote especial de actividades lectivas tendo em vista a homogeneização de conhecimentos básicos de Matemática e Física (MaFi) através de uma unidade denominada “Projecto Integrador FECN”. 3.3 Laboratórios Ao longo de 4 semestres consecutivos, com início no 1º semestre do 3º ano, os estudantes frequentarão 4 disciplinas específicas de laboratório onde terão de realizar pequenos projectos integradores e desenvolver muitas das aptidões não-técnicas de nível pessoal e interpessoal, e de concepção, implementação e operação de sistemas de complexidade crescente, descritas no CDIO. Essas aptidões serão desenvolvidas através de acções concretas, alvo de avaliação, tais como a constituição e gestão de equipas, o trabalho cooperativo e a apresentação pública de resultados. As disciplinas de Laboratório visam complementar a aprendizagem científica e técnica fornecida nas restantes disciplinas e também aplicar, de forma integrada, conhecimentos de várias áreas, conferindo-lhes outra dimensão, recorrendo a trabalhos de maior envergadura. Muitas das outras disciplinas contêm já no seu programa a realização de trabalhos de menor dimensão e grau de finalização, que servem fundamentalmente para o necessário ‘ganhar’ experiência na área mais específica da respectiva disciplina. Pretende-se nas disciplinas de Laboratório englobar várias áreas, atingir um maior grau de complexidade e finalização, e ainda conferir competências de trabalho em grupo e de concepção, projecto, implementação e operação de sistemas. De forma geral os trabalhos deverão ter 9 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ apenas uma pequena especificação inicial, deixando um grau de liberdade grande aos estudantes para o seu desenvolvimento. Laboratório de Computadores - Pretende-se nesta disciplina completar o estudo da arquitectura de computadores e a ligação da execução de programas ao respectivo hardware. Deverá ser principalmente dedicada à implementação de projectos que envolvam a programação directa de elementos de hardware presentes nos PC’s incluindo nesses projectos um esqueleto feito numa linguagem de alto nível como o C/C++ e rotinas de acesso ao hardware feitas directamente em assembly do processador. Ter-se-á aqui oportunidade para lidar de perto com o funcionamento de elementos como as placas gráficas, o teclado, porta série e paralelo, temporizadores, etc., incluindo, de forma importante, a sua utilização assíncrona (ou por eventos) através de rotinas de interrupção, ilustrando como as bibliotecas de alto nível que permitem a utilização confortável desses componentes são na realidade construídas. Este tipo de projectos constitui um excelente meio para a compreensão do funcionamento de algumas partes dos Sistemas Operativos no semestre seguinte. Outro aspecto importante que poderá ser introduzido aqui é o desenvolvimento de software embebido utilizando o PC (sem sistema operativo) como plataforma de hardware. Laboratório de Engenharia de Software – O específico neste laboratório é que se adquira habilidades na obtenção dos artefactos das distintas etapas no desenvolvimento de um produto informático, usando as melhores práticas existentes na indústria de Software. A base de todas as técnicas que vão ser estudadas é o padrão UML para a modelação de software orientado a objectos, cujos diagramas serão elaborados com uma ferramenta CASE; O modelo de processo seleccionado é o RUP (Rational Unified Process). Laboratório de Bases de Dados - O tema principal do laboratório é a concepção, projecto e implementação de bases de dados e sua interrogação recorrendo para tal, ao uso de um Sistema de Gestão de Bases de Dados como plataforma. Serão postos em prática os conceitos fundamentais sobre a arquitectura Cliente-Servidor e desenvolver-se-á o domínio na utilização de interfaces de acesso a dados (ODBC, ADO, etc.). Laboratório de Redes de Computadores - O tema principal do laboratório é a análise e projecto de sistemas de rede de computadores de pequena a grande escala, recorrendo numa pequena fase, a simuladores de redes e de seguida a projectos reais. 10 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ 3.4 Competências transversais No plano de estudos da LEI, a área de competências transversais é constituída por unidades curriculares das áreas de línguas (Português e Inglês), economia/gestão e desenvolvimento comunitário. A língua Inglesa é ministrada durante primeiros quatro semestres da LEI, desta forma afigurando-se como uma aposta forte no plano de estudos da LEI devido a sua universalidade e à sua afirmação cada vez mais predominante como língua científica, e ainda associando-se a estes dois factores a integração regional da SADC. A ligação a comunidade utilizando TIC’s será efectivada por meio da criação de um telecentro multi-propósito, equipado com telefone, fax, Internet e programas de formação, com orientação para o uso do computador, e-mail, telefone, fax, biblioteca e serviços de fotocópia. No futuro poder-se-á integrar uma unidade de ensino à distância. O telecentro irá servir directamente as comunidades do bairro Eduardo Mondlane e da aldeia de Chuíba, para além de ficar aberta a comunidade em geral. Ao longo de dois semestres estudantes e docentes participarão nos programas de formação do telecentro, bem como no processo de prospecção e implementação de pacotes informáticos adequados aos níveis de conhecimento e necessidades do público-alvo. Na fase terminal do curso é oferecida uma componente de economia, gestão e negócios com objectivo de conferir ao graduando competências suficientes para a criação, desenvolvimento e gestão do seu próprio negócio. 3.5 Estágio curricular A realização de estágios é fundamental para a integração teórico-prática no Curso, podendo ser desenvolvidos em tempo parcial e em tempo integral. Os estágios são supervisionados e podem realizar-se em períodos de férias ou em períodos lectivos regulares. Preferencialmente, a actividade Estágio deve ser realizada quando o estudante já contar com uma base sólida no campo do estágio, para um melhor aproveitamento. Isso, entretanto, não é impedimento para que os estudantes possam desenvolver actividades práticas nos períodos iniciais do Curso. O contacto directo com o mercado de trabalho é sempre recomendável e proveitoso para os estudantes em qualquer momento do Curso. 11 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ A actuação do estudante como estagiário deverá obedecer aos preceitos legais vigentes. Neste sentido, o Curso deverá fornecer duas possibilidades para que o estágio seja computado como curricular: através de uma disciplina de estágio obrigatória e através de disciplinas de estágio optativas. Em qualquer uma das hipóteses, os estágios deverão contar com a devida supervisão da Instituição, culminando com a apresentação de um relatório final por parte do estudante. Os relatórios finais deverão ser alvo de defesa dos estudantes em um seminário semestral de estágios. Este seminário será um dos elementos de re-alimentação do Curso, servindo como avaliação das práticas e metodologias de ensino. Um maior detalhamento de todos os aspectos relacionados aos tópicos delineados acima deverá constar em documento específico a respeito das normas de estágios curriculares, a ser elaborado pela Direcção do Curso. 3.6 Actividades Complementares O processo de ensino não poderá estar restringido ao cumprimento de uma determinada quantidade de disciplinas, além do estágio curricular. Espera-se que o aluno seja um elemento activo no seu processo de ensino, através da realização de actividades complementares, tais como trabalhos de iniciação científica, projectos multidisciplinares, visitas técnicas, trabalhos em equipa, desenvolvimento de protótipos, monitorias, participação em empresas juniores, entre outras. Todas as actividades a serem consideradas como complementares deverão ser exclusivas, ou seja, não poderão ser computadas para outras finalidades dentro do Curso. As actividades complementares deverão ser regulamentadas através de documento específico, a ser elaborado pela Direcção do Curso. 3.7 Trabalho de Conclusão do Curso O Trabalho de Conclusão de Curso (TCC) é uma actividade didáctica obrigatória com o objectivo de sedimentar no estudante os conhecimentos obtidos ao longo do curso. Para o efeito o último semestre está reservado para o desenvolvimento do mesmo com a possibilidade de poder assumir três formas possíveis, nomeadamente: 12 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Desenvolver a sua capacitação e auto-confiança na geração de soluções através da execução de um projecto teórico-prático a nível laboratorial ou industrial, em forma de monografia e apresentá-lo publicamente; A integração do estudante num projecto já definido, ou em curso, de investigação e/ou desenvolvimento, tendo que elaborar um relatório final da sua actividade e apresentá-lo publicamente; À frequência do estudante num estágio profissional numa empresa reconhecida, elaborar o respectivo relatório de estágio, e apresentar publicamente o conjunto da sua actividade; Para quaisquer uma das formas de culminação de curso, o estudante não terá nenhuma especialidade definida, contudo o curso foi desenhado de modo a que ao terminar, o estudante tenha um perfil orientado à grande área de Sistemas de Informação, fortemente suportada pelas áreas de Engenharia de Software, Programação e Redes de Computadores. Deste modo, o estudante estará dotado de competências para optar por prosseguir com estudos de pós-graduação ou ainda entrar para mercado de trabalho e desenvolver a sua actividade laboral em qualquer uma daquelas áreas de especialidade. As actividades a serem desenvolvidas no Trabalho de Conclusão de Curso deverão ser regulamentadas através de documento específico, a ser elaborado pela Direcção do Curso e ratificadas pelo Conselho de Faculdade. 3.8 Saídas Profissionais No final da Licenciatura em Engenharia Informática (LEI), os estudantes poderão entrar no mercado de trabalho, embora não lhes esteja associada nenhuma área de especialização específica, estarão em condições de desenvolver actividades de engenharia na indústria, esistafe, govnet, empresas informáticas de: Análise, desenvolvimento e manutenção de software; Análise, implementação e administração de sistemas de base de dados; Análise, implementação e administração de redes informáticas de pequena, média e grande dimensão; Na, banca entre outras áreas afins. 13 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ 4 Plano Curricular No quadro que se segue é apresentado o plano de estudos para a Licenciatura em Engenharia Informática, indicadas as unidades curriculares, horas de contacto semanais e os respectivos créditos por disciplina. Para a conclusão do Curso, o Estudante deverá reunir um total de 208 créditos, resultantes dos créditos por disciplina, estágios curriculares, actividades complementares e 32 créditos pelo trabalho de conclusão de curso. 14 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ o Plano Curricular 2008-2012 do Curso de Engenharia Informática [1 ciclo] 1º ano Ano Código 210111 1° Semestre Projecto Integrador FECN Técnicas de Expressão e Comunicação T 2 TP 2 P 0 Crédtitos 4 Código 210712 210812 2° Semestre Fundamentos da Programação Desenvolvimento Comunitário I T 2 1 TP 0 0 P 2 3 Crédtitos 6 2 210211 Inglês Geral I 2 2 0 4 210912 Inglês Geral II 2 2 0 4 210311 Introdução à Engenharia 2 0 0 4 211012 Mecânica e Ondas 2 1 2 3 210411 210511 Metodologia de Estudo Científico Calculo I 2 3 2 0 0 3 4 6 211112 211212 Álgebra Linear e Geometria Analítica Calculo II 2 3 1 0 2 3 5 6 210611 Introdução à Computação 2 0 2 6 211312 Introdução à Organização dos Computadores 3 1 2 6 Código 212122 212222 2° Semestre Programação Orientada por Objectos Desenvolvimento Comunitário III T 2 1 TP 0 0 P 3 3 32 Uc 6 2 4º ano 3º ano 2º ano Total de Créditos Código 211421 211521 1° Semestre Programação Desenvolvimento Comunitário II T 2 1 TP 0 0 P 3 3 28 Uc 6 2 211621 Inglês I 2 2 0 4 212322 Inglês II 2 2 0 4 211721 Electricidade e Magnetismo 2 1 2 3 212422 Probabilidade e Métodos Estatísticos 2 0 2 3 211821 Matemática Discreta 2 1 2 4 212522 Sistemas e Tecnologias de Informação 2 2 0 4 211921 Calculo III 3 0 3 6 212622 Introdução as Base de Dados 2 0 3 6 212021 3 1 2 0 3 TP 0 P 2 Código 213532 Microprocessadores e Computadores Pessoais Total de Créditos 2° Semestre Programação Web 2 T 3 5 30 Uc 5 212722 Código 212831 Arquitectura de Computadores Total de Créditos 1° Semestre Algoritmos de Programação e Estrutura de Dados T 2 TP 0 P 3 5 30 Uc 6 212931 Desenvolvimento Comunitário IV 1 0 3 2 213632 Técnicas de Gestão e Negócios 2 2 0 2 213031 Redes de Computadores 2 2 0 5 213732 Sistemas Operativos 2 0 3 5 213131 Métodos Numéricos 2 0 2 3 213832 Engenharia de Software II 3 0 3 6 213231 213331 213431 3 2 2 0 0 0 3 3 4 Laboratório de Base de Dados Laboratório de Redes de Computadores 2 2 0 0 4 4 6 5 T 3 TP 0 P 2 6 5 4 30 Uc 6 213932 214032 Código 214141 Engenharia de Software I Sistemas de Base de Dados Laboratório de Computadores Total de Créditos 1° Semestre Sistemas Distribuídos T 15 TP 10 P 30 30 Uc 32 214241 Investigação Operacional 2 2 0 4 214341 Gestão de Projectos Informáticos 2 2 0 6 214441 Laboratório de Engenharia de Software 1 0 5 6 214541 Projecto de Licenciatura 1 - 3 Total de créditos Total de Créditos Total de Créditos Código 214642 2° Semestre Monografia (Pesquisa/Projecto/Estágio Profissional) 6 28 Total de Créditos Grand Total de Créditos 15 32 240 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ 4.1 Áreas Científicas das Unidades Curriculares Área Científica Tecnologias de Informação Arquitectura de Computadores Engenharia de Software Física Matemática Métodos Quantitativos e Gestão Programação Sistemas de Informação Sistemas Operativos e Redes Áreas Transversais Temas Multidisciplinares Unidades Curriculares Introdução à Computação Introdução à Organização de Computadores Arquitectura de Computadores Microprocessadores e Computadores Pessoais Laboratório de Computadores Sistemas e Tecnologias de Informação Engenharia de Software I Engenharia de Software II Laboratório de Engenharia de Software Mecânica e Ondas Electricidade e Magnetismo Cálculo I, II, III Álgebra Linear e Geometria Analítica Matemática Discreta Métodos Numéricos Probabilidade e Métodos Estatísticos Investigação Operacional Técnicas de Gestão e Negócios Gestão de Projectos Informáticos Fundamentos da Programação Programação Programação Orientada por Objectos Algoritmos de Programação e Estruturas de Dados Programação Web Introdução à Base de Dados Sistemas de Base de Dados Laboratório de Base de Dados Sistemas Operativos Redes de Computadores Laboratório de Redes de Computadores Sistemas Distribuídos Inglês Geral I, II Inglês I, II Métodos de Estudo Científico Técnicas de Expressão e Comunicação Introdução à Engenharia Desenvolvimento Comunitário I, II, III, IV Projecto de Licenciatura Monografia (Pesquisa/Projecto/Estágio Profissional) 16 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ 4.2 Tabela de Precedências Semestre 1 Disciplinas Calculo I Projecto Integrador FECN Introdução à Computação Técnicas de Expressão e Comunicação Inglês Geral I Introdução à Engenharia Metodologia de Estudo Científico Total 2 Calculo II Fundamentos da Programação Introdução à Organização dos Computadores Inglês Geral II Álgebra Linear e Geometria Analítica Mecânica e Ondas Desenvolvimento Comunitário I Total 3 Calculo III Programação Electricidade e Magnetismo Matemática Discreta Inglês I Arquitectura de Computadores Desenvolvimento Comunitário II Total 4 Microprocessadores e Computadores Pessoais Programação Orientada por Objectos Introdução à Base de Dados Inglês II Sistemas e Tecnologias de Informação Probabilidade e Métodos Estatísticos Desenvolvimento Comunitário III Total Algoritmos de Programação e Estrutura de Dados Redes de Computadores Laboratório de Computadores 5 Sistemas de Base de Dados Engenharia de Software I Métodos Numéricos Desenvolvimento Comunitário IV Total 6 Engenharia de Software II Laboratório de Base de Dados Programação Web Sistemas Operativos Laboratório de Redes de Computadores Técnicas de Gestão e Negócios Total 7 8 Laboratório de Engenharia de Software Sistemas Distribuídos Investigação Operacional Projecto de Licenciatura Gestão de Projectos Informáticos Total Monografia (Pesquisa/Projecto/Estágio Profissional) 17 Uc 6 6 4 4 4 4 28 6 6 6 4 5 3 2 32 6 6 3 4 4 5 2 30 5 6 6 4 4 3 2 30 5 5 4 5 6 3 2 30 6 6 6 5 5 2 30 6 6 4 6 6 28 32 Pré-requisitos Calculo I Inglês Geral I Calculo II Fundamentos da Programação Mecânica e Ondas Introdução à Organização dos Computadores Arquitectura de Computadores Programação Inglês I Programação Orientada por Objectos Microprocessadores e Computadores Pessoais, Programação Introdução a Base de Dados Engenharia de Software I Sistemas de Base de Dados Programação Orientada por Objectos Programação Redes de Computadores Engenharia de Software II Laboratório de Redes de Computadores Todas disciplinas Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ 4.3 Conteúdos Programáticos Sem prejuízo de uma definição e coordenação mais rigorosa dos programas e funcionamento das disciplinas, indicam-se a seguir os seus tópicos fundamentais, bem assim como a respectiva carga horária. Calculo I Ano Semestre Carga Horária 1º 1º 6 Objectivos: Gerais: Dotar o estudante de conhecimentos que o possibilitem compreender e resolver problemas elementares sobre primitivas, séries numéricas e, estudo de funções reais de uma variável real com ênfase no cálculo diferencial e integral que vão fornecer bases sólidas para outras áreas científicas do curso. Específicos: Formação básica em cálculo diferencial e integral, com domínio nas seguintes matérias: sucessões, diferencial e integral de funções reais de uma variável. Introdução as séries numéricas. Ser capaz de determinar, caso exista, a primitiva de uma função real de variável real, bem como compreender e saber aplicar os métodos de primitivação por partes e por substituição. Programa: 1. Sucessões numéricas: definição, sucessões limitadas e sucessões monótonas, definição de subsucessões, sucessões convergentes, limite de sucessões numéricas, teoremas fundamentais sobre sucessões limitadas, sucessões de Cauchy. 2. Funções reais de variável real: funções reais definidos em R, noções de limite (definição de Cauchy), limites laterais e limites de funções reais de variável real, propriedades e operações, estudo da continuidade de funções reais de variável real, propriedades das funções contínuas, definição da continuidade no ponto (segundo Heine e segundo Cauchy), definição de continuidade à direita e à esquerda, propriedades aritméticas com funções contínuas, descontinuidade de primeira espécie e de segunda espécie, teorema de Bolzano, teorema de Weierstrass, estudo das funções trigonométricas, estudo das funções trigonométricas inversas, funções exponenciais e logaritmicas. 3. Cálculo diferencial em R: noções de derivada de uma função, derivadas laterais, derivadas de uma função num ponto, derivadas de função composta e de função inversa, derivadas das funções trigonométricas inversas, diferenciabilidade e continuidade, derivada das equações definidas parametricamente, propriedades das funções diferenciais, regras de derivação, derivação de ordem superior, derivadas de função implícita, derivada de funções dadas na forma paramétrica, definição de máximo (mínimo) local, máximo (mínimo) absoluto. 4. Teoremas fundamentais: teorema de Rolle, 18 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ teorema de Lagrange teorema de Cauchy, regra de L’hospital e regra de Cauchy para levantamento de indeterminação, fórmula de Taylor e de Maclauren, teorema de Fermat. 5. Extremo de funções: concavidade e pontos de inflexão, assímptotas, esboço de gráfico de uma função. 6. Cálculo integral em R: primitivas, noção de primitivas e técnicas de primitivação, integral definido a Riemann, funções integráveis, teoremas fundamentais do cálculo integral, cálculo de áreas, integral imprópria de primeira espécie, integrais duplos, cálculo de áreas e volumes. 7. Séries numéricas: definição de convergência, séries geométricas e séries de Mengoli, séries de termos não negativos, critério de integral e critério de comparação, séries harmónicas, convergência absoluta, critério de D’Alambert e de Leibniz, séries alternadas. Bibliografia: João Carlos Beirão, Stella Mogadinho. Introduçao à análise matemática N. S. Piskonouv. Cálculo diferencial e integral, vol II. Lisboa, 1977 B. P. Demidovitch. Problemas e exercícios de análise matemática. Editora MIR, Moscovo, 1977 Malta, I. & Pesco, S. & Lopes, H. Cálculo a uma variável, vol II. Edições Loyola Projecto Integrador FECN Ano 1º Semestre 1º Carga Horária - Objectivos: O Projecto Integrador FECN (PIF) atende aos percursos anteriores específicos de cada estudante, às suas características pessoais, e ao curso a que cada um se dirige. Assim, não há um programa único, mas sim programa à medida de cada estudante, e que procura responder a esse desiderato. O PIF inicia-se com um inquérito on-line, que decorre em conjunto com a inscrição na FECN, e que é essencial para o desenvolvimento de todo o Projecto. Este inquérito incide sobre o percurso anterior de cada estudante e interroga-o ainda sobre os seus pontos fortes e fracos, e sobre as suas motivações pessoais. Os dois primeiros dias de actividade são preenchidos com a realização de testes de avaliação de conhecimentos, nas áreas de Matemática e Física. O inquérito e os testes, em conjunto com as restantes informações disponíveis sobre cada estudante, permitirão constituir as turmas e os grupos de trabalho para o Projecto. Permitirão ainda identificar os grupos de estudantes a quem serão oferecidas aulas especiais de recuperação, ou projectos especiais, com dispensa de aulas. Nos últimos dias de actividade serão realizados novos testes de avaliação, em que se pretende avaliar não só os conhecimentos como também o progresso realizado por cada um. 19 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Introdução à Computação Ano 1º Semestre 1º Carga Horária 4 Objectivos: Gerais: Introdução ao mundo das tecnologias de Informação e Comunicação (TIC). Introdução a Ciência da Computação Específicos: Ter conhecimento geral da Historia dos computadores e noções de Hardware Adquirir o raciocínio lógico necessário à resolução de problemas, tanto profissionais como pessoais usando as TIC; Compreender os conceitos fundamentais relacionados com a utilização dos computadores e conhecimentos das Tecnologias de Informação (TI); Conhecer os sistemas operacionais e as respectivas características Reconhecer a utilização do software na sociedade e a utilidade das redes informáticas; Ter noção de como as TI se encontram integradas em situações do dia-a-dia e como os computadores podem influenciar a saúde; Buscar uma satisfação científica do que é internet, e o uso da mesma. Programa: 1. Introdução à informática. 2. Introdução ao computador: constituição; periféricos; modo de funcionamento. 3. Software: categorias; sistemas operativos; aplicativos. 4. Redes: correio electrónico; internet. 5. Tecnologias de informação e a Sociedade. 6. Segurança e direitos de autor. 7. Introdução ao uso do computador: Ambiente de trabalho; organização de ficheiros; edição base; impressão. 8. Ferramentas Office: Processamento de texto (word); Folha de cálculo (excel); apresentações (powerpoint). 9. Sistema operativo Linux: conceitos básicos. 10. Sistemas de numeração: bases de numeração (base 2, 8, 16); operações aritméticas (adição, subtracção, divisão e multiplicação) em bases 2, 8 e 16; Representação de números fraccionários na base 2; representação de números em base de potências de 2; 11. Códigos: BCD; alfanuméricos. Bibliografia: ROCHA, Nelson et. All. Introdução á Informática. 3 ed. Univ. Aveiro Jorge Neves. Utilizar o computador depressa e bem. 2009. Técnicas de Expressão e Comunicação Ano 1º Semestre 1º Carga Horária 6 20 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Objectivos: Gerais: Ter competências de comunicação oral e de comunicação escrita Específicos: Dotar o estudante da capacidade de produzir textos de comunicação oral (a entrevista, o diálogo, o questionário, a exposição e o debate); Dotar o estudante da capacidade de produzir textos de expressão escrita (Resumos, síntese, inquérito, relatório técnico, CV e carta de candidatura a emprego). Dotar o estudante da capacidade de tirar notas e fazer esquemas. Programa: 1. Conceituação; Técnicas de Expressão e de Comunicação: Conceito de língua, Esquema do acto de comunicação. 2. Comunicação escrita: Condicionalismos de comunicação escrita, Principais diferençam entre a comunicação oral e escrita, Ortografia e sinais de pontuação. 3. Textos de comunicação oral e escrita: A entrevista, O diálogo, O questionário, A exposição oral, O debate. 4. Hábitos de estudo: Organizar uma página de notas, Tirar notas/apontamentos (de: uma aula, um texto, um livro, um artigo, uma visita de estudo, um filme, um colóquio, um programa da televisão, um programa da internet, Fazer esquemas). 5. Textos de comunicação escrita: Resumo, Síntese, Inquérito, Relatório técnico, CV, A acta, Carta de candidatura a emprego, Formas de tratamento em Português. Bibliografia: Correia, João David Pinto, (1978) Introdução às técnicas de comunicação e de expressão, Lisboa. Cunha & Cintra (1999) Nova gramática do português contemporâneo, Lisboa. Mateus & Villalva (2006), O essencial sobre linguística, Portugal. Silva; Maria Alda Loya, (1991) Iniciação à comunicação oral e escrita, 2ª edição, Lisboa, editorial presença, lda. Monteiro; Manuela Matos (2002) Como tirar apontamentos e fazer esquemas, porto editora, Portugal. Campbell, John (1993) Técnicas de Expressão Oral, 1ª Edição, Lisboa. Inglês Geral I Ano 1º Semestre 1º Carga Horária 6 Objectivos: Gerais: General English language command. Específicos: By the end of the term students should be able to/have good command of: 21 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Give detailed personal information about him/herself; Ask and answer basic questions; Identify differences in tenses; Use appropriately modal verbs; Read and comprehend texts; Speak about general life issues using the target language. Programa: 1. Verb to be (Grammar and vocabulary): Pronouns (I, you, he, etc.); Verb to be (positive, negative and question forms); Possessive adjectives (my, your, etc.); A / an, plurals; Demonstrative pronouns (this, that, these, those); There is / there are. 2. Present simple (Grammar and Vocabulary): Have-got (positive, negative and question forms); Regular and irregular verbs (positive, negative and question forms); Do not (don’t), does not (doesn’t). 3. Adjectives, prepositions and adverbs (Grammar and vocabulary): Telling the time; Adverbs of frequency; Prepositions of time. 4. Can / can’t (Grammar and vocabulary): Ability verbs (speak, cook, drive, etc.); Like + (verb + - ing). 5. Past simple (Grammar and vocabulary): Past simple of be (positive, negative, question forms); Past simple of regular verbs (positive, negative, question forms); Past simple of irregular verbs (positive, negative, question forms); Was, were / wasn’t, weren’t; Did, did not (didn’t). 6. Present continuous (Grammar and vocabulary): Am /is / are + main verb + ing; Positive, negative and question forms; Language competence: Understand the difference between present simple and present continuous. 7. Some / any, how much / how many (Grammar and vocabulary): Countable and uncountable nouns; Verb phrases; Quantifiers: a lot, not much, etc. 8. Future (Grammar and vocabulary): Will; Shall; Be going to (plans); Be going to (predictions). 8. Present perfect (Grammar and vocabulary): Been / been to; Have, has. Bibliografia: Abbs, B. (1998), Snapshot, Elementary Students’ Book, Longman, London. Murphy, R. (2000), Essential Grammar In Use, Cambridge University Press. Murphy, R. (2000), English Grammar In Use, Cambridge University Press. Introdução à Engenharia Ano 1º Semestre 1º Carga Horária 6 Objectivos: Introduzir o estudante ao mundo das Engenharias. Programa: 1. Introdução à engenharia. 2. O Engenheiro e a comunicação. 3. Ordens da Engenharia. 4. Engenharia e a sociedade. 5. Pesquisa e Criatividade. 6. Modelagem e Simulação. 7. Projectos em Engenharia. 8. Áreas de actuação de engenharias. 22 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Bibliografia: Bazzo, W. A. & Pereira, L. T. Introdução à Engenharia: Conceitos, Ferramentas e Comportamentos. Editora da UFSC. Florianópolis. 2006. Metodologias de Estudo Científico Ano 1º Semestre 1º Carga Horária 4 Objectivos: Gerais: Dar aos estudantes os conhecimentos aprofundados sobre o processo científico e apresentação da linguagem científica necessária para a sua escrita. Ensinar aos estudantes as várias fases do processo científico, baseando-as nos processos mentais desenvolvidos pelos cientistas. Desenvolver nos estudantes um espírito crítico baseado, levando-os a compreender fenómenos descritos, aperceber-se das suas críticas e compreendendo suas falhas e possíveis construções, reformulações ou refutações. Específicos: Introduzir a construção do pensamento científico e evolução da Ciência a par das condições económico-sociais do Mundo. Fornecer aos estudantes as regras científicas básicas que permitem a construção de um projecto científico e a sua apresentação a um público leigo assim como a um público científico. Descrever técnicas de estudo que pautem o trabalho intelectual, permitindo esquematizar e facilitar o processo de aparecimento de hipóteses, baseado em conhecimento anterior e procurando confrontá-lo com conhecimento prático ou cruzado de teorias diversas. Desenvolver técnicas de debate acerca de teorias biológicas diversas. Adquirir técnicas de procura e interpretação de material científico sob a forma de artigo, monografia, ensaio ou paper científico. Adquirir ferramentas para apresentar um documento científico seguindo as regras previamente estabelecidas pela comunidade científica internacional Programa: As Ciências e a sua evolução histórica: o conhecimento científico, método científico, elementos do método científico, etapas do conhecimento científico. A sistematização da Ciência: ciência na Grécia antiga, ciência moderna, ciência contemporânea. A pesquisa científica (Tipologia): pesquisa bibliográfica, pesquisa documental, pesquisa experimental. Aspectos Técnicos de Redacção: prétextuais, textuais, pós-textuais, o relatório científico, citações e referências bibliográficas. Debate científico: estudo e compreensão das teorias diversas, aceitação, refutação e reformulação de teorias, discussão de metodologias e resultados. Fases de Investigação Científica. 23 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Bibliografia: Lak Gil, António Carlos. Métodos e Técnicas de Pesquisa Social, 5ª Edição, São Paulo: Editora Atlas, 2007. Atos, Eva Maria. Técnicas de Pesquisa, 5ª Edição, São Paulo: Editora Atlas S.A 2002. Richardson, R.J. Pesquisa Social, Métodos e Técnicas, 3ª Edição, São Paulo: Editora Atlas 2008 Bell, J. Como realizar um projecto de Pesquisa, 3ª Edição, Lisboa: Gradiva Publicações, 2004 Álgebra Linear e Geometria Analítica Ano 1º Semestre 2º Carga Horária 6 Objectivos: Gerais: Formação básica em Álgebra Linear e Geometria Analítica, domínio em matéria de espaços vectoriais, transformações lineares, espaços euclidianos, valores e vectores próprios. Específicos: Resolver por vários métodos, classificar, fazer um estudo sobre as condições de compatibilidade e incompatibilidade dum sistema de equações lineares. Operar com matrizes Calcular determinantes segundo Leibnitz, Laplace, através de transformações elementares e aplicação de propriedades. Utilizar determinantes na resolução de sistemas de equações. Identificar espaços vectoriais, indicar suas bases e dimensão. Identificar transformações lineares, singulares e não singulares Determinar o núcleo e imagem duma transformação linear. Ortogonalizar vectores pelo processo de Gram-Schmidt num espaço euclidiano. Programa: 1. Matrizes: Definição; Operações com matrizes; Transposição; Matrizes escalonadas; Equivalência por linhas e operações elementares com linhas; Matrizes quadradas; Matrizes invertíveis; Matrizes por blocos; Matrizes ortogonais; Matrizes de mudança de base. 2. Determinantes: Definição; Permutação; Propriedades dos determinantes; Menores e co-factores; Adjunta clássica; Cálculo da inversa a partir da adjunta; Determinante segundo Laplace; Regra de cramer. 3. Sistemas de equações lineares: Definição; Solução de um sistema de equações lineares; Solução de um sistema homogéneo de equações lineares; Método de eliminação de Gauss; Regra de cramer. 4. Álgebra vectorial: Definição; Operações algébricas com vectores (adição, subtracção, multiplicação por escalar); Produto interno, produto vectorial e produto misto; Norma e ortogonalidade; Definição de espaços linear (vectorial); Definição de subespaços vectoriais; Sub-espaços gerados; Independência e dependência linear; Combinações lineares; Bases e dimensão; Espaços euclidianos. 5. Geometria Analítica: Estudo de rectas Rn: aplicações geométricas em R3; Estudo do plano em Rn; Vectores normais a planos em R3; Cónicas; Quadráticas; Coordenadas polares, cilíndricas e esféricas. 6. Transformações lineares: Núcleo e contradomínio 24 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ (imagem) de uma transformação linear; Operações algébricas com transformações lineares; Transformações lineares injectivas; Representação matricial de transformações lineares; isomorfismo entre transformações lineares e matrizes. 8. Auto-valores (valores próprios) e Auto-vectores (vectores próprios): Definição; Polinómios de matrizes e operadores lineares; Diagonalização e vectores próprios; Condição necessária e suficiente para a existência de representação matricial diagonal de uma transformação linear. Bibliografia: ANTON, Howard; Elementary Linear algebra. ISBN: 0-471-44902-4 LUIS, Gregório; Álgebra Linear. ISBN: 972-9241-05-8 MONTEIRO, António; Álgebra linear e geometria analítica. ISB: 972-8298-66-8 RIBEIRO, Carlos Alberto Silva; Álgebra Linear. ISBN:972-8298-82-x CABRAL, Isabel; PERDIGÃO, Cecília; SAIAGO, Carlos; Àgebra linear. Escolar editora, 2009 Fundamentos da Programação Ano 1º Semestre 2º Carga Horária 5 Objectivos: Gerais: Especificação de algoritmos para resolução de problemas; Programação em linguagem Pascal; Específicos: Identificar os conceitos fundamentais da programação imperativa/procedimental Aplicar as técnicas de programação da linguagem Pascal na implementação de algoritmos de baixa complexidade Programação estruturada e fases de elaboração de um programa escrito numa linguagem de alto nível; Programa: 1. Conceitos Básicos de Programação: Linguagens de Programação; tradutores. 2. Algoritmos: Definição de Algoritmo; Características dos algoritmos; Estruturas Chaves da Construção de Algoritmos; Refinamentos sucessivos de algoritmos. 3. Introdução à Linguagem Pascal: Variáveis; Constantes; palavras reservadas. 4. Tipos de dados: Simples; estruturados; definidos pelo Programador. 5. Expressões: Operadores Aritméticos; Funções numéricas pré-definidas; operadores relacionais; operadores lógicos; prioridades dos operadores. 6. Estrutura de um programa em Pascal: Declaração de uso de units; declaração de constantes; declaração de tipos; declaração de variáveis; declaração de procedimentos e funções, área de instruções; comentários num programa. 7. Comandos básicos: atribuição; entrada; saída. 8. Estruturas de decisão. 9. Estruturas de repetição. 10. Manipulação de strings: o tipo de dado string; funções e procedimentos pré-definidos. 11. Arrays. 12. Modularização: 25 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Procedimentos; Funções; visibilidade de variáveis; passagem de parâmetros; arrays como parâmetros; criação de units. 13. Controlo de vídeo e teclado. Bibliografia: J. Pavão Martins, Introdução à programação usando o pascal. McGraw Hill, Lisboa. Aguillar, Luís Joyannes, Fundamentos de Programação: algoritmos, estruturas de dados e objectos Introdução à Organização de Computadores Ano 1º Semestre 2º Carga Horária 6 Objectivos: Gerais: Dotar o estudante de capacidade para elaborar e projectar pequenos sistemas, que compõe um microprocessador. Específicos: Adquirir conhecimentos sobre sistemas de numeração digital; Obter conhecimento para análise e projecto de circuitos lógicos combinatório; Obter conhecimento para análise e projecto de circuitos sequenciais (síncronos e assíncronos) Interligar o ambiente analógico ao ambiente digital. Descrever os conceitos básicos da constituição dos computadores Programa: 1. Introdução: Organização funcional de um computador convencional; Aspectos tecnológicos associados à evolução dos computadores; Impacto da evolução tecnológica na organização e no desempenho dos computadores; 2. Conceitos básicos: noção de instrução; noção de programa; o processo de produção e execução de programas; tradução de programas; programas auxiliares; A função do sistema operativo. 3. Sistemas Digitais Combinacionais: Dispositivos básicos de sistemas digitais; "Gates"; Tabelas de verdade e equações lógicas; Lógica combinacional; Exemplos de circuitos combinacionais típicos (somadores/subtractores, comparadores, multiplexadores, descodificadores); Especificação de circuitos combinacionais na linguagem Verilog. 4. Circuitos Digitais Sequenciais: FlipFlops; Dispositivos Schmitt-trigger; Multivibradores Monoestável; Circuitos Geradores de Clock; Circuitos sequenciais usando HDL. 5. Sistemas Digitais Síncronos/Assíncronos: Elementos de memória; Temporização; Implementação de estruturas de controlo (máquinas de estados finitas e microprogramas); Análise de circuitos sequenciais síncronos; Projecto de circuitos sequenciais síncronos; Especificação de circuitos síncronos na linguagem Verilog. 5. Unidades de Processamento de Dados: ALUs (Unidades Aritméticas e Lógicas); Aritmética de vírgula fixa; Aritmética de vírgula flutuante. Bibliografia: J. F. Wakerly, Digital Design – principles and Practices. 2nd ed., Prentice-Hall 1994 26 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ J. Delgado, C. Ribeiro, Arquitectura de Computadores Tannenbaum, A. S. Organização estruturada de Computadores. 4th ed. LTC. 1999 António Padilla , Sistemas Digitais, Editora : Mc Graw Hill Ronald J. Tocci, Neals S. Widmer e Gregory L. Moss, Sistemas Digitais - Princípios e aplicações 10ª edição, Prentice hall G. Arroz e C. Serrô, Sistemas Digitais - Apontamentos das Aulas Teóricas, 2005 – Instituto Superior Técnico, Lisboa Calculo II Ano 1º Semestre 2º Carga Horária 6 Objectivos: Gerais: Consolidação do Cálculo I, domínio do Cálculo diferencial e integral de funções de mais de uma variável real, incluindo os teoremas fundamentais do Cálculo. Implementar os conhecimentos obtidos a Calculo de fenómenos naturais e processos técnicos para enfrentar com sucessos as exigências do progresso técnico científico Capacitar o aluno a usar o conceito de séries. Tratar o Cálculo Diferencial para a função de duas e três variáveis. Específicos: Pretende-se que o aluno saiba trabalhar com funções de duas ou três variáveis, derivadas parciais e direccionais dessas funções e com propriedades do vector gradiente, além de saber utilizar derivadas parciais para resolver problemas de máximos e mínimos. Saber utilizar integrais duplas e triplas para calcular volume de região compreendida entre duas ou mais superfícies. Saber calcular integrais de linha e de superfícies, inclusive utilizá-las para calcular, respectivamente, comprimento de arco e áreas de superfícies; compreender os teoremas de Green, Gauss e Stokes. Programa: 1. Séries numéricas e de funções: definição, testes de convergência, séries de potências, séries de Taylor e de Maclaurin. 2. Funções de várias variáveis: definição, representação geométrica, domínio de função, limites e continuidade, derivadas parciais e direccionais, diferenciabilidade, aplicação de diferencial aos cálculos aproximados, derivadas parciais de ordem superior à primeira e teorema de Schwarz, enunciado dos teoremas da função inversa e implícita, superfícies de nível, gradientes, extremos condicionados. 3. Integrais múltiplos: integral duplo, propriedades principais, cálculo dos integrais duplos, mudança de variáveis, aplicação dos integrais duplos, integral triplo, propriedades do integral triplo, mudança de variáveis, aplicação do integral triplo, integrais dependentes de um parâmetro, função gama, função beta, estrutura algébrica e topológica de Rn, função de Rn em Rm. 4. 27 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Integrais curvilíneos e de superfície: integral curvilíneo da primeira espécie, integral curvilíneo da segunda espécie, fórmula de Green, condições para que um integral curvilíneo não dependa do caminho integral, aplicações do integral curvilíneo, integral de superfície, definição e propriedades do integral de superfície, fórmula de Stokes, fórmula de Ostrogradski. 5. Elementos da teoria do campo: campo escalar e vectorial, divergência, rotação, circulação, operador nabla, campo potencial, integrais curvilíneos e de superfície em termos da teoria do campo. Bibliografia: João Carlos Beirão, Stella Mogadinho. Introdução à análise matemática N. S. Piskonouv. Cálculo diferencial e integral, vol II. Lisboa, 1977 B. P. Demidovitch. Problemas e exercícios de análise matemática. Editora MIR, Moscovo, 1977 Malta, I. & Pesco, S. & Lopes, H. Cálculo a uma variável, vol II. Edições Loyola Mecânica e Ondas Ano 1º Semestre 2º Carga Horária 4 Objectivos: Gerais: Fornecer ao estudante uma apresentação clara e lógica dos conceitos e princípios básicos da física e, fortalecer a compreensão dos conceitos e princípios por meio de uma ampla gama de aplicações interessantes para o mundo real. Específicos: Conhecer e aplicar os conceitos e os princípios básicos da mecânica clássica em situações concretas; Conhecer os conceitos e os princípios básicos dos fenómenos ondulatórios, reforçando a compreensão desses conceitos através de aplicações ao mundo real. Programa: 1. Introdução a Mecânica e Cinemática do ponto material: Movimento em uma dimensão; Movimento em duas e em três dimensões; Movimento relative. 2. Dinâmica do ponto material: Leis de Newton; Aplicações das leis de Newton (Aplicações das leis de Newton do movimento; Aplicações das leis de Newton da Gravitação Universal); Trabalho e Energia; Leis de conservação (Conservação de energia). 3. Sistemas de Partículas e Conservação do Momento: Centro de massa; Localização do centro de massa por Integração; Movimento do centro de massa; Conservação do momento; Energia Cinética de um Sistema; Colisões. 4. Equilíbrio estático de um corpo rígido: Condições de Equilíbrio; O centro de gravidade; Exemplos de Equilíbrio Estático; Pares; Equilíbrio estático de um referencial acelerado; Estabilidade do Equilíbrio de Rotação. 5. Rotação do corpo rígido: Velocidade angular e Aceleração angular; Torque, Momento de Inércia e Segunda lei de Newton para a Rotação; Cálculo do Momento de Inércia; Aplicação da Segunda Lei de Newton à Rotação; Energia cinética de Rotação; Corpos que Rolam. 6. Oscilações: Cinemática e dinâmica do movimento harmónico simples; A energia de um oscilador 28 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Harmónico simples; Movimento Harmónico Simples e Movimento; Oscilações forçadas e Amortecidas. 7. Ondas: Movimento Ondulatório; Superposição de Ondas e Ondas Estacionárias; A dualidade Ondapartícula. Bibliografia: Alonso, Marcelo & Finn, Edward J. Física; Brasil; 2001. Hallyday, David; Resnick, Robert; Walker, Jerl. Fundamentos de Física, Volume 1, 6ª Edição, LTC Editora, Rio de Janeiro, 2002. Sears, Zemansky e Young, Freedman, Física Universitária, 11ª Edição, Volume 1, México, 2005. Tipler, Paul A. Física, Volume 1, 4ª Edição, LTC Editora, Rio de Janeiro, 2000. Serway, Raymond A. e Jr. John W. Jewett. Princípios de Física, Mecânica Clássica, Volume 1, Editora Thomson, São Paulo, 2005. Ramalho; Nicolau; Toledo. Os Fundamentos da Física 3, 2008 Inglês Geral II Ano Semestre 1º 2º Carga Horária 4 Objectivos: General English language command. Específicos: Identify differences in tenses Use appropriate linking words in oral and written language Use sentences either in active or passive Read and comprehend texts Write an essay Talk about a specific topic in English using appropriate language Programa: 1. Present Simple, Past Simple and Present Perfect (Language Review): Vocabulary (Food and restaurant, Sport, Money, Phrasal verbs). 2. Future Forms: Grammar points (Be going to, will, Shall), Vocabulary (Family, Personality, Each other, Reflexive pronouns). 3. Reading and Comprehension: Skills (Analyzing texts, Predicting the main story of a text, Skimming (Reading for general information), Finding out the meaning of words, Re-telling a story of a text). 4. Essay Writing: Skills (Basic techniques for writing a analytical essay, Selecting appropriate linking words, Making the main points). 5. Modal Verbs: Can (present and past – positive, negative, and question forms), May (present and past – positive, negative, and question forms), Should (positive, negative, and question forms), Would (positive, negative, and question forms), Must (positive, negative, and question forms), Have to (positive, negative, and question forms). 6. Adjectives: Regular, irregular one-syllable and multi-syllable adjectives, Comparative degree, Superlative degree. 7. Reading and Comprehension: Skills (Analyzing 29 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ texts, Predicting the main story of a text, Scanning (Reading for specific information), Finding out the meaning of words). 8. Reported Speech: Statements, Questions, Commands. Bibliografia: Heinle, T. (2001), more grammar practice, Toronto. Murphy, R. (2000), english grammar in use, Cambridge University Press. Oxenden, C. & Cathamk-koeing, C (1997), new english file, intermediate students' book, Oxford. Oxenden. C. & Lathamk-koeing (1997), new english file, pre-intermediate students' book, Oxford. Calculo III Ano 2º Semestre 1º Carga Horária 6 Objectivos: Gerais: Dominar os conceitos e os métodos de Matemática associados a Análise Complexa e a Equações Diferenciais Ordinárias, bem como a sua aplicação à resolução de problemas. Em particular, colocar-se-á a ênfase a interpretação geométrica destes e na capacidade de aplicação dos conceitos matemáticos à resolução de problemas práticos. Desenvolver as capacidades de utilizar métodos e conceitos abstractos nas áreas referidas essenciais para a engenharia de concepção. Saber desenvolver funções em série de Fourier e conhecer as suas aplicações, É também objectivo da disciplina introduzir a utilização de software tal como o Mathematica e o Matlab, nomeadamente na resolução de equações diferenciais. Específicos: Entender e utilizar os conceitos de equações diferenciais de 1ª , 2ª ordem e elementos da análise complexa. Dominar os conceitos de integração Múltipla, Integrais de linha e de superfície e aplica-los em problemas geométricos. Dominar os conceitos de elementos de análise complexa, Séries de Fourier e de Transformação de Laplace Programa: 1. Equações diferenciais de 1ª ordem: Definições; Interpretação geométrica de uma equação diferencial de 1ª ordem resolvida em relação a derivada; Teorema de Cauchy (sem demonstração); Equações com variáveis separadas e separáveis; Equações homogéneas e redutíveis a homogéneas; Equações diferenciais lineares de 1ª ordem; Equações de Bernoulli; Equações diferenciais exactas; Equações de Lagrange e Clairaut. Equações diferenciais de 2ª ordem: Equações de 2ª ordem, não contendo explicitamente a variável dependente; Teorema de existência e unicidade da solução de equações de 2ª 30 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ ordem; Teoria geral de equações lineares; Independência linear de funções , determinante de Wronsky; Fórmula de Ston Liuville; a forma geral da solução de uma equação linear homogénea e não homogénea; Resolução de equações lineares de 2ª ordem conhecendo uma solução particular; Equações lineares com coeficientes constantes: Equações homogéneas e não homogéneas, o método de coeficientes indeterminados. Resolução de sistemas de equações diferenciais por métodos de eliminação; Equações de Euler; Equações de Bessel: utilização de tabela. 3. Elementos da análise complexa: Números complexos: forma algébrica, trigonométrica e operações aritméticas. Forma exponencial; Fórmulas de Euler. Sucessões e Séries de números complexos. Conceito de uma função complexa; Funções elementares. Derivação. Equações de Cauchy–Riemann. Integração. Definições e Propriedades principais; Integração através da curvilínea; Teorema de Cauchy; Fórmula Integral de Cauchy. Pontos singulares. Resíduos. Teorema dos resíduos. 4. Séries de Fourier: Problemas que levam a séries trigonométricas. Ortogonalidade de funções trigonométricas sobre o intervalo [-π π]; Definição de Série de Fourier; Demonstração das fórmulas para os coeficientes da Série de Fourier de uma função definida em [-π π]; Desenvolvimento em Série de Fourier de funções definidas num intervalo simétrico; Desenvolvimento em Série de Fourier de funções definidas sobre um intervalo assimétrico. 5. Transformação de Laplace: Definição e as propriedades principais de transformações de Laplace; Tabelas de transformadas; Método de inversão. Aplicações. Bibliografia: N.S.Piskounov. Cálculo diferencial e integral,vol.II. Lisboa, 1977. B.P. Demidovitch. Problemas e exercícios de Análise Matemática. Editora MIR, Moscovo, 1977. George F. Simmons, Steven G. Krantz. Equacoes diferenciais – Teoria, técnica e prática. Malta, I., Pesco, S., Lopes, H. Cálculo a uma variável. VOL. II. Edições loyola. M.Krasnov, A.Kisseliov, G.Makarenko. Funções de variáveis complexas. Cálculo Operacional. Arquitectura de Computadores Ano 2º Semestre 1º Carga Horária 6 Objectivos: Gerais: Capacitar o aluno a analisar e comparar as principais características das arquitecturas de computadores e microprocessadores Específicos: Identificar e descrever as diferentes tecnologias, de memória de computador, existentes; Identificar e descrever as características dos periféricos de um computador; Descrever os circuitos sequenciais usando a linguagem HDL; Descrever a constituição básica de um microprocessador. Programa: 31 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ 1. Sistemas Digitais Síncronos: elementos de memória; temporização dos dispositivos síncronos; implementação de estruturas de controlo (máquinas de estado finitas e microprogramas); especificação de circuitos síncronos em HDL. 2. Unidade de Processamento Central: revisão sobre aspectos essenciais das unidades lógico–aritméticas; estudo da unidade de controlo (uniciclo, multiciclo, microprogramada); desempenho da unidade de controlo. 3. Organização da memória: tecnologia de memória; hierarquias de memórias; memória cache; caracterização básica do desempenho de um subsistema de memória; memória virtual. 4. Input/Output (Periféricos): tipos e características dos dispositivos de entrada/saída; dispositivos de armazenamento de informação; barramentos; Interfaces; desempenho dos periféricos. 5. Microprocessador: arquitectura dos microprocessadores; pipelining e RISC; multiprocessamento e paralelismo; tipos de instruções; arquitectura e conjunto de instruções de um microprocessador; modelo de programação do microprocessador. Bibliografia: J. F. Wakerly, Digital Design. Principles and Practices 2nd ed., Prentice-Hall 1994 J. Delgado, C. Ribeiro. Arquitectura de Computadores António Padilla. Sistemas Digitais. Editora: Mc Graw Hill Guilherme Arroz, José Monteiro e Arlindo Oliveira. Arquitectura dos Computadores: Dos sistemas Digitais aos Microprocessadores, Editora: IST Press Matemática Discreta Ano 2º Semestre 1º Carga Horária 6 Objectivos: Gerais: Proporcionar ao estudante, fundamentos teóricos e práticos da Matemática Discreta para as diferentes áreas de Engenharia Informática: Estrutura de Dados, Algoritmos, Banco de Dados, etc. Desenvolver capacidades de abstração e raciocínio lógico matemático para lidar com modelos complexos e, aplicar o conhecimento na solução de problemas. Específicos: Introduzir conceitos fundamentais da Matemática Discreta: Teoria de Conjuntos, Lógica Matemática, Relação, Análise Combinatória, Indução matemática e recursão, Teoria de Grafos. Transferir os conhecimentos adquiridos para problemas concretos da Engenharia Informática, nomeadamente na construção, verificação e correcção de algoritmos. Programa: 1. Teoria de Conjuntos: Noção de conjunto. Relação de Pertinência; Descrição de conjuntos. Conjunto unitário. Conjunto vazio e Conjunto universal; Cardinalidade de um conjunto. Igualdade de conjuntos. Subconjuntos. Potenciação de conjuntos. Operações com conjuntos. 2. Lógica Matemática: Introdução (importância da lógica); Conceito de proposição. Axiomas (ou princípios) da Lógica Matemática. Valores 32 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ lógicos; Tabela – Verdade. Operadores lógicos. Tautologias. Contradições. Contingências; Expressões lógicas. Implicações e Equivalências lógicas; Forma Normal Disjuntiva (FND) e Forma Normal Conjuntiva (FNC); Argumentação Matemática. Técnicas de Demonstração. Lógica de Predicados. 3. Relações: Produto Cartesiano. Relações Binárias. Domínio e Imagem de uma Relação binária; Relação como Grafo. Relação Inversa. Relação Composta. Classificação de Relações; Relação de Equivalência. Classes de Equivalência. Conjunto Quociente; Relações de Ordem. Elementos Comparáveis e não comparáveis. Elementos notáveis de um conjunto Parcialmente ordenado. Majorantes e minorantes. Supremo e Ínfimo. Maximais e minimais; 4. Análise Combinatória: Introdução ao cálculo combinatório. Número de subconjuntos de um conjunto finito; Arranjos. Permutações e Combinações. O binómio de Newton; Teorema binomial de Newton e Teorema Multinomial. 5. Indução e Recursividade: Princípio da Indução finita. Formas equivalentes do princípio de indução finita; Recursividade. Definição. Relação de recorrência e equações de diferenças. Função geradora. 6. Teoria dos Grafos: Definições básicas. Caminhos de um grafo. Graus dos vértices de um grafo. Matriz de Adjacência e de Incidência de um grafo. Árvores e florestas. Definições básicas. Bibliografia: Scheinerman, E. R (2003), Matemática Discreta-Uma introdução,Editora Thompson, São Paulo. Cardoso, D.M et al (2009), Matemática Discreta-Combinatório, Teoria dos Grafos, Algoritmos, Escolar Editora, Lisboa, Santos, F.B (2005), Sebenta de Matemáticas Gerais-Lógica, Limites, Continuidade, 8ª Edição, Editora Plátano De Oliveira, A.J.F (1981), Teoria de Conjuntos-Intuitiva e Axiomática,Livraria Escolar Editora, Lisboa. Lipschutz, Seymour e Marc Lipson (2007), Discrete Mathematics, 3ª edição, Editora McGRAWHILL. Ross, Kenneth A., e Wright, Charles R. B., Discrete Mathematics, 4ª Edição,Editora Prentice Hall, New Jersey. Programação Ano 2º Semestre 1º Carga Horária 5 Objectivos: Gerais: Estudar a linguagem de programação C. Dotar o estudante da capacidade de pensar, analisar e codificar problemas numa linguagem de alto nível usando o paradigma de programação procedimental. Específicos: Adquirir o raciocínio lógico necessário à resolução de problemas computacionais, empregando uma linguagem de programação imperativa/procedimental; 33 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Dominar e aplicar as técnicas de programação na linguagem C na implementação de qualquer tipo de algoritmo Programa: 1. Introdução à Linguagem C: Estrutura do programa em C, Comentários, Palavras reservadas. 2. Armazenamento de dados: Variáveis, Constantes, Tipos de dados (escalares), Operador sizeof(). 3. Entradas e Saídas Padronizadas: scanf, printf, gets, puts. 4. Operadores e Expressões: Aritméticos, Relacionais, Lógicos, Manipulação de bits, Prioridades dos operadores. 5. Estruturas de controlo de fluxo: If…else, Operador ?, Switch, Do… while, While, For, Instruções Break e continue. 6. Arrays e Strings: Arrays unidimensionais, Arrays bidimensionais, Arrays multidimensionais, Funções de manipulação de strings e caracteres. 7. Ponteiros: Declaração de ponteiros, operações com ponteiros, arrays e ponteiros. 8. Modularização: Funções e procedimentos: Declaração, protótipos, valor de retorno, passagem de parâmetros (por valor/referência), Visibilidade de variáveis. 9. Directivas de compilação e macros. 10. Estruturas de dados (structs): Declaração, Arrays de estruturas, Ponteiros para estruturas. 11. Alocação dinâmica de memória. 12. Ficheiros. 13. Argumentos de linha de comandos. Bibliografia: Luís Damas. Linguagem C. LTC Editora. 2007 João Seixas. Introdução à programação em ciência e Engenharia explorando a natureza com a Linguagem C, Editora Escolar, 2005. Marques de Sá. Fundamentos de programação usando o C, FCA Editora, 2004. Electricidade e Magnetismo Ano 2º Semestre 1º Carga Horária 4 Objectivos: Gerais: Levar o estudante a compreender os fenómenos gerados por cargas eléctricas e suas interacções. Específicos: Dotar o estudante da capacidade de analisar e compreensão dos efeitos produzidos pela passagem da corrente eléctrica em componentes de circuitos de corrente contínua; Adquirir conhecimentos sobre campos gerados pela corrente eléctrica e por materiais magnéticos e suas aplicações em circuitos eléctricos. Programa: 1. Campo Eléctrico: Carga eléctrica; Lei de Coulomb; O Campo Eléctrico; Linhas de Força; Cálculo do campo Eléctrico de Distribuições Contínuas de Carga; Movimento de Cargas Puntiformes nos Campos Eléctricos; Dipolos Eléctricos em Campos Eléctricos. 2. Lei de Gauss e Condutores em Equilíbrio 34 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Electrostático: Fluxo Eléctrico; Lei de Gauss; Condutores Eléctricos; Carga e Campo na Superfície. 3. Potencial eléctrico: Potencial e diferença de potencial; superfícies equipotenciais; energia potencial eléctrica; integral de linha do campo eléctrico; gradiente de potencial; cálculo de campo eléctrico a partir do potencial; potencial de uma esfera; potencial de um anel; potencial de um disco; superposição do potencial eléctrico; potencial de um anel; potencial de um disco; superposição do potencial eléctrico; Gerador de Van der Graaff. 4. Capacitores e dieléctricos: Definição da capacitância; tipo de capacitores (planos, esféricos e cilíndricos); associação de capacitores; energia de um capacitor carregado; energia do campo eléctrico; dieléctrico e suas características; polarização de um dieléctrico; o efeito de um dieléctrico nos capacitores; os três vectores eléctricos (E, D, P); as três constantes eléctricas. 5. Corrente continua e resistência eléctrica: Definição da corrente eléctrica; intensidade e densidade de corrente eléctrica; sentido da corrente eléctrica; resistência eléctrica; a lei de Ohm; resistividade e condutibilidade eléctrica; dependência da resistência com a temperatura; conceitos de (semicondutor, condutor e supercondutor); associação de resistências (em série, paralelo e mista); transformação da configuração para a configuração Y. 6. Força electromotriz e circuitos eléctricos: Fontes de força electromotriz; associação em série e em paralelo de fontes de força electromotriz; a lei de Ohm para circuitos de uma malha; cálculo de correntes em circuitos ramificados, leis de Kirchhoff (lei dos nós e das malhas), energia e potência eléctrica; efeito de Joule. 7. Campo magnético: Definição qualitativa e quantitativa do campo magnético (interacção magnética); força magnética sobre um condutor; o efeito de Hall; o dipolo magnético (barra magnética e espira magnética; momento do dipolo magnético); trajectória de carga eléctrica em um campo magnético; O ciclotron e o sincroton. 8. Fontes do campo magnético: Campo do campo magnético a partir da lei de Biot-Savart (a lei de Biot-Savart, superposição do campo B; B no interior de uma espira circular; B nas vizinhanças de uma corrente rectilínea); cálculo do campo magnético a partir da lei de Ampere (a lei de Ampere, B, nas vizinhanças de uma corrente rectilínea, B de um solenóide); interacção entre duas correntes rectilíneas; teorema de Gauss para o campo magnético (fluxo magnético, a corrente de deslocamento); Balança de Ampere; 9. Indução electromagnética e electromagnetismo da matéria: Leis de Faraday e de Lenz; circulação do campo eléctrico dependente do tempo; força electromotriz de movimento; corrente de Foucault; autoindutância e indutância mútua; indutância de um solenóide; energia de um indutor; energia do campo magnético; os três vectores magnéticos (B, H, M); o paramagnetismo e o ferromagnetismo; o ciclo de histerese magnético; o campo magnético da terra; o circuito RL. Bibliografia: ALONSO, Marcelo & FINN, Edward J. Física; Brasil; 2001. SEARS, Zemansky e YOUNG, Freedman. Física Universitária, 11ª Edição, Volume 2, México, 2005. TIPLER, Paul A. Física, Volume 2b, 4ª Edição, LTC Editora, Rio de Janeiro, 1999. HALLYDAY, David; RESNICK, Robert; WALKER, Jerl. Fundamentos de Física, Volume 1, 6ª Edição, LTC Editora, Rio de Janeiro, 2002. RAMALHO; NICOLAU; TOLEDO. Os Fundamentos da Física 3, 9ª Edição, São Paulo, 2008. 35 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Inglês I Ano 1º Semestre 2º Carga Horária 4 Objectivos: Gerais: Empower undergraduate with the language and life skills they need to carry out their career goals. Específicos: Equip the undergraduates with Science and Engineering English Language terminology. Develop the life skills learners will encounter in the job market Read and comprehend articles about Science and Engineering. Perform an oral presentation about Science and Engineering matters in English. Write about specific Science and Engineering topics in English Programa: 1. Science and Technology (Language): Branches of science and specialists; Vocabulary and pronunciation; Modern inventions in science and technology; Verbs and language used in scientific context. 2. Past simple (Language review). Language area: Past simple of regular and irregular verbs (Did/positive form); Past simple of regular and irregular verbs (Didn’t/negative form); Past simple of regular and irregular verbs (Did...?/question form); Talking about past event., 3. Global call Communications (Analysing texts). Language focus: Reading for specific information; Gap filling; True or false statements. 4. Past Continuous (Language area): Past continuous of verbs (was, were doing/positive form); Past continuous of verbs (was not, were not doing/negative form); Past continuous of verbs (was...doing?, were...doing?/question form). 5. Computers (Reading comprehension). Activities: Reading for gist; True or false statements; Multiple choice; Vocabulary: finding out the meaning of words; Synonym: replacing words with the same meaning. 6. Present perfect (Vocabulary): Present simple (past of be, have, regular and irregular verbs); Present perfect (regular and irregular verbs in past participle); eg. Finished, lost, done, been, etc.7. The Digital Divide (Reading for specific information). Activities: True or false statement; Past simple vs. Present perfect; Pair and group discussion; Group writing (post-discussion activity); Structure: How long have you (been)...?; When...? and How long...?; For and Since. 9. Electrifying Communications (Reading for general information). Activities: Multiple choice; True or false statements. 10. Used to (do). Vocabulary: Regular and irregular verbs (present simple); Adverbs of frequency. 11. Verb + -ing (enjoy doing /stop doing, etc.). Grammar: Stop, delay, consider, give up, put off, etc + ing. 12. Computer addicts. Language and activities: Predicting a text; Gap-filling; Writing an article; Sentence completion; Vocabulary: meaning of words; Answering questions. 13. Analytical essay writing: Basic techniques to write an essay. Bibliografia: Heinle, T. (2001), more grammar practice, Toronto. 36 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Murphy, R. (2000), english grammar in use, Cambridge University Press. Paulo, R. (2007), inglês 12 classe, texto editores, Maputo. Person, I. (1985), english in biological science, Oxford. Oxenden, C. & Lathamk-koeing, C (1997), new english file, intermediate students' book, Oxford. Algoritmos de Programação e Estruturas de Dados Ano 2º Semestre 2º Carga Horária 6 Objectivos: Gerais: Dotar os estudantes de conceitos fundamentais dos algoritmos e estruturas de dados abstractos através de uma aprendizagem rápida e gradual utilizando uma linguagem orientada a objectos. Específicos: Aprender a realizar análises de algoritmos. Aplicar as técnicas de ordenação e pesquisa da informação. Utilizar as estruturas de dados abstractas lineares e não lineares Programa: 1. Introdução ao Java: Elementos fundamentais; dados primitivos; arrays; operadores; Classes; paquetes e interfaces; Excepções; Interface gráfica de utilizador para escritório. 2. Análises de Algoritmos: Conceitos fundamentais; Eficiência de um algoritmo; Complexidade de algoritmos; Análises de complexidade. 3. Ordenação e Pesquisa: Métodos de ordenação; Métodos de pesquisa (Sequencial e binária). 4. Estruturas Sequenciais dinâmicas: Listas (Simplesmente ligadas; Duplamente ligadas; Circulares); Pilhas; Filas. 5. Estruturas não Sequenciais: Árvores (Árvores binárias; Árvores binárias de pesquisa; Árvores equilibradas); Grafos (Tipos de grafos: Dirigidos; não dirigidos; Pesados; não pesados); Pesquisa (Primeiro em Profundidade; Primeiro em Largura) Bibliografia: Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein. Introduction to Algorithms, 2nd edition, The MIT Press, 2001. R. Sedgewick. Algorithms in C, Parts 1-5 (Bundle): Fundamentals, Data Structures, Sorting, Searching, and Graph Algorithms, Addison-Wesley Professional, 3rd Edition, 2001. João Pedro Neto. Programação, algoritmos e estruturas de dados, 2 edição, Editora Escolar, 2008. Luis Joyanes Aguilar. Fundamentos de Programação. Algoritmos, Estruturas de Dados e Objectos. Programação Orientada por Objectos Ano 2º Semestre 2º Carga Horária 6 37 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Objectivos: Gerais: Desenvolver algoritmos de média complexidade que utilizam o paradigma orientado a objetos e padrões adequados Específicos: Ensinar ao aluno os princípios fundamentais de Programação Orientada a Objectos: Encapsulamento, Herança e Polimorfismo Implementar aplicações conduzidas por evento seguindo o paradigma orientado a objectos, aplicando padrões de projecto adequado e usando os padrões de design da interface. Design de hierarquias de classes polimórficas, usá-los para resolver problemas e expressá-los em um meio formal de modelagem Implementar mecanismos adequados para o tratamento de erros. Programa: 1. Introdução à POO. C vs C++: Mudança no comprimento de nomes de arquivos; Os comentários feitos no programa; Declaração simplificada das variáveis de tipo enumeração; Declaração Simplificada das variáveis para as estruturas; Maior flexibilidade na declaração de variáveis; Alcance e visibilidade de variáveis; Const de variáveis e pointers; Tipo de conversões explícitas; Especificador inline de funções e sobrecarga de funções; Padrões de função de parâmetros e função com parâmetros por defeito; Variáveis de tipo de referência; Operadores new e delete; Introdução aos princípios fundamentais de Programação Orientada a Objectos: Encapsulamento; Herança e Polimorfismo. 2. Encapsulamento: Introdução; Classe; Inicializadores; Métodos para aceder as propriedades; Operador Overloading; Ponteiro this; New e delete; Funções amigas de uma classe; Destruidor; Composição de classe; Implementação de programas simples utilizando técnicas de programação orientada a eventos: C++ Builder. 3. Herança: Introdução; Classe base e classe derivada: Relacionamento; Herança directa e indirecta; Hierarquia de Classes; Implementação de herança; Tipos de herança; Implementando uma hierarquia de classe. 4. Polimorfismo: Introdução; Invocar as funções da classe base a partir de objectos de classes derivadas; Funções virtuais; Classes abstractas; Vinculação dinâmica versus vinculação estática; Destruidores Virtual; Implementando uma hierarquia de classe. Bibliografia: Bjarne Stroustrup. The C++ Programming Language (Third Edition). Addisson-Wesley Deitel, H.M., Deitel, P.J. C++ How to Program Prentice Hall Probabilidades e Métodos Estatísticos Ano 2º Semestre 2º Carga Horária 6 Objectivos: Gerais: 38 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Desenvolver a concepção científica da natureza e da técnica através da compreensão dos conceitos fundamentais de Teoria de probabilidades e, em particular, da descrição adequada de fenómenos naturais e processos técnicos possuindo estes, um carácter aleatório; Adquirir a capacidade de prever cientificamente o desenvolvimento de processos naturais e técnicos aleatórios e tomar decisões adequadas baseando-se na realidade objectiva. Especificas: Dotar o estudante da capacidade de calcular as características principais numéricas da amostra, construir histogramas, aplicar o esquema de provas independentes à resolução de problemas; Conhecer os conceitos de amostra, população, probabilidade, provas independentes, variáveis aleatórias, amostragem e estimação estatística, testes de hipóteses e correlação linear; Conhecerem as regras fundamentais da Teoria de Probabilidades e a estimação estatística de hipóteses; Programa: 1. Descrição de dados da amostra: Nota introdutória; Estatística Descritiva (Definição de conceitos fundamentais; Tipos de amostras; Organização de dados; Representação gráfica de dados; Medidas Resumo). 2. Probabilidades: Conceito de probabilidades; Acontecimentos aleatórios; Definição Clássica de probabilidades; Probabilidade condicional e independência de acontecimentos; Regra de Multiplicação; Regra de Adição; Fórmula de probabilidade total e fórmula de Bayes. 3. Variáveis Aleatórias e Distribuições de Probabilidade: Distribuições de variáveis discretas: Funções de distribuição de variáveis aleatórias; Distribuições de variáveis contínuas; Distribuição de duas variáveis: Função de Probabilidade conjunta; Caracterização de Algumas Distribuições Discretas Univariadas: Bernoulli; Binomial e Geométrica; Poisson; Caracterização de Algumas Distribuições Contínuas Univariadas: Uniforme; Normal; Qui-Quadrado; T-Studant. 4. Amostragem Aleatória e Distribuições Amostrais: Distribuição da média amostra; Teorema do limite central. 5. Estimação estatística: Estimativas por ponto e por intervalo; Conceitos de intervalo de confiança; Limites de confiança de uma média populacional; Limites de confiança de variância e desvio padrão. 6. Teste de Hipóteses: Tipos de erros; Testes para média de uma população; Testes para a proporção populacional. 7. Correlação Linear: Conceito de correlação Linear; Coeficiente de correlação e sua interpretação probabilística e gráfica. Bibliografia: Devore, Jay L. Probabilidade e Estatística: para Engenharias e Ciências. São Paulo: Pioneira Thompson, 2006. Mello, F. Galvão. Probabilidade e Estatística: conceitos e métodos fundamentais. vol I. 2ª edição. Lisboa: escolar editora, 2000. Silvestre, António. Análise de dados e estatística descritiva. Lisboa: Escolar editora, 2007. Gonçalves, Esmeralda & Lopes, Nazaré Mendes. Probabilidades: Princípios teóricos. Lisboa: escolar Editora, 2000. André, Jorge. Probabilidade e Estatística para Engenharia. Lisboa: Lidel Ltda, 2008 Spiegel, Murray et. all. Probabilidade e estatística. 2ª edição. Porto Alegre: Bookman, 2004. Correira, Adelaide et. all. Cálculo de probabilidade. Lisboa: Inst. Piaget, 2002. 39 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Introdução às Bases de Dados Ano 2º Semestre 2º Carga Horária 6 Objectivos: Preparar o estudante para utilizarem técnicas de identificação de factores críticos de sucesso e de modelação de actividades e processos de negócio. Preparar o estudante para utilizarem técnicas de modelação conceptual de informação, em particular de classes de objectos. Preparar o estudante para utilizarem técnicas de modelação da interacção com os utilizadores, em particular interacção gráfica. Preparar o estudante para utilizarem uma metodologia de projecto de engenharia informática. Preparar o estudante para utilizarem as ferramentas informáticas disponíveis nos Sistemas de Gestão de Bases de Dados de modelo relacional, ou SGBD, para prototipificação de Sistemas de Informação. Preparar o estudante para utilizarem técnicas de modelação relacional. Programa: 1. Projecto de Sistemas de Informação: Introdução aos processos de análise e modelação de sistemas e organizações; Introdução ao projecto de construção de um SI. 2. Modelação da Interface com o Utilizador: Introdução ao processo de modelação da interacção com utilizadores; Introdução ao modelo OAI; às formas de especificação e às ferramentas de prototipificação; Recomendações; princípios e regras para concepção de interfaces; Principais modelos de interacção: menus; formulários; caixas de diálogo e manipulação directa; Problemas sobre modelação da interacção com utilizadores. 3. Modelação Conceptual de Classes: O Processo de Modelação Estática de Classes; Classes de Objectos; Atributos e Métodos; Ligações; Associações e Agregações Simples; Generalização e Herança Simples; Mapeamento entre o Modelo de Classes e o Modelo Relacional. 4. Projecto de Bases de Dados: Introdução aos SGBD - Sistemas de Gestão Bases de Dados; Sistemas Relacionais e Linguagem SQL; Normalização Funcional de Dados para Concepção de BD; Outros Modelos de SGBD. 5. Conclusões e Referências Finais. Bibliografia: Michael R. Blaha, William J. Premerlani. Object-Oriented Modeling and Design for Database Applications. Upper Saddle River, New Jersey: Prentice Hall 1998 C. J. Date. An Introduction to Database Systems (6th Edition). Reading, Massachusetts: Addison Wesley Publishing Company 1995, Systems Programming Series, World Student Series Edition 40 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Microprocessadores e Computadores Pessoais Ano 2º Semestre 2º Carga Horária 6 Objectivos: Gerais: Estudo da arquitectura dos microprocessadores da família IA-32 da Intel Específicos: Desenvolver e aplicar os conceitos da constituição de um Microprocessador/Microcomputador tomando como base a família de Microprocessadores Intel IA-32. Desenvolver e aplicar os conceitos de Linguagens de programação de baixo nível (Assembly); para o caso concreto dos Microprocessadores da família IA-32 da Intel. Programa: 1. Introdução ao microprocessador e microcomputador. 2. Arquitectura do microprocessador da família IA-32: Arquitectura interna do microprocessador da família IA-32; Funcionamento no modo real; Funcionamento no modo protegido. 3. Modos de endereçamento: Modos de endereçamento de dados; Modos de endereçamento de programas em memória; Modos de endereçamento da Stack na memória. 4. Codificação de instruções. 5. Instruções de transferência de dados; instruções aritméticas e lógicas. 6. Instruções de controlo de fluxo: saltos incondicionais e condicionais; chamadas a subrotinas. 7. Estruturas e Macros. 8. Programação modular: Procedimentos; Funções. 9. Entradas e saídas / interface com periféricos: Introdução ao interface de I/O; Descodificação de endereços; Periféricos programáveis. 10. Interrupções: Processamento de interrupções; Interrupções de hardware; Controlador de interrupções programável (8259A). 11. Co-processador aritmético: Formato de dados; Arquitectura do co-processador aritmético 80x87; Modelo de programação do co-processador aritmético; Programação com o co-processador aritmético. Bibliografia: Kip R. Irvine. Assembly Language for Intel- Based Computers, Prentice Hall. Barry B. Brey. The Intel Microprocessors - 8086/8088, 80186/80188, 80286, 80386, 80486, Pentium and Pentium Pro Processor – Architecture, Programming and Interfacing, Prentice Hall. José Augusto G. Manzano. Fundamentos em programação Assembly: para computadores IBMPC a partir dos microprocessadores 8086/8088 Intel 64 and IA-32 architectures software developer´s manuals, Manual disponível, gratuitamente, no site da Intel Inglês II Ano 2º Semestre 2º Carga Horária 4 41 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Objectivos: Gerais: Empower undergraduate with the language and life skills they need to carry out their career goals. Específicos: Equip the undergraduates with Science and Engineering English Language terminology. Develop the life skills learners will encounter in the job market Read and comprehend articles about Science and Engineering. Perform an oral presentation about Science and Engineering matters in English. Write about specific Science and Engineering topics in English Programa: 1. Computer Users: Picture description; Group plus whole class discussion; Note taking; Present versus past simple. 2. Present perfect (1). Grammar. 3. Reported speech. Grammar: He said that...; They said that... Vocabulary: was/were, did, had would, could might. 4. The Digital Divide: Reading for specific information; Identifying the main ideas: Selecting key words from the text; Deciding whether statements are true or false. 5. Present perfect (2). Grammar: have been; have you ever? 6. Working for an Electric Company: reading for general information; gap filling; present simple versus present continuous. 7. Computerization and Its Role: Group discussion; Note taking; Gap filling; Prediction. 8. Reported Speech (1). Grammar: He/they said (that)...; Past simple. 9. The First Computer Programmer: Scanning; Picking the main idea of each paragraph; Checking reading comprehension. 10. Reported Speech (2): Direct versus indirect speech; Say and tell plus reported speech. 11. Passive. Grammar: Is/was/were/ have been plus past participle; Past participle of regular and irregular verbs. 12. New Technologies and English Language Learning: Reading comprehension skills; Predicting the main ideas; Filling the missing words. Bibliografia: Glendinning, E. & Mcewan, J. (2006). Oxford english for information technology. oxford. Heinle, T. (2001), more grammar practice, Toronto. Murphy, R. (2000). English grammar in use. Cambridge University Press. Oxenden, C. & Lathamk-koeing, C. (1997). New english file, intermediate students' book. Oxford. Oxenden. C. & Lathamk-koeing (1997). New english file, pre-intermediate students' book, Oxford. Williams, I. (2007). English for science and engineering. Thompson elt. Desenvolvimento Comunitário 1 Ano 2º Semestre 2º Carga Horária 4 Objectivos: 42 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Gerais: Dotar o estudante com capacidade para desenvolver ou executar programas comunitários dentro e fora da universidade. Específicos: Estudar as metodologias de desenvolvimento Comunitário; Programa: 1. O Desenvolvimento Comunitário. Enquadramento geral: Conceitos-base; O Desenvolvimento Comunitário; Tipos de Desenvolvimento Comunitário. 2. O processo de intervenção social em comunidades: Elementos em jogo num processo de intervenção social; O choque de culturas, questão central em qualquer mudança programada; Papel do interventor social. 3. Psicologia Comunitária: Fundamentos da Psicologia Comunitária; Áreas de Intervenção; Teorias motivacionais. 4. Antropologia Aplicada e Desenvolvimento Comunitário: Evolução dos interesses dominantes da Antropologia Aplicada; Valor da contribuição da Antropologia para o trabalho comunitário; A questão de pobreza e o contributo da Antropologia. 5. Sociologia de intervenção e Desenvolvimento Comunitário: Domínio e vertentes da Sociologia de Intervenção; O método Paulo Freire, paradigma da Sociologia de Intervenção; Empowerment e advocacy: dois conceitos integradores; A não-violência activa, uma estratégia de intervenção social. Bibliografia: Hermamo Carmo. Desenvolvimento Comunitário. 1ª e 2ª Edição Universidade Aberta Hermano Carmo & Manuela ferreira. Metodologia da investigação: guia para a auto apreendizagem. Edição Universidade Aberta Hermano Carmo. Intervenção social com grupos. Lisboa Gomes. Psicologia Comunitária: Uma abordagem Conceitual. São Paulo. Ornelas J. Psicologia Comunitária. São Paulo. B.Bernardi. Introdução aos Estudos Etno-Antropologicos. H. Kendler. Introdução à Psicologia. 6ª Edição. Lisboa L, Davidoff. Introdução à Psicologia. 2ª Ed. São Paulo Sistemas e Tecnologias de Informação Ano 3º Semestre 1º Carga Horária 6 Objectivos: Gerais: Que os estudantes aprendam como os sistemas e a tecnologia de informação (TI) trazem soluções para aplicar “a melhor prática” à gestão empresarial. Específicos: 43 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Que os estudantes aprendam como os sistemas de informação (SI) respondem às estratégias empresariais. Que os estudantes conheçam as tendências actuais em Tecnologia de Informação. Programa: 1. Introdução aos Sistemas de Informação: Sistemas de Informação; Conceitos básicos; Planificação dos Sistemas de Informação a partir das estratégias de negócio; Uso estratégico dos Sistemas de informação; Estruturas Organizativas e Sistemas de Informação. 2. Tecnologias da Informação: Hardware nos Negócios; Software nos Negócios; Linguagem HTML; Desenvolvimento de Páginas WEB estáticas com DreamWeaver. Bibliografia: Victor Martins. Integração de Sistemas de Informação Sergio Sousa. Tecnologías de Informação. Laboratório de Computadores Ano 3º Semestre 1º Carga Horária 6 Objectivos: Gerais: Aplicar os conhecimentos adquiridos em disciplinas estudadas das áreas de arquitectura de computadores e programação na programação de vários periféricos do PC. Específicos: Estudar e programar, usando uma linguagem de alto nível C mais o Assembly da família IA-32, os periféricos de um PC comum tais como: a placa gráfica, nos dois modos, o texto e o gráfico; o temporizador do PC, RTC; o Timer; o teclado; o rato; a porta RS232. Associar os conhecimentos adquiridos para a implementação de pequenos projectos de jogos de PC. Programa: 1. Acesso a periféricos e zonas de memória e E/S no PC; 2. Acesso aos recursos do PC através da BIOS e da VBIOS; 3. Notas sobre C; Utilização de Makefiles; 4. O mecanismo das interrupções no PC; O assemblador NASM; O contador do PC (Timer); 5. Documentação do código; 6. O teclado e rato do PC; Interrupções e Secções Críticas de Código; Convenção de chamada de funções em C; A criação de programas e bibliotecas; 7. O Relógio de tempo real do PC (RTC); Máquinas de estado em software; 8. O porto série do PC; 9. Programação em ambiente "embebido". Bibliografia: Daniel W. Lewis. Fundamentals of Embedded Software: Where C and Assembly Meet. Prentice.Hall.-2002 44 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Muhammad Ali Mazidi. 80X86 IBM PC and Compatible Computers: Assembly Language, Design, and Interfacing Volumes I & II, Prentice Hall, 2003. Métodos Numéricos Ano 3º Semestre 1º Carga Horária 4 Objectivos: Gerais: No final desta cadeira, o estudante deve possuir conhecimentos sobre a tradução de um algoritmo matemático em linguagem de programação. Específicos: Identificar um modelo para a resolução de um problema matemático; Traduzir um modelo em linguagem de programação, identificar sua convergência e velocidade; Identificar tipos de erros que possam ocorrer na computação numérica e sua origem. Programa: 1. Números: O número, introdução; Representação decimal de números reais; Representação de números reais em base não decimal; Conversão de um número inteiro, da base 10 para outra base; Conversão de um número decimal puro, de base 10 para outra base. 2. Introdução ao cálculo: Introdução; Erro; Definições fundamentais; Algarismos significativos; Algarismos significativos de representações não decimais; Algarismos significativos e erro relativo; Arredondamentos; Erros de arredondamento; Erro absoluto; Erro relativo. 3. Equações não lineares: Introdução; Método de bissecção; Método de Newton; Método da secante; Método da tangente-secante; 4. Sistema de equações lineares: Introdução; Sistemas triangulares; Método de substituição inversa; Método de substituição directa; Método de Gauss; Método de Gauss-Siedel. 5. Interpolação: Introdução; Interpolação polinomial; Construção de um polinómio interpolador; Polinómio interpolar na forma de Lagrange; Polinómio interpolar na forma de Newton; Algumas Aplicações da interpolação; Erro de Interpolação. 6. Integração numérica: Introdução; Fórmula de Newton-Cotes-Fechado; Regra de trapézios; Regra de Simpson; Regras de ordem superior; Erros de integração; Grau de uma fórmula de integração numérica; Métodos dos coeficientes indeterminados; Fórmula de Newton-Cotes-Aberto; Fórmula de trapézio corrigida; Fórmula de Euler Mac-Lauren. 7. Equações diferenciais: Introdução; Métodos numéricos; Método de Euler; Método e Taylor; Método de Runge Kutta; Método de Runge Kutta de 2ª ordem; Método de Runge Kutta de 3ª ordem; Método de Runge Kutta de 4ª ordem. Bibliografia: Costa, M. F. (1993). Cálculo numérico com Pascal, Imprensa Portuguesa; Fink, J. A. (2008). Métodos numéricos com matlab, Espanha: Isabel Capela; Rodrigues, J. A. (2003). Métodos numéricos: Introdução, Aplicação e programação. Lisboa: Edição sílabo; Santos, F. C. (2002), Fundamentos de Análise Numérica. Lisboa: Edições Sílabo; 45 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Chapra, C.S. & Canale, R.P. (2010), Numerical Methods for Enginners. McGraw-Hill Valença, M. R. (1996). Análise numérica. Lisboa: Universidade Aberta. Sistemas de Bases de Dados Ano 3º Semestre 1º Carga Horária 5 Objectivos: Gerais: Ensinar ao aluno a modelar e implementar Bases de Dados utilizando para elo um Sistema de Gestão de Bases de Dados como plataforma Específicos: Dominar e aplicar o modelo relacional de Bases de Dados em Sistemas de Informação. Ensinar ao aluno os conceitos fundamentais sobre Arquitectura Cliente-Servidor. Ensinar ao aluno os conceitos fundamentais sobre Gestão de Bases de Dados. Preparar os alunos para utilizarem as ferramentas informáticas disponíveis nos Sistemas de Gestão de Bases de Dados relacionais (SGBD) na implementação e Gestão de Bases de Dados. Dominar e utilizar as interfaces de acesso a dado (ODBC, ADO, etc) Programa: 1. Introdução. Bases de Dados: Sistema de Base de Dados; Conceito de Base de Dados; Os Sistemas Relacionais; Arquitectura dos Sistemas de Base de Dados; Independência dos dados; Redundância e inconsistência dos dados; Integração e concorrência dos dados; Segurança e integridade dos dados; Modelo Relacional; Relações; Modelo Entidade-Relação; Mapeamento Objecto-Relacional; Transacções; Sentenças bases de QL. 2. Sistema de Bases de Dados: Introdução; Sistema de Bases de Dados; Administrador de comunicação de dados; Arquitectura Cliente-Servidor; Processamento distribuído. 3. SQL-Server: Introdução. SQL-Server; Definição de Dados; Definição de Views; Script e Batches; Procedimentos stored e Functions; Transacções e Locks; Triggers; SQL Cursors; Serviços de transformação de dados; Segurança. 4. Interfaces de acesso a dado: Acesso a Bases de Dados usando API; Introdução de ADO; Uso de Objectos ADO desde Visual Basic; Componentes OLE DB; Transacções. Bibliografia: C. J. Date. An Introduction to Database Systems (6th Edition). Reading, Massachusetts: Addison Wesley Publishing Company 1995, Systems Programming Series, World Student Series Edition, Viera Robert. Professional SQL Server 2000 Programming. Published by Wiley Piblishing, Inc. Indianópolis, Indiana. 46 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Engenharia de Software I Ano 3º Semestre 2º Carga Horária 6 Objectivos: Gerais: Dotar os estudantes da capacidade de caracterizar o Software a desenvolver usando as melhores práticas. Especificas: Dotar os estudantes da capacidade de caracterizar as melhores práticas para desenvolver o software. Dotar os estudantes da capacidade de compreender o negócio e modelar o mesmo. Dotar os estudantes da capacidade de caracterizar o software na linguagem do utilizador e estimar o esforço da sua construção. Dotar os estudantes da capacidade de caracterizar o software na linguagem do informático Programa: 1. Introdução a engenharia de software. Caracterização das melhores práticas para desenvolver software: Software, sua caracterização. Crises e Mitos no desenvolvimento de software; A engenharia do Software, paradigmas e melhores práticas; O Rational Unified Process e a Linguagem Unificada de Modelação como exemplo de melhores práticas; Técnicas para recompilar informação sobre o sistema informático a desenvolver. 2. Fluxo de trabalho de Negocio. Caracterização do ambiente do sistema: O fluxo de trabalho de Negocio, trabalhadores, actividades e artefactos; Modelo de Domínio; Modelo de Casos de Uso do Negocio; Realização dos casos de uso do Negocio; Modelo de Análise do Negocio. 3. Fluxo de trabalho de requerimentos. Caracterização do software na linguagem do utilizador: O fluxo de trabalho de Requerimentos, trabalhadores, actividades e artefactos; Captura de requerimentos e sua administração com uso da ferramenta CASE; Actores, trabalhadores e casos de uso do sistema; Especificação dos casos de uso do sistema e sua estruturação; Estimação do esforço, tempo de desenvolvimento e custo do projecto com uso do Método de Pontos de Casos de Uso e do Modelo do Desenho Temporal de COCOMO II. 4. Fluxo de trabalho de Análise. Caracterização do software na linguagem do informático: O fluxo de trabalho de Análise, trabalhadores, actividades e artefactos; Realização dos casos de uso na Análise; Paquetes da Análise; As Classes da Análise; Diagramas de Colaboração e de Classes da Análise. Bibliografia: Roger S. Pressman. Ingeniería del Software. Un enfoque práctico. (2002). Ivar Jacobson, Grady Booch, James Rumbaugh. El Proceso Unificado de Desarrollo de Software. (2000). Ivar Jacobson, Grady Booch, James Rumbaugh. El Lenguaje Unificado de Modelado. (2000). Craig Larman. UML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. (2003) 47 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Francisco Ruiz González. COCOMO V2. Modelo de Estimación de Costo para Proyectos de Software. (1998). Peralta Mario. Estimación del Esfuerzo basado en Casos de Uso. Engenharia de Software II Ano 3º Semestre 2º Carga Horária 6 Objectivos: Gerais: Desenhar, implementar e testar o Software sobre a base de sua caracterização. Específicos: Desenhar o Software sobre a base de sua caracterização usando as melhores práticas. Implementar e testar o Software desenhado. Programa: 1. Fluxo de Trabalho de Análise e Desenho. O desenho do software: Transição da Análise ao Desenho. Caracterização do Desenho; Os Diagramas de Interacção do Desenho. O Diagrama de Sequencia; Uso dos Padrões de Desenho; Os Diagramas de Classes do Desenho; O Modelo de Dados; Desenho da Arquitectura de Software. 2. Fluxos de Trabalho de Implementação e Teste: Mapeamento do Desenho a Implementação; O Diagrama de Componentes; Realização de Engenharia Directa e Inversa; Desenho e execução dos testes. Bibliografia: Roger S. Pressman. Ingeniería del Software. Un enfoque práctico. (2002). Ivar Jacobson, Grady Booch, James Rumbaugh. El Proceso Unificado de Desarrollo de Software. (2000). Ivar Jacobson, Grady Booch, James Rumbaugh. El Lenguaje Unificado de Modelado. (2000). Craig Larman. UML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado. (2003) Francisco Ruiz González. COCOMO V2. Modelo de Estimación de Costo para Proyectos de Software. (1998). Peralta Mario. Estimación del Esfuerzo basado en Casos de Uso. Programação Web Ano 3º Semestre 2º Carga Horária 6 48 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Objectivos: Gerais: Dotar os estudantes de ferramentas necessárias para utilizar a tecnologia Java para projectar e desenvolver aplicações Web de porte empresarial utilizando um ambiente de desenvolvimento livre utilizando a arquitectura Modelo-Vista-Controlador Específicos: Dotar os estudantes da capacidade de desenhar interfaces gráficas. Dotar os estudantes da capacidade de implementar modelos relacionais utilizando JDBC. Programa: 1. Introdução ao Java: Elementos fundamentais; dados primitivos; arrays; operadores; Classes; paquetes e interfaces; Excepções; 2. Desenvolvimento de uma interface gráfica: API para representar componentes de uma interface de utilizador (Vista) e administrar seu estado; manejar eventos; validar entrada; definir um esquema de navegação das páginas e dar suporte para internacionalização e acessibilidade; Componentes fundamentais para a interface de utilizador; Utilização de JavaBeans. 3. Acesso a Bases de Dados Relacionais com JDBC: Persistência de Objectos; Implementação da capa do modelo de bases de dados. 4. Controlo das acções: Programação da lógica de controlo de eventos do lado do servidor; Programação de petições ao modelo e a vista. Bibliografia: Bruce Eckel. Thinking in Java. 2nd Edition, Prentice-Hall 2000 Giulio Zambon. Beginning JSP™, JSF™ , and Tomcat Web Development: From Novice to Professional. APRESS 2007 Ed Roman. Mastering Enterprise JavaBeans. Second Edition, Wiley Computer Publishing, 2002 Brett McLaughlin. Building Java™ Enterprise Applications. O'Reilly 2002 Christian Bauer & Gavin King. Java Persistence with Hibernate. MANNING, 2005 Sistemas Operativos Ano Semestre Carga Horária 3º 2º 6 Objectivos: Gerais: Estudar os conceitos mais importantes sobre a organização dos sistemas de operação actuais Introduzir a programação concorrente e os mecanismos principais de comunicação e de sincronização entre processos Familiarizar os alunos com a organização interna do Unix. Específicos: Compreender o mecanismo da multi-programação e da organização geral de um sistema de operação. Dotar o estudante da capacidade de projecto de aplicações concorrentes simples. 49 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Dotar o estudante da capacidade para integrar uma equipa de desenvolvimento de software ao nível de desenvolvimento de sistemas. Programa: 1. Introdução aos Sistemas Operativos: Objectivos e funções de um S.O; Evolução dos sistemas operativos; Arquitectura interna dos S.O; Abstracções suportadas por um S.O. e sua interface de programação; Necessidades de suporte e de protecção de hardware. 2. Gestão de Processos (gestão do processador em multi- Programação): Programa vs. Processo; Caracterização de um ambiente multiprogramado; Gestão de processos em Unix (interface de programação); Estratégias de escalonamento (scheduling do processador); Processos e threads; sua descrição; Caracterização de um ambiente multithreaded. 3. Comunicação entre processos: Princípios gerais; Propriedades do acesso a uma região crítica com exclusão mútua; Soluções de Software: Algoritmo de Dekker - 2 processos; Algoritmo de Dijkstra – extensão a N processos; Algoritmo de Peterson; Soluções de Hardware: inibição e activação de interrupções; semáforos; monitores; mensagens; resolução de um problema (exemplo, jantar de filósofos), usando semáforo e memoria partilhada, usando monitores, usando mensagens; Ambiente fornecido pelo Unix para Programação concorrente: semáforos, memoria partilhada, monitores, mensagens, sinais e pipes; Bloqueio mútuo (deadlock): caracterização; prevenção; detecção e recuperação. 4. Gestão de Memória: Justificativa para gestão da memória; Hierarquia da memória; Papel da gestão da memória em multi-programação; Etapas de produção de um programa: imagem binária do espaço de endereçamento de um processo; Organização de memória real: arquitectura de partições fixas; arquitectura de partições variáveis; Organização de memória virtual: implementação; arquitectura paginada; arquitectura segmentada; arquitectura segmentada/paginada; Politicas de substituição de páginas: princípio da optimalidade; algoritmos aproximativos; substituição global vs. local. 5. Sistemas de Entrada/Saída: Hardware e software de entrada/saída; Abstracção das diferenças entre dispositivos. 6. Sistema de Ficheiros: Interface do sistema de ficheiros; Implementação do sistema de ficheiros; Gestão do disco. 7. Segurança e Protecção: Conceito geral de segurança e protecção; Políticas e mecanismos de segurança e protecção. Bibliografia: Silverschatz, Galvin, Gagne. Operating Systems Concepts. John Wiley & Sons Tanenbaum A. S. Modern Operating Systems. Prentice-Hall International Editions Stallings. Operating Systems. Prentice-Hall International Editions W.R. Stevens. Advanced Programming in the Unix Environment, Addison-Wesley Professional Computer Series W. Richard Stevens. Unix Network Programming - Interprocess Communications, vol.2, 2nd ed., Prentice-Hall, 1999 50 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Laboratório de Bases de Dados Ano 3º Semestre 2º Carga Horária 6 Objectivos: Gerais: Dotar os estudantes da capacidade de projectar e desenvolverem Bases de Dados para diferentes problemas computacionais de informação, utilizando para tal um Sistema de Gestão de Bases de Dados como plataforma. Específicos: Dotar os estudantes da capacidade de aplicar o modelo relacional de Bases de Dados em Sistemas de Informação. Dotar os estudantes da capacidade de aplicar os conceitos fundamentais sobre Arquitectura Cliente-Servidor. Dotar os estudantes da capacidade de aplicar os conceitos fundamentais sobre Gestão de Bases de Dados. Dotar os estudantes da capacidade de utilizar as ferramentas informáticas disponíveis nos Sistemas de Gestão de Bases de Dados relacionais (SGBD) na implementação e Gestão de Bases de Dados. Dotar os estudantes da capacidade de utilizar, com domínio, as interfaces de acesso a dados (ODBC, ADO, etc.). Programa: 1. Sistema de Bases de Dados. Introdução: Base de Dados. Introdução (Arquitectura dos Sistemas de Base de Dados; Independência dos dados; Redundância e inconsistência dos dados; Integração e concorrência dos dados; Segurança e integridade dos dados; Desenho de uma Base de Dados: Modelo Relacional; Modelo Entidade-Relação; SQL); Sistema de Bases de Dados. Introdução (Sistema de Gestão de Base de Dados. DBMS; Propósitos do DBMS; Funções principais do DBMS; Componentes principais do DBMS); Arquitectura Cliente-Servidor. 2. DBMS ACCESS e SQL-Server: ACCESS (Introdução ao ACCESS: Características Gerais do ACCESS; Criar uma Base de Dados); Definição de Dados em ACCESS ( Criar tabelas; Diagrama de relação entre tabelas (Relationships); Definição de Views); SQL-SERVER (Introdução ao SQL-Server: Características Gerais do SQL-Server; Criar uma Base de Dados; Definição de Dados: Criar tabelas; Diagrama de relação entre tabelas (Relationships); Definição de Views; Procedimentos stored, Functions e Triggers (Create procedures; Transac-SQL; Create Functions; Triggers). 3. Exemplos práticos de Base de Dados: Levantar diversos problemas de aplicação de bases de dados; Modelar a Base de Dados para cada problema levantado, usando o modelo relacional; Implementar a Base de dados para cada problema, usando ACCESS (para alguns casos) e SQL-Server; Utilizar a tecnologia Cliente-Servidor em SQL-Server. Uso de procedimentos armazenados. 4. Projecto prático real: Capturar os requisitos de um problema prático de Base de dados; Uso de Ferramentas para modelar a Base de Dados; Modelar e implementar a Base de dados do problema, usando SQL-Server. 5. Interfaces de acesso a dado: Acesso a Bases de Dados usando API, Introdução de ADO e ODBC; Uso de 51 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Objectos ADO desde Visual Basic; Formulários para adicionar, alterar e excluir dados; Recuperação de informação. Bibliografia: C. J. Date. An Introduction to Database Systems (6th Edition). Reading, Massachusetts: Addison Wesley Publishing Company 1995, Systems Programming Series, World Student Series Edition, Viera Robert. Professional SQL Server 2000 Programming. Published by Wiley Piblishing, Inc. Indianópolis, Indiana. Redes de Computadores Ano 3º Semestre 2º Carga Horária 6 Objectivos: Gerais: Perceber o que são redes de computadores e ter uma primeira aproximação de como funcionam e para que servem; Ter uma ideia global da estrutura e componentes de uma rede de computadores. Específicos: Saber caracterizar os modelos OSI e TCP/IP, e cada uma das camadas; Saber escolher a topologia de rede adequada para um determinado cenário; Funcionalidade dos dispositivos de rede: comutadores, concentradores, encaminhadores, modem e repetidores; Conhecer principalmente os protocolos IP, TCP e UDP; Conceitos básicos da tecnologia Ethernet; Ter conhecimentos básicos na comutação e roteamento; Conceitos básicos das aplicações em rede ou distribuídas: Cliente/Servidor, Peer to Peer (P2P) e Sistemas Híbridos. Programa: 1. Terminologia de rede: Historia das redes de computadores; Protocolos; Topologias de rede (Anel; Barramento; Estrela; Malha); LANs; WANs; MANs; VPNs; Intranets e extranets; Canais de dados (DTE; DCE); Canais de acesso à rede (Rede para acesso residencial; Rede para acesso institucional; Rede para acesso móvel); Demonstração de “ backbone, core, ISPs e NAPs” de rede; Equipamento de interligação de redes (Comutadores (Switch); Concentradores (Hub); Encaminhadores (Router); Repetidores; Modem); largura de banda (Importância da largura de banda; Medições; Limitações; Throughput; Cálculo da transferência de dados); Modelo OSI; Modelo TCP/IP; Comparação entre OSI e TCP/IP. 2. Camada de Acesso a rede: Nível físico (Digital versus Analógico; Sinais e ruídos; Canais de comunicação; Tipos de transmissão; Multiplexação; meios físicos); Nível de enlance de dados/ligação à rede (Serviços; Comutação de pacotes e de circuitos. 3. Camada de Internet/Rede: Classes de endereços; Endereçamento IP; Formato de datagrama: IPV4 e IPV6; Mapeamento de endereços: ARP, RARP; NAT; 52 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Roteamento; Tunelamento. 4. Camada Transporte: Protocolos (TCP; UDP). 5. Camada de Aplicação: Aplicações em Rede ou Distribuídas (Cliente/Servidor; Peer-to-Peer (P2P); Sistemas Híbridos); Paradigmas e tipos de transporte; Protocolo (HTTP (Web); DNS); Correio electrónico (SMTP; POP3); Transferência de ficheiros (FTP); Protocolos (RTP; SIP/IAX). Bibliografia: Tanenbaum A. S. Computer Network. Prentice-Hall, Third Edition, 1990; Douglas Comer & David Stevens. Internetworking with TCP/IP – vol III – Client Server Programming and Application. Pretince – Hall, 1993; Larry L. Peterson & Bruce S. Davie. Computer Network – A System Approach. Morgan & Kaufman, 1996. Fred Halsal. Data Communications, Computer Network and Open Systems. third Edition, Addison – Wesley, 1994; W. Richard Stevens. UNIX Network programming. Pretince – Hall, 1990; W. Richard Stevens. TCP/IP Illustrated – vol. I – The Protocols. Addison Wesley, 1995. J. Kurose, K. Ross. Computer Networking – A Top-down Approach, Addison Wesley, 2004. Laboratório de Redes de Computadores Ano 3º Semestre 2º Carga Horária 6 Objectivos: Gerais: Oferecer a componente prática/laboratorial dos conteúdos abordados na disciplina de Redes de Computadores Bibliografia: Tanenbaum A. S. Computer Network. Prentice-Hall, Third Edition, 1990; Douglas Comer & David Stevens. Internetworking with TCP/IP – vol III – Client Server Programming and Application. Pretince – Hall, 1993; Larry L. Peterson & Bruce S. Davie. Computer Network – A System Approach. Morgan & Kaufman, 1996. Fred Halsal. Data Communications, Computer Network and Open Systems. third Edition, Addison – Wesley, 1994; W. Richard Stevens. UNIX Network programming. Pretince – Hall, 1990; W. Richard Stevens. TCP/IP Illustrated – vol. I – The Protocols. Addison Wesley, 1995. J. Kurose, K. Ross. Computer Networking – A Top-down Approach, featuring the internet. Addison Wesley, 2004. Jeff Doyle, Jennifer Carroll, Routing TCP/IP, Volume 1 (CCIE Professional Development). Cisco Press, 2nd edition, 2005. 53 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Jeff Doyle, Jennifer Carroll, Routing TCP/IP, Volume 2 (CCIE Professional Development). Cisco Press, 2001. Técnicas de Gestão e Negócios Ano 3º Semestre 2º Carga Horária 4 Objectivos: Gerais: Compreender e aplicar os principais conceitos de Economia, permitindo fazer uma analise do comportamento dos agentes económicos; Compreender a organização, seus princípios e valores, sua estrutura, seu funcionamento e sobretudo saber analisar as diferentes interacções intra e inter-organizacionais. Desenvolver capacidades de gestão que facilitem a materialização de iniciativas empreendedoras. Desenvolver o hábito de leitura para actualização dos temas da actualidade nas várias áreas de saber e definir atitudes positivas face aos desafios correntes. Específicos: Reconhecer o problema de escassez Interpretar e aplicar os conceitos de eficiência e eficácia Reconhecer a importância da gestão organizacional Reconhecer a importância de inserção na organização Entender o funcionamento de uma organização Identificar as características de um empreendedor Identificar oportunidades de negócios Elaborar um plano de negócios Aplicar os conceitos e as ferramentas aprendidos nos casos práticos. Programa: 1. Organizações: Conceito; O Meio Ambiente das organizações; Macroestrutura interna das organizações; Empresa – um caso particular das organizações; O Papel do Gestor. 2. Teoria das Organizações: Teorias Clássicas; Abordagem comportamentalista; Abordagens pragmáticas; Tendências de evolução. 3. Subsistema Operacional: Gestão da Informação; Gestão dos Recursos Materiais; Gestão dos Recursos Humanos; Gestão da Produção; Interacção entre os subsistemas operacional e de gestão. 4. Subsistema de Gestão: Marketing; Gestão Financeira; Gestão dos Recursos Humanos; Gestão da Produção; Interacção entre os subsistemas de gestão e institucional. 5. Subsistema Institucional: Planeamento; Posicionamento da Empresa; Responsabilidade Social. 6. Empreendedorismo: Conceito; Origem e Evolução; Perfil do Empreendedor; Teorias do Empreendedorismo; Empreendedorismo em Moçambique; Plano de Negócios. 54 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Bibliografia: De Sousa, António. (1990). Introdução à Gestão – Uma Abordagem Sistémica. Editorial Verbo, Lisboa. Chiavenato, Idalberto (2000). Introdução à Teoria Geral de Administração. 6ª ed., Editora Campus, Rio de Janeiro. Dornelas, José Carlos A. (2000). Manual de Elaboração de Plano de Negócios para Micro, Pequena e Média Empresas. São Carlos (versão digital). Kotler, Philip. (2000). Administração de Marketing – Análise, Planejamento, Implementação e Controle. 5ª Ed, Atlas, São Paulo. Marques, Ana Paula. (1991). Gestão da Produção Diagnóstico, Planeamento e Controlo. Texto Editora. Chiavenato, Idalberto. (2000). Administração – Teoria, Processo e Prática. 3ª ed., Makron Books, São Paulo. Gestão de Projectos Informáticos Ano 4º Semestre 1º Carga Horária 6 Objectivos: Conhecer os conceitos de gestão de projectos Conhecer as especificidades dos projectos informáticos Técnicas de gestão de pessoas e equipas Dotar o estudante da capacidade de definir o âmbito e os requisitos do projecto Dotar o estudante da capacidade de definir um modelo de gestão de custos do projecto Dotar o estudante da capacidade de elaborar um plano de gestão dos riscos Dotar o estudante da capacidade de elaborar um plano de gestão da comunicação no projecto Dotar o estudante de Aptidões de avaliação Dotar o estudante de Aptidões de organização do trabalho Dotar o estudante da capacidade gestão do tempo e cumprimento de prazos Dotar o estudante da capacidade trabalho em equipa e aptidões de cooperação Programa: 1. A Gestão e o seu Contexto: Conceitos básicos: A Gestão e o papel do Gestor; O contexto actual da Gestão: Globalização; Ética e responsabilidade social; Gestão da mudança. 2. Políticas Funcionais: Marketing; Gestão de Operações; Gestão Financeira; Recursos Humanos. 3. O Processo de Gestão: Planificação: Gestão estratégica e competitividade; Análise do meio ambiente externo; Análise do meio ambiente interno; Desenvolvimento de estratégias; Organização; Liderança; Controlo. 4. Ética e deontologia profissional. Bibliografia: António Miguel. Gestão de Projectos de Software. 4ª Edição actualizada, FCA, 2010. Bob Hughes, Mike Cotterell. Software Project Management, 5th edition, McGraw-Hill Higher Education, 2009. 55 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Mike Cohn. Agile Estimating and Planning. Prentice Hall, 2008. Laboratório de Engenharia de Software Ano 4º Semestre 1º Carga Horária 6 Objectivos: Gerais: Desenvolver habilidades no desenvolvimento de software aplicando conhecimentos das disciplinas Engenharia de Software I e Engenharia de Software II para desenvolver software fiável, de baixo custo, de manutenção fácil e que cumpra com os requerimentos do cliente. Específicos: Criar habilidades na obtenção dos artefactos durante o desenvolvimento do software num projecto real. Criar habilidades na modelação dos artefactos durante o desenvolvimento do software de um projecto real com uso de uma ferramenta CASE. Programa: 1. Artefactos Fluxo de trabalho Negócio: Criação do diagrama de casos de uso de negócio; Criação de diagrama de actividades; Criação de diagrama de Objectos de negócio; Criação de modelo de domínio. 2. Artefactos Fluxo de trabalho Requerimentos: Gestão de requerimentos. Criação de matrizes de transibilidade; Criação de diagrama de casos de uso de Sistema; Estimação de projecto de Software com uso da ferramenta CASE. 3. Artefactos Fluxo de trabalho análise e desenho: Criação das realizações dos casos de uso em análise e desenho; Criação de diagramas de interacção. Diagramas de colaboração e de sequência; Criação de diagramas de classes de análise e desenho; Criação de diagramas de Estados; Criação de modelo de dados; Desenho da arquitectura de Software. 4. Artefactos Fluxo de trabalho Implementação: Criação do diagrama de componentes; Criação do diagrama de implementação; Realização de engenharia directa e inversa de código fonte e da base de dados. 5. Artefactos Fluxo de trabalho teste: Criação de casos de teste; Execução de casos de testes. testes Automáticas. Bibliografia: Ian Sommerville. Software Engineering. (8th Edition). 2006 Roger S. Pressman. Ingeniería del Software. Un enfoque práctico. (2002). Ivar Jacobson, Grady Booch, James Rumbaugh. El Proceso Unificado de Desarrollo de Software. (2000). Ivar Jacobson, Grady Booch, James Rumbaugh. El Lenguaje Unificado de Modelado. (2000). Craig Larman. UML y Patrones. Una introducción al análisis y diseño orientado a objetos y al proceso unificado.(2003) 56 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Sistemas Distribuídos Ano 4º Semestre 1º Carga Horária 5 Objectivos: Dotar o estudante com a capacidade de: Conceber e implementar aplicações distribuídas relativamente simples; Avaliar a adequação de soluções distribuídas para diversos problemas. Programa: Introdução aos sistemas distribuídos e à computação em rede. Modelos de comunicação: troca de mensagens, invocação remota. Objectos distribuídos. Nomes: identificação e localização. Sincronização. Replicação e consistência. Tolerância a falhas. Segurança. Infra-estruturas de sistemas distribuídos. 1. Sistemas Distribuídos: Panorâmica geral. 2. Modelos de Sistema: Modelos arquitecturais; Modelos fundamentais. 3. Comunicação e sincronização entre processos: Comunicação por passagem de mensagens; Invocação de métodos sobre objectos remotos. 4. Modelos Cliente-Servidor: Sua caracterização; O problema da migração de código. 5. Modelos de comunicação em grupo: Sincronização e exclusão mútua distribuídas; Algoritmos electives; Transacções distribuídas. 6. Consistência e replicação: Modelos de consistência centrados nos dados; Modelos de consistência centrados nos clientes; Protocolos. 7. Segurança: Conceitos introdutórios; Canais seguros; Controlo de acesso; Gestão da segurança Bibliografia: Andrew S. Tanenbaum & Maarten van Steen. Distributed Systems: Principles and Paradigms, 2/E, Prentice-Hall, 2007 Coulouris G., Dollimore J. e Kindberg T. Distributed Systems - Concepts and Design. Addison Wesley. Pearson Education Ltd, 2001 Investigação Operacional Ano 4º Semestre 1º Carga Horária 4 Objectivos: Dotar o estudante de competências para: Identificar problemas de decisão; Aplicar as várias fases de resolução de um problema de decisão, em particular, a definição e estruturação de problemas, a construção de modelos e a utilização de métodos quantitativos para a obtenção da solução; Analisar de forma crítica a solução obtida; Perceber a importância do papel de agente de mudança nas organizações 57 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ Programa: 1. Programação Linear: Formulação de problemas; Resolução gráfica; Método Simplex; Análise de sensibilidade; Dualidade. 2. Casos especiais de Programação Linear: Problemas de transporte; Problemas de afectação. 3. Programação Inteira: Formulação de problemas; Técnicas de resolução. 4. Casos especiais de Programação Inteira: Problemas de redes. 5. Teoria da decisão. 6. Filas de espera. 7. Cadeias de Markov. Bibliografia: Frederick S. Hillier, Gerald J. Lieberman. Introduction to operations research Luís Valadares Tavares, et al. Investigação operacional Carlos Henggeler Antunes, Luís Valadares Tavares. Casos de aplicação da investigação operacional Projecto de Licenciatura Ano 4º Semestre 1º Carga Horária - Objectivos: Capacitar o estudante na organização do trabalho de fim de curso. Programa: - 58 Plano de Estudos de Licenciatura em Engenharia Informática – LEI______________________________ 5 Considerações Finais Para a realização do curso existem aspectos correlatos relevantes que devem ser considerados, nomeadamente, recursos humanos (serviço docente qualificado), recursos materiais (computadores, equipamento de laboratório), recursos financeiros, infra-estruturas de ensino e regulamentos. Quase na totalidade, todos estes aspectos são acautelados no PDI (Plano de Desenvolvimento Institucional) 2009-2013, bem como outros dispositivos separados que são anexos ao presente plano de estudos. Com este plano de estudos, os futuros graduados posicionam-se amplamente em elevados padrões de competitividade no mercado de emprego, face aos graduados de outras Universidades de referência nacional, para além de poderem contribuir com iniciativas inovadoras nas áreas tecnológicas de Engenharia de Computação e na progressão de estudos pós-graduados no país e no estrangeiro. 59