CONEP – UFSJ Parecer No 066/2009 Aprovado em 02/12/2009 Projeto Pedagógico do Curso de Ciência da Computação Universidade Federal de São João del-Rei Outubro de 2009 SUMÁRIO 1. APRESENTAÇÃO ........................................................................................................................................................3 2. IDENTIFICAÇÃO DO CURSO ...................................................................................................................................4 3. JUSTIFICATIVA..........................................................................................................................................................5 4. OBJETIVOS DO CURSO.............................................................................................................................................6 4.1 OBJETIVO GERAL .....................................................................................................................................................6 4.2 OBJETIVOS ESPECÍFICOS ..........................................................................................................................................6 5. PERFIL DO EGRESSO................................................................................................................................................7 6. ORGANIZAÇÃO CURRICULAR ...............................................................................................................................9 6.1 DIRETRIZES LEGAIS .................................................................................................................................................9 6.2 EIXOS EPISTEMOLÓGICOS ........................................................................................................................................9 6.3 ESTRUTURA CURRICULAR ......................................................................................................................................10 6.4 COMPONENTES CURRICULARES .............................................................................................................................10 6.5 UNIDADES CURRICULARES (UCS) DO CURSO .........................................................................................................11 6.6 ATIVIDADES COMPLEMENTARES ............................................................................................................................13 6.7 FORMAÇÃO ESPECÍFICA .........................................................................................................................................15 6.8 PROJETO ORIENTADO EM COMPUTAÇÃO ...............................................................................................................17 6.9 ESTRATÉGIAS DE ENSINO E APRENDIZAGEM ..........................................................................................................18 6.10 MODALIDADES DE OFERTA DE UNIDADES CURRICULARES ...................................................................................20 6.11 AVALIAÇÃO DE APRENDIZAGEM ..........................................................................................................................20 6.11.1 Unidades Curriculares Teóricas ....................................................................................................................20 6.11.2 Unidades Curriculares Mistas........................................................................................................................21 6.11.3 Projeto Orientado em Computação ................................................................................................................21 6.12 AVALIAÇÃO E ATUALIZAÇÃO CURRICULAR .........................................................................................................22 7. PESQUISA E EXTENSÃO .........................................................................................................................................23 8. CORPO DOCENTE E TÉCNICO ADMINISTRATIVO...........................................................................................25 8.1 CRITÉRIOS GERAIS DE ESCOLHA DO CORPO DOCENTE ............................................................................................25 8.2 PLANEJAMENTO DE CONTRATAÇÕES ......................................................................................................................25 8.3 RESUMO DAS CONTRATAÇÕES................................................................................................................................28 8.4 RELAÇÃO DOS DOCENTES ......................................................................................................................................28 9. BIBLIOTECA .............................................................................................................................................................29 10. ESPAÇO FÍSICO E EQUIPAMENTOS...................................................................................................................29 ANEXO A: FLUXOGRAMA DO CURSO DE CIÊNCIA DA COMPUTAÇÃO..........................................................35 ANEXO B: SEQÜENCIAMENTO DAS UNIDADES CURRICULARES ....................................................................36 ANEXO C: PROJETO DAS UNIDADES CURRICULARES .......................................................................................38 ANEXO D: PLANEJAMENTO DE CONTRATAÇÃO DE DOCENTES.....................................................................66 ANEXO E: CRONOGRAMA DE AQUISIÇÃO DE MATERIAL BIBLIOGRÁFICO................................................76 ANEXO F: PLANEJAMENTO DA UTILIZAÇÃO DO ESPAÇO FÍSICO E AQUISIÇÃO DE EQUIPAMENTOS.83 ANEXO G: PLANEJAMENTO DE GASTOS POR ANO.............................................................................................85 REFERÊNCIAS ..............................................................................................................................................................87 2 1. Apresentação O objetivo deste documento é apresentar a Proposta de Plano Pedagógico para o curso de Bacharelado em Ciência da Computação. Tal proposta foi concebida a partir das Diretrizes Curriculares de Cursos da área de Computação e Informática estabelecidas pela Comissão de Especialistas de Ensino de Computação e Informática (CEEInf) do Ministério da Educação de 1999 [5], e a partir dos Currículos de Referência da Sociedade Brasileira de Computação, para Cursos de Graduação em Bacharelado em Ciência da Computação e Engenharia de Computação, versões de 1999 e 2005 [6, 7]. É conteúdo desta Proposta a identificação do curso, seus objetivos e justificativas, o perfil do egresso e suas competências, a organização curricular e as diretrizes metodológicas de ensino e avaliação. Na primeira parte são apresentados os dados preliminares do curso proposto, que englobam: identificação, local de funcionamento, processo seletivo, regime escolar, regime de matrículas, prazo de integralização, turno de funcionamento, número de vagas, dimensão das turmas, caracterização da bibliografia básica, espaço físico, equipamentos necessários e planejamento econômico-financeiro. Na segunda parte estão descritos os objetivos e a justificativa para a implantação do curso, perfil do egresso, campo de atuação, os eixos epistemológicos e as bases da organização curricular com a distribuição da carga horária. Ainda são feitas considerações sobre as atividades complementares que compõem a grade do curso, seguidas da bibliografia básica de referência deste projeto. A parte final da proposta corresponde ao grupo de metodologias de ensino-aprendizagem a serem utilizadas no curso, tendo em vista o perfil profissional pretendido para o estudante egresso. Deve-se ressaltar que o perfil do profissional que se deseja formar é a base sobre a qual toda a proposta foi desenvolvida. Em busca de uma exposição mais clara, optou-se por organizar alguns dos componentes do Projeto Político-Pedagógico do Curso de Ciência da Computação no formato de anexos. O Projeto ora apresentado ao CONEP é o resultado de alterações realizadas pelos professores do DCOMP-UFSJ Elisa Tuler de Albergaria, Leonardo Chaves Dutra da Rocha, Leonardo Jose Silvestre, Hilton de Oliveira Mota e Cristiane Neri Nobre no Projeto inicialmente apresentado à UFSJ pelos professores Sérgio Vale Aguiar Campos (UFMG), Alex Borges Vieira (PUC – MG) e José Augusto Miranda Nacif (Universidade de Itaúna). Tais alterações foram aprovadas pelo Colegiado do Curso de Ciência da Computação, conforme ata da quarta reunião do mesmo. 3 2. Identificação do Curso Título: Ciência da Computação Modalidade: Bacharelado Carga Horária: 3314 horas Carga Horária Semestral: Mínima Mínima: 288 horas Média: 414 horas Máxima: 558 horas Local de funcionamento: Universidade Federal de São João del-Rei - UFSJ Campus Tancredo de Almeida Neves – CTAN Av. Visconde do Rio Preto, s/nº, Colônia do Bengo, São João del-Rei, MG, CEP 36301-360 Horário: Diurno (Integral) Regime escolar: Semestral Processo seletivo: Anual com 1 entrada no início do ano. Vagas: 50 Prazo de Integralização: Mínimo: 6 semestres Médio: 8 semestres Máximo: 12 semestres Curso criado pela Resolução nº. 033, de 22 de outubro de 2007, do conselho Universitário da UFSJ. 4 3. Justificativa O avanço da tecnologia no mundo moderno tem sido extremamente rápido. Tecnologias em geral, e em particular, tecnologias associadas à ciência da computação, têm se tornado cada vez mais presentes no dia-a-dia das pessoas e afetado de forma significativa nossa maneira de viver. Entre essas tecnologias, a ciência da computação destaca-se não só pela velocidade de seu desenvolvimento como também pelo seu aspecto multidisciplinar que faz com que ela interaja naturalmente com praticamente todas as outras unidades, desde as mais próximas, como engenharia e matemática, até áreas aparentemente não relacionadas, como arte e cultura. Por isso, é de vital importância para uma universidade ter em seu elenco de cursos a Ciência da Computação, tanto para a geração de mão-de-obra qualificada, visando suprir diretamente as necessidades do mercado para profissionais de informática, como também para apoiar atividades de outras áreas. O contexto regional em que a UFSJ se encontra hoje mostra-se extremamente propício à criação do curso de Ciência da Computação por duas razões. A primeira é que não existem cursos superiores de computação públicos na região, apesar da demanda do mercado local. É importante ressaltar que a qualificação oferecida pelo curso de Ciência da Computação é bastante superior à de cursos de curta duração, normalmente oferecidos por escolas particulares. O profissional formado pelo curso de Ciência da Computação tem uma área de atuação muito mais ampla e é capaz não só de atuar em qualquer tema relacionado à computação, como também de criar e gerenciar projetos de computação, podendo assim ajudar a suprir as necessidades do mercado e aquecê-lo através da criação de novas empresas e do provimento de serviços às empresas e instituições locais. A segunda razão é que hoje em dia a Ciência da Computação permeia praticamente todas as áreas do conhecimento numa influência que tende a aumentar. Algumas áreas nas quais a computação tem participado de forma ativa incluem: biologia, com os avanços da biotecnologia; arte e cultura, com a disseminação de obras de arte e peças culturais através da Internet de forma nunca antes possível; e sistemas de informação, com a capacidade de organização, indexação e recuperação de conteúdos. A UFSJ atua em diversas destas áreas, muitas das quais ainda estão sendo definidas e estruturadas. A existência de um curso de ciência da computação poderá apoiar a universidade no desenvolvimento destas áreas de forma harmoniosa com os desenvolvimentos computacionais existentes e futuros. É importante ressaltar novamente o caráter multidisciplinar da Ciência da computação. O curso proposto baseia-se fortemente neste aspecto, oferecendo diversas oportunidades de interação com outras áreas da universidade. Podemos concluir desta forma que a criação do curso de Ciência da Computação irá não somente formar mão-de-obra qualificada necessária, como também terá o potencial de fortalecer a economia da região, integrando-a com outras próximas e maiores, como as regiões de influência de Belo Horizonte, Rio de Janeiro e São Paulo. Além disso, o curso de Ciência da Computação irá fortalecer a UFSJ, auxiliando-a a crescer em diversas áreas, estabelecendo uma interação forte e saudável entre diversas unidades. 5 4. Objetivos do Curso 4.1 Objetivo Geral O curso de Bacharelado em Ciência da Computação tem por objetivo formar profissionais com fundamentação científica, técnica, ética e humanista, condizente com a especificidade da área de Ciência da Computação e de acordo com as diretrizes elaboradas pela Comissão de Especialistas em Educação em Computação e Informática (CEEInf) do Ministério da Educação [5]. 4.2 Objetivos Específicos Os objetivos específicos do Curso de Ciência da Computação da UFSJ são os seguintes: Formar profissionais com competência técnica e ética, para suprir as necessidades do mercado de informática e ciência da computação da região; • Formar profissionais com espírito empreendedor e crítico, para não só trabalhar no mercado de informática como também para ajudar em seu crescimento através da criação de novas empresas e oportunidades de negócios em computação; • Fortalecer a economia da região de São João del-Rei, através doaumento da interação entre as empresas e instituições da região com outras das regiões de Belo Horizonte, Rio de Janeiro e São Paulo visando incrementar o intercâmbio técnico e comercial da área; • Instalar na UFSJ um centro de excelência em Ciência da Computação, que irá não só formar mão-deobra, como também prestará consultoria avançada a empresas e instituições da região; • Criar um pólo de informática, atraindo para a região profissionais qualificados e permitindo o desenvolvimento de projetos avançados em computação; • Oferecer um curso de Ciência da Computação adequado às mais novas diretrizes do ensino de computação, tanto brasileiras [6, 7] quanto internacionais[2, 4]; • Oferecer um curso de Ciência da Computação diferenciado pela flexibilidade curricular e pela multidisciplinaridade, essenciais em um curso como computação, que se caracteriza por modificações tecnológicas freqüentes e interações fortes com outras áreas do conhecimento; • Viabilizar projetos de pesquisa interdisciplinares, relacionando a Ciência da Computação com outras áreas do conhecimento presentes na UFSJ. 6 5. Perfil do Egresso Do egresso do curso de Bacharelado em Ciência da Computação é exigida uma predisposição e aptidões para a área, além de um conjunto de competências, habilidades e atitudes a serem adquiridas durante a realização do curso. As componentes desse perfil são destacadas a seguir: Competências Técnicas 1. Visão sistêmica e holística da área de computação; 2. Profundo conhecimento dos aspectos teóricos, científicos e tecnológicos relacionados à área de computação; 3. Competência e eficiência na operação de equipamentos computacionais e sistemas de software; 4. Capacidade de iniciar, projetar, desenvolver, implementar, validar e gerenciar qualquer projeto de software, com base nos conceitos adquiridos; 5. Capacidade para projetar e desenvolver sistemas que integrem hardware e software; 6. Capacidade para avaliar prazos e custos em projetos de software; 7. Competência para identificar, analisar e documentar oportunidades, problemas e necessidades passíveis de solução via computação, e para empreender na concretização desta solução; 8. Capacidade para pesquisar e viabilizar soluções de software para várias áreas de conhecimento e aplicação; 9. Capacidade de aplicar de forma eficiente princípios de gerenciamento, organização e busca de informações. Habilidades Gerais 1. Compreensão do mundo e da sociedade em função de uma boa base humanística; 2. Saber liderar e ser liderado, saber trabalhar em grupo e com equipes multidisciplinares; 3. Saber se comunicar bem de forma oral e escrita, com destaque para o uso correto da língua portuguesa e para um grau de fluência na língua inglesa suficiente para a leitura e escrita de documentos técnicos na área; 4. Ser capaz de desenvolver soluções criativas e inovadoras para problemas e situações da vida profissional; 5. Saber considerar aspectos de negócios no processo de gerenciamento de um projeto; 6. Ser capaz de se adaptar constantemente à rápida evolução da área. 7 Atitudes e Posturas 1. Atuação profissional baseada em sólidos princípios éticos, sociais e legais, com destaque ao conhecimento e respeito à legislação específica da área; 2. Posturas pró-ativa, colaborativa e crítica; 3. Mentalidade transformadora e inovadora capaz de acompanhar o desenvolvimento da área e de participar do mesmo propondo, novas soluções e desenvolvê-las de forma eficiente. Classes de Problemas que os Egressos Estarão Capacitados a Resolver Em função da competência técnica e das habilidades atribuídas ao egresso, este deverá estar apto a resolver as seguintes classes de problemas: 1. Análise, especificação, projeto, desenvolvimento, implementação, validação, manutenção e gerenciamento de qualquer projeto de software, envolvendo tecnologia conhecida ou a ser criada; 2. Projeto e desenvolvimento de sistemas que integrem hardware e software; 3. Pesquisa e viabilização de soluções de software para diversas áreas de conhecimento e aplicação; 4. Operação, instalação, configuração e integração eficiente de equipamentos computacionais e sistemas de software. Funções que os Egressos Poderão Exercer no Mercado de Trabalho O perfil profissional do egresso capacita-o a desenvolver as seguintes funções no mercado de trabalho: 1. Empreendedor — descobrimento e empreendimento de novas oportunidades para aplicações usando sistemas computacionais e avaliando a conveniência de se investir no desenvolvimento da aplicação; 2. Consultor — consultoria e assessoria a empresas de diversas áreas no que tange ao uso adequado de sistemas computacionais; 3. Coordenador de Equipe — coordenação de equipes envolvidas em projetos na área de computação e informática; 4. Membro de Equipe — participação de equipes que desenvolvem projetos na área de informática, de forma colaborativa e integrada; 5. Pesquisador — participação em projetos de pesquisa científica e tecnológica. 8 6. Organização Curricular 6.1 Diretrizes Legais A atual Lei de Diretrizes e Bases da Educação (LDB) extinguiu o conceito de currículo mínimo, para todos os cursos, dando autonomia para cada instituição de ensino superior definir as unidades e conteúdos de seus cursos. Além disso, os cursos superiores passam a ter como referência as Diretrizes Curriculares de cada área. A estrutura curricular do Curso de Bacharelado em Ciência da Computação aqui apresentada está fundamentada nos currículos de referência da SBC (Sociedade Brasileira de Computação) de 1999 e 2005 [6, 7], nas diretrizes curriculares da Comissão de Especialistas do Ministério da Educação (CEEInf/MEC) [5] e em várias versões dos Computing Currículo da ACM (Association of Computing Machinery) [2] e do IEEE (Institute of Eletrical and Eletronics Engineers) [4]. Fundamenta-se ainda na Resolução 001, de 15 de janeiro de 2003 CONAC-UFSJ que estabelece os parâmetros mínimos para a elaboração de um projeto pedagógico na Universidade Federal de São João del-Rei. Orientado pelas diretrizes e modelos citados, o currículo proposto oferece um conjunto de unidades em vários campos de conhecimento, com a finalidade de se alcançar uma formação abrangente e que ofereça as bases técnicas e científicas necessárias ao Bacharel em Ciência da Computação. 6.2 Eixos Epistemológicos Devido à rápida evolução do conhecimento e da tecnologia, os cursos de nível superior em computação requerem uma atualização constante de seus currículos. Assim, um currículo estático, concentrado somente no aprendizado através de aulas expositivas, dificilmente poderá ser usado por mais que alguns anos, tornando-se rapidamente obsoleto. Além disso, a nova Lei das Diretrizes e Bases da Educação introduz novos conceitos e filosofias para a educação superior no nível de graduação no Brasil. De acordo com a LDB, a graduação é uma etapa inicial da formação e não um momento de esgotamento do conhecimento. Este aspecto dinâmico só é viável dentro de uma estrutura flexível, que permita aos cursos definirem diferentes perfis para os seus egressos, adaptando-os às rápidas mudanças do mundo moderno [3]. A definição de perfis dos egressos está ligada à clara definição da capacidade criativa, das responsabilidades e das funções que os egressos poderão vir a exercer. Os profissionais formados deverão ser dinâmicos, adaptáveis às demandas do mercado de trabalho e aptos a aprender a aprender. Eles serão profissionais diferenciados em relação àqueles formados no âmbito dos currículos mínimos estáticos. O curso, então, deverá fornecer um conjunto de habilidades e competências que configurem uma estruturação do conhecimento de uma certa área do saber. O projeto pedagógico aqui apresentado utiliza métodos de ensino que estimulam a pesquisa, a apresentação de seminários e a elaboração de monografias. O curso também estimula o aluno a desenvolver a capacidade de análise, abstração, especificação, projeto e avaliação nas diversas áreas da computação. A proposta pedagógica utiliza o conceito da transversalidade, que consiste em exigir dos alunos, ao longo do curso, atividades integradas aos conteúdos específicos da computação que estimulem o desenvolvimento de tais habilidades. Cada professor poderá, e deverá, cobrar esta capacidade dos seus alunos. O aprendizado de comunicação e expressão, por exemplo, poderá ser feito 9 estimulando os alunos a escreverem e apresentarem seminários. O aprendizado de inglês poderá ser realizado através de leitura e produção de textos em inglês sobre assuntos estudados nas unidades de computação. Métodos de pesquisa para desenvolver um trabalho científico poderão ser orientados a partir da experiência. Desta forma, o aluno irá adquirir, ao longo do curso habilidades de raciocínio e construção do conhecimento que lhe permitirão não somente aprender novos assuntos técnicos de forma independente, como também se adequar a novas realidades profissionais de forma eficiente e rápida. 6.3 Estrutura curricular Reconhecendo a dificuldade de implantação destas idéias em uma estrutura curricular convencional, este projeto apresenta uma estrutura curricular diferenciada. O curso de computação não será mais composto apenas por unidades, mas considerará outras atividades pedagógicas como parte integrante do currículo. Cada atividade utilizará diferentes métodos de aprendizado, visando avaliar se o aluno adquiriu as competências nas habilidades específicas. Para atingir esses objetivos, o curso de Ciência da Computação está estruturado em dois blocos. O primeiro bloco é denominado de Formação Básica em Computação e é composto por um conjunto de unidades obrigatórias que visam garantir a competência mínima necessária a um profissional de nível superior, com conhecimentos das principais áreas da computação. O segundo bloco é composto por um conjunto de Projetos de Formação Específica, cada um possibilitando a formação em um perfil profissional específico da computação. A quantidade e os perfis dos Projetos não são fixados e determinados na proposta pedagógica do curso. Cada projeto deverá ser submetido e aprovado pelo colegiado do curso, com base no relato de uma comissão de especialistas. Os Projetos de Formação Específica deverão ser elaborados e submetidos periodicamente ao colegiado, de acordo com a disponibilidade de recursos humanos e de infra-estrutura. Além de participar dos Projetos de Formação Específica, o aluno deverá elaborar e defender, perante uma banca examinadora, uma monografia de graduação (Projeto Orientado em Computação). A monografia deverá envolver conhecimentos de um ou mais Projetos de Formação Específica dos quais o aluno tenha participado. Cada aluno terá um orientador acadêmico que o ajude no planejamento dos projetos e na elaboração da monografia. 6.4 Componentes Curriculares O Bacharelado em Ciência da Computação proposto apresenta: • um conjunto básico de unidades curriculares do núcleo de Matemática, perfazendo um total de 504 horas. A profundidade de abordagem das matérias leva em conta o perfil do profissional e as necessidades específicas de outras disciplinas do curso, de forma a fornecer a base de conhecimento necessária para cursá-las; • unidades do núcleo de Ciências Básicas, perfazendo 144 horas. Unidades como Física, com enfoque em treinamento experimental, são abordadas para garantir a melhor formação do aluno e também fornecer a base de conhecimento para outras unidades do curso; • uma sólida base de Fundamentos da Computação, com 990 horas; • um núcleo de Tecnologia da Computação, englobando 684 horas. 10 • um núcleo de Contexto Social e Profissional com matérias relevantes às atividades de estágio, atuação profissional, formação ética e humanística, o que propicia o conhecimento básico para a compreensão do domínio de aplicação e a atuação profissional com responsabilidade. Este núcleo engloba 416 horas; • um conjunto de atividades voltadas à pesquisa e desenvolvimento, extensão, seminários e integração extracurricular para expandir as atividades extra-classe e oferecer uma formação de qualidade para os egressos. Essas atividades estão inseridas nos núcleos descritos acima, mas suas horas (200 horas obrigatórias) são contadas como sendo do núcleo de Contexto Social e Profissional. • um núcleo de formação específica, onde as unidades são criadas de maneira integrada e de acordo com a vocação da instituição e formação do seu corpo docente. Essas unidades (UCs optativas e eletivas) totalizam 576 horas, oferecendo aos alunos a opção de se especializarem em certas linhas de aplicação; Com base nesses parâmetros, o Curso de Bacharelado em Ciência da Computação proposto apresenta a seguinte organização curricular: Núcleo Matemática Núcleo Ciências Básicas Fundamentos da Computação Tecnologia da Computação Contexto Social e Profissional Formação Específica Total 504 horas 144 horas 990 horas 684 horas 416 horas 576 horas 3314 horas Tabela 1: Componentes Curriculares A matriz curricular do curso e as ementas das unidades podem ser vistas nos anexos A, B e C. 6.5 Unidades Curriculares (UCs) do Curso As unidades da área de Computação estão organizadas em dois núcleos: 1. Fundamentos da Computação: compreende o núcleo de matérias que envolvem a parte científica e as técnicas fundamentais à formação sólida dos egressos dos diversos cursos de computação. Estas unidades caracterizam-se por apresentarem conteúdos teóricos e práticos integrados, não sendo desejável um desenvolvimento independente de ambos. A carga de conhecimento teórico e prático deve ser equilibrada de acordo com a unidade. Deve-se ter uma atenção especial às unidades deste núcleo, por serem base das unidades de conteúdo tecnológico e das unidades de formação específica. Estas unidades caracterizam-se por desenvolverem diretamente as competências práticas iniciais do curso, necessárias para a formação tecnológica e específica do aluno. A Tabela 2 apresenta as unidades curriculares deste módulo. Unidade Curricular Introdução a Ciência da Computação Algoritmo e Estruturas de Dados I (AEDS I) Laboratório AEDS I Algoritmos e Estrutura de Dados II (AEDS II) Laboratório AEDS II CH 36 72 18 72 18 11 Algoritmos e Estrutura de Dados III (AEDS III) Laboratório AEDS III Lógica Aplicada à Computação Introdução a Sistemas Lógicos Digitais Laboratório de Sistemas Lógicos Digitais Arquitetura e Organização de Computadores I Programação Orientada a Objetos Conceitos de Linguagens de Programação Grafos Arquitetura e Organização de Computadores II Sistemas Operacionais Laboratório de Sistemas Operacionais Teoria de Linguagens Total 72 18 72 72 18 72 72 72 72 72 72 18 72 990 NOTA: As unidades curriculares de laboratório são oferecidas sempre junto à respectiva unidade curricular teórica. A aprovação em laboratório é condicionada à aprovação na respectiva unidade teórica e vice-versa. Tabela 2: Unidades Curriculares de Fundamentos da Computação 2. Tecnologia da Computação: compreende o núcleo de matérias que representam um conjunto de conhecimento agregado e consolidado que capacitam o aluno para a elaboração de solução de problemas nos diversos domínios de aplicação. Estas unidades curriculares caracterizam-se por apresentarem conteúdos teóricos e práticos integrados, não sendo desejável um desenvolvimento independente de ambos. A carga de conhecimento teórico e prático deve ser equilibrada de acordo com a unidade em si e é desejável a integração da prática multidisciplinar, onde o aluno deverá adotar o conhecimento compreendido em várias unidades com o objetivo de solucionar um trabalho prático. Particularmente no curso de Ciência da Computação, observa-se que as unidades que abordam conteúdo teórico e prático com visão multidisciplinar são as mais numerosas do curso e pertencentes a todos os campos de conhecimento. A Tabela 3 apresenta as unidades deste módulo. Unidade Curricular Introdução à Engenharia de Software Matemática Computacional Compiladores Banco de Dados Laboratório de Banco de Dados Redes de Computadores I Laboratório Redes de Computadores I Computação Gráfica Processamento Digital de Imagens Interação Humano-Computador Inteligência Artificial Total CH 72 72 72 72 18 72 18 72 72 72 72 684 NOTA: As unidades curriculares de laboratório são oferecidas sempre junto à respectiva unidade curricular teórica. A aprovação em laboratório é condicionada à aprovação na respectiva unidade teórica e vice-versa Tabela 3: Unidade Curricular de Tecnologia da Computação As unidades de outras áreas estão organizadas em outros três núcleos: 12 1. Matemática: propicia a capacidade de abstração, de modelagem e de raciocínio lógico constituindo a base para várias matérias da área de Computação. A Tabela 4 apresenta as unidades deste módulo. Unidade Curricular Matemática Discreta* Cálculo Diferencial e Integral I Geometria Analítica Cálculo Diferencial e Integral II Cálculo Diferencial e Integral III Estatística e Probabilidade Aplicada à Computação Álgebra Linear Total CH 72 72 72 72 72 72 72 504 *Nota: a disciplina de Matemática Discreta deverá ser ministrada por professor do Departamento de Ciência da Computação Tabela 4: Unidade Curricular de Matemática 2. Ciências Básicas: fornece conhecimento de física e desenvolve no aluno a habilidade para aplicação do método científico (Tabela 5). Unidade Curricular Mecânica Clássica Elementos de Eletricidade Total CH 72 72 144 Tabela 5: Unidade Curricular de Ciências Básicas 3. Contexto Social e Profissional: fornece o conhecimento sócio-cultural e organizacional, propiciando uma visão humanística das questões sociais e profissionais, em consonância com os princípios da ética em computação (Tabela 6). Unidade Curricular Português Instrumental Computador e Sociedade Proposta de Projeto Orientado Projeto Orientado Atividades Complementares Total CH 36 36 72 72 200 416 Tabela 6: Unidade Curricular de Contexto Social e Profissional 6.6 Atividades Complementares Compreende-se por Atividades Complementares aquelas atividades que visam a complementar e enriquecer a formação do aluno de acordo com o perfil do profissional proposto pelo curso. Sua realização deve estar articulada com os objetivos gerais do curso. Seguindo a Resolução 001 do CONAC/UFSJ de 15 de Janeiro de 2003, que estabelece diretrizes para a elaboração do projeto político-pedagógico, podemos apontar as seguintes atividades complementares como sendo pertinentes à proposta pedagógica do curso de bacharelado em Ciência da Computação: 1. Iniciação Científica; 2. Participação em Eventos Científicos e Acadêmicos; 3. Atividades de Extensão; 13 4. Trabalhos Multidisciplinares ou de Equipe; 5. Atividades Culturais e Artísticas; 6. Monitorias, Tutorias e Auxílio em Projetos Pedagógicos. O aluno deverá realizar atividades complementares que representem no mínimo 200 horas. Estas atividades deverão ser realizadas ao longo do curso e não serão computadas as atividades antecedentes ao ingresso do aluno no curso. As atividades complementar estão divididas em duas linhas de complementação, denominadas Atividades de Extensão e Atividades de Ensino e Pesquisa. O aluno deverá realizar atividades em pelo menos uma das duas linhas de complementação distintas para a sua graduação, devendo ser motivado a participar de ambas. Atividades acadêmicas, culturais e científicas poderão ter carga horária contabilizada como Atividades Complementares do curso e poderão ser desenvolvidas ao longo do semestre letivo ou em período de férias. A documentação comprobatória referente à atividade complementar deverá ser apresentada à Coordenação do Curso e o seu registro no sistema de controle acadêmico só será efetivado após a homologação pela Coordenação. O cálculo da carga horária a ser contabilizada na atividade complementar será realizado por um professor que poderá deferir ou não a atividade, de acordo com a documentação comprobatória e a relevância da mesma para formação do aluno. As Tabela 7 e 8 servem como base para a contabilização da carga horária por atividade complementar. Atividade Comprovação Horas máxima/Atividade Estágio não obrigatório a partir do quarto semestre do curso Termo de Compromisso e relatório semestral das atividades desenvolvidas, assinado pelo responsável direto pelo estagiário, comprovando atividades em computação Bolsa de extensão certificada pela Pró-reitoria de Extensão Relatório semestral da extensão, com 30h por semestre o aval do professor responsável 30h por semestre Participação em projeto ou 20h por projeto ou atividade de extensão Certificado de participação, atividade, limitado certificada pela Pró-reitoria de assinado pelo professor responsável. a um total de 80h Extensão Tabela 7: Atividades de Extensão Atividade Iniciação Científica certificada pela Pró-reitoria de Pesquisa remunerada ou não Participação em seminário ou mini-curso de caráter acadêmico Comprovação Horas Máxima/Atividade Relatório semestral da Iniciação Científica, com o aval do professor orientador 30h por semestre Certificado emitido pelo órgão promotor do evento 10h por evento, limitado a um total de 60h 14 Apresentação de seminário de Certificado emitido pelo órgão caráter acadêmico promotor do evento Participação em congresso ou congênere científico em computação ou áreas afins 20h por apresentação, limitado a um total de 80h 20h por evento, Certificado emitido pelo órgão limitado a um total competente responsável pelo evento de 80h Publicação de trabalho em Certificado emitido pelo órgão 60h por Congresso ou congênere competente responsável pelo evento científico ou artigo em revista publicação ou carta de aceitação do artigo científica Monitoria reconhecida pela Pró-reitoria de Graduação Relatório semestral da monitoria, 30h por semestre com o visto do professor orientador Tabela 8: Atividades de Pesquisa e Ensino Coordenação das Atividades Complementares A coordenação das atividades complementares do curso de Ciência da Computação ficará a cargo de um professor que contará com 8 horas semanais de dedicação para tal atividade. Este professor deve: • Avaliar e quantificar as atividades complementares realizadas pelos alunos; • Promover palestras, jornadas e workshops de ciência da computação; • Coordenar as atividades de monitoria e introdução à docência; 6.7 Formação Específica As Unidades Curriculares de formação específica, (576h), constituem as UCs, optativas e/ou eletivas, que deverão ser cursadas pelo aluno para direcionar sua formação para uma área que ele desejar. Por exemplo, caso o aluno tenha o desejo de ter uma formação mais específica em Engenharia de Software, ele deverá procurar cursar as disciplinas optativas relacionadas ao assunto: Engenharia de Produtos de Software I, Gestão de Projetos de Software, Engenharia de Usabilidade etc. O nível de profundidade/abrangência da formação específica será decidido pelo aluno, com orientação do Coordenador de Curso, de acordo com as UCs disponíveis no momento. Na Tabela 9 são apresentadas as possíveis UCs optativas a serem oferecidas. É importante ressaltar que o oferecimento das UCs optativas será feito de acordo com decisão do colegiado. Dessa forma, algumas das UCs listadas poderão não ser oferecidas, assim como novas UCs poderão ser criadas e oferecidas de acordo com a demanda dos alunos, do mercado e do ambiente acadêmico. Também são apresentados na Tabela 10 exemplos de UCs eletivas, ou seja, UCs oferecidas por outros departamentos que podem complementar a formação específica do aluno, de acordo com seus objetivos e com a orientação do coordenador. Para cursar UCs eletivas que não constam da tabela, o aluno deverá consultar o Colegiado do Curso antes de fazer a inscrição para as mesmas. Caso não haja consulta prévia, o aluno não poderá utilizar tais UCs para compor a carga horária da sua formação específica. A carga horária de UCs eletivas é de 144 horas, podendo, conforme deliberação do colegiado, se estender a 288 horas no máximo, diminuindo a carga horária de optativas de 432 horas para 288 horas. 15 Unidade Curricular Redes de Computadores II Sistemas Distribuídos e Paralelos Modelagem e Avaliação de Desempenho Segurança e Auditoria de Sistemas Sistemas Operacionais II CH Pré-Requisitos 72 Redes de Computadores Sistemas Operacionais; 72 Redes de Computadores Estatística e Probabilidade Aplicada à 72 Computação; Redes de Computadores; 72 Redes de Computadores Sistemas Operacionais; 72 Redes de Computadores Algoritmos para Bioinformática 72 AEDS I Introdução à Biologia Molecular 72 Banco de Dados para Bioinformática 72 Mineração de Dados 72 Bancos de Dados Montagem de Genomas e Alinhamentos 72 Algoritmos para Bioinformática Bancos de Dados; Algoritmos para Bioinformática Clonagem e Construção de Bibliotecas de 72 Montagem de Genomas e Alinhamentos Seqüenciamento de DNA Fundamentos da Tecnologia da Arte 72 AEDS I Digital A História Visual 72 Fundamentos da Tecnologia da Arte Digital Projetos de Jogos 72 Fundamentos da Tecnologia da Arte Digital Modelagem 3D 72 Fundamentos da Tecnologia da Arte Digital Processamento de Áudio e Vídeo 72 Fundamentos da Tecnologia da Arte Digital Introdução a Animação 72 Modelagem 3D Engenharia de Produtos de Software I 72 Introdução à Engenharia de Software Gestão de Projetos de Software 72 Introdução à Engenharia de Software Engenharia de Usabilidade 72 Introdução à Engenharia de Software Padrões de Projeto 72 Projeto de Banco de Dados Programação Orientada a Objetos; Banco de Dados Banco de Dados; Introdução à Engenharia de 72 Software Introdução a Sistemas de Informação 72 Introdução à Ciência da Computação Técnicas Avançadas de Programação Orientada a Objetos 72 Introdução à Engenharia de Software Recuperação de Informação 72 Algoritmos e Estrutura de Dados II 16 Tecnologias Web 72 Redes de Computadores BD: Modelos 72 Banco de Dados BD: Linguagens e Arquiteturas 72 Banco de Dados Empreendedorismo em Informática 36 Tópicos Especiais em Ciência da Computação I Tópicos Especiais em Ciência da Computação II Tópicos Especiais em Ciência da Computação III Tópicos Especiais em Ciência da Computação IV Tópicos Especiais em Ciência da Computação V 18 De acordo com a ementa da UC a ser oferecida 36 De acordo com a ementa da UC a ser oferecida 72 De acordo com a ementa da UC a ser oferecida 72 De acordo com a ementa da UC a ser oferecida 90 De acordo com a ementa da UC a ser oferecida Processamento Digital de Sinais 72 AEDS III Sistemas Embarcados 72 Arquitetura de Computadores II LIBRAS – Linguagem Brasileira de Sinais (a ser oferecida a partir da contratação de docente para a área pelo departamento responsável, previsa para 2012) 36 - Tabela 9: Formação Específica – UCs optativas Unidade Curricular Empreendedorismo Direito e Legislação Introdução à Economia Inglês Instrumental Introdução à Administração Contabilidade e Custos Sociologia Psicologia CH 72 72 72 72 72 72 72 72 Pré-Requisitos - Tabela 10: Formação Específica – Exemplos de UCs eletivas 6.8 Projeto Orientado em Computação As diretrizes curriculares da SBC e MEC [5, 6, 7] recomendam um trabalho de conclusão de curso na grade curricular. Neste documento, tal trabalho é chamado de Projeto Orientado em Computação (POC) o qual será dividido em duas etapas, a elaboração da proposta, prevista na grade curricular no sétimo período do curso (UC “Proposta de Projeto Orientado”) e o desenvolvimento do projeto, baseado na proposta, no oitavo período do curso (UC “Projeto Orientado”). Durante a realização do POC, o aluno será orientado por um professor: para cada grupo máximo de 6 alunos haverá um professor orientador, dispondo de 6 horas semanais para a tarefa de orientar os alunos 17 e avaliar, de modo processual, seus trabalhos. Ou seja, em média, será uma hora de orientação do professor por aluno, por semana. Os trabalhos desenvolvidos naquelas duas UCs deverão ser entregues sob forma de artigo, modelo SBC, sendo eles um trabalho de caráter científico e individual. O trabalho de fim de curso tem caráter multidisciplinar e deve incorporar os diversos conhecimentos adquiridos pelo aluno no decorrer do curso, evidenciando a ligação entre teoria e prática. Coordenação das Unidades Curriculares de Projeto Orientado As UCs de Proposta de Projeto Orientado e Projeto Orientado em Computação contarão com a figura de um professor coordenador que contará com 4 horas de dedicação semanal para realização das tarefas envolvidas com estas UCs. O professor coordenador deverá: • • • • • Acompanhar e ajudar na alocação de alunos por professores orientadores; Acompanhar os trabalhos de diplomação; Avaliar os relatórios parciais; Organizar as apresentações finais das propostas e trabalhos realizados; Controlar e emitir certificados de participação para as atividades complementares dos outros alunos dos cursos. Critérios de Avaliação para o POC Ver seção 6.11.3 Projeto Orientado em Computação. 6.9 Estratégias de Ensino e Aprendizagem A proposta de Currículo do Curso de Bacharelado em Ciência da Computação possui grande variedade de UCs e atividades com características bastante diferentes no que se refere à natureza dos conteúdos a serem apreendidos e integrados. Distinguem-se uma série de conteúdos como conhecimentos, habilidades, atitudes e comportamentos, em contínuo processo de desenvolvimento e interação, que deverão ser mobilizados em forma de competências. Neste sentido, as competências referem-se à capacidade do aluno de mobilizar conteúdos válidos e adequados para a realização de uma tarefa ou problema em situações de aprendizagem. No entanto, não basta situar as competências como objetivos de aprendizagem, sem definir como elas podem ser desenvolvidas em situações concretas de ensino e aprendizagem nos diferentes contextos de cada UC [1]. Para qualquer proposta de estabelecer estratégias de ensino e aprendizagem, deve-se levar em conta a natureza dos conteúdos a serem desenvolvidos e a adequação dos procedimentos didáticos para possibilitar que esses conteúdos sejam mobilizados na formação de competências [1]. Neste sentido, classificamos as UCs e atividades presentes no curso de acordo com o currículo base da SBC [6, 7]. A proposta das matérias nestes currículos está organizada em seis núcleos. Dentro dos núcleos, cada matéria abrange um campo específico de conhecimento. 18 Para as unidades dos núcleos de fundamentos da computação, tecnologia da computação e contexto social e profissional, as estratégias de ensino e aprendizagem devem favorecer as atividades práticas que cada uma das UCs demandarem. A apresentação de situações potenciais de aprendizagem deverá ser o ponto de partida para se chegar às soluções e respostas através de um conhecimento (teórico), passando de uma atitude inicial de tentativa e erro ou de resposta baseada no senso comum, a uma resposta baseada na utilização de um conhecimento apresentado pelo professor ou, preferencialmente, alcançado e construído pelos alunos através da observação crítica da prática. De forma semelhante ao trabalho com as UCs teóricas, o professor deverá partir inicialmente dos recursos próprios dos alunos e instigá-los na resolução de tarefas específicas de aprendizado, ou da solução de um problema, oferecendo ou apresentando em seguida novos recursos, novas teorias e novas habilidades. Trata-se de criar situações para a aprendizagem de novos conhecimentos teóricos e novas habilidades técnicas em situações práticas, visando solucionar problemas emergentes destas situações. As unidades pertencentes aos núcleos de Matemática e Ciências Básicas caracterizam-se por apresentarem conhecimentos predominantemente teóricos, que deverão ser apresentados aos alunos e desenvolvidos através de atividades didáticas que almejem não apenas um acúmulo de informações, mas o desenvolvimento de competências para criticar, relacionar, contextualizar e dar sentido a este conhecimento em diferentes situações. Para tanto, as estratégias do professor deverão estar a serviço do desenvolvimento do aluno através de atividades onde esse seja o sujeito da aprendizagem e não um simples receptor do conhecimento. O professor deverá desenvolver práticas didáticas que vão além do modelo tradicional das aulas expositivas, em que a apresentação exaustiva dos conteúdos teóricos toma o tempo e o espaço total da aula. Sugere-se o emprego de situações potenciais de aprendizagem, criativas, lúdicas e desafiantes, que instiguem a curiosidade e a busca de respostas para as questões propostas. Situações que ofereçam perguntas não respondidas, desafios a serem solucionados, levando os alunos a passarem de uma atitude inicial de responder ou agir com base no senso comum, ou apenas na opinião pessoal, para uma atitude gradativa de exame crítico da situação apresentada, respondendo com reflexão e embasamento teórico, ou em conhecimentos que, neste momento, passam a ter um significado real, útil e aplicável, mais do que simplesmente de acúmulo para ser avaliado mais tarde pelo professor. Nesse sentido, além de cursar as disciplinas da grade curricular do curso, o aluno poderá participar de outras formas de aprendizagem tais como: 1) monitoria, onde o aluno participa dos trabalhos didáticos de disciplinas específicas, de acordo com os seus interesses, o que lhe proporciona a oportunidade de aprofundar conhecimentos e a contribuir para a melhoria do processo ensino-aprendizagem; 2) projetos de iniciação científica, onde o aluno se insere em projetos de pesquisa de professores do departamento, que lhe proporciona a oportunidade de desenvolver as suas habilidades de pesquisador e se manter em contato com a geração de novos conhecimentos; 3) projetos de extensão; o Curso de Ciência da Computação têm uma grande preocupação na formação geral dos seus alunos. Preocupação essa que, além de conhecimentos técnicos específicos esperados de todo profissional da área de tecnologia, está voltada para a responsabilidade social. Assim, faz parte da estratégia de ensino-aprendizagem adotado por esse curso, o envolvimento dos alunos em projetos que atendam a comunidade. Segundo esse projeto pedagógico, na visão de ensino integral, não basta dar ao aluno o conhecimento técnico. É também importante oferecer a oportunidade de colocar o conhecimento, que está sendo construído, em benefício da comunidade, de poder visualizar as necessidades de seu meio. Esse tipo de atividade é tão importante na formação do aluno, como Ser Humano, que o MEC incluiu a avaliação de programas/projetos de extensão como um dos itens da Avaliação das Condições de Ensino. 19 4) Envolvimentos dos alunos em trabalhos interdisciplinares; o curso de Ciência da Computação incentivará os alunos a se envolverem em trabalhos interdisciplinares durante todo o curso através do desenvolvimento de projetos envolvendo várias disciplinas do semestre. Espera-se que essa também seja uma boa estratégia de ensino-aprendizado. E finalmente, 5) Para concluir seu curso, no último ano, o aluno deve apresentar um trabalho, denominado "Projeto Orientado em Computação", onde ele tem a oportunidade de consolidar e integrar todos os conhecimentos adquiridos durante o curso. 6.10 Modalidades de Oferta de Unidades Curriculares As unidades curriculares do curso de Ciência da Computação poderão ser ofertadas nas modalidades presencial e semi-presencial, de acordo com a Portaria 4.059/2004 do Ministério da Educação. Para o caso de UCs oferecidas na modalidade semi-presencial, as mesmas deverão antes ser previstas neste projeto pedagógico. 6.11 Avaliação de Aprendizagem A avaliação do aprendizado em Ciência da Computação deverá levar em conta tanto os aspectos teóricos quanto práticos. Apesar de o curso conter UCs nitidamente de conteúdo teórico, a maior parte está voltada a um conteúdo misto, onde prática e teoria são inseparáveis. A seguir, propomos meios de avaliação para os diferentes perfis de UC do curso. Entretanto, deve-se salientar que a forma, o conteúdo e o tipo de avaliação serão de livre escolha do professor da UC. Disposições gerais quanto às avaliações das Unidades Curriculares: • As avaliações deverão seguir critérios específicos de distribuição de pontos divulgados no plano de ensino da UC no início de cada semestre; • O professor deverá comunicar aos alunos o resultado de cada avaliação realizada num prazo máximo de 15 dias após a sua realização, exceto no caso da avaliação final, que permanecerá arquivada e cuja revisão deverá ser solicitada explicitamente pelo aluno junto à Coordenadoria de Curso; • As avaliações deverão apresentar um número amplo e variado de questões, o suficiente para que o aluno possa ser avaliado em vários elementos do conteúdo e em aspectos da aprendizagem de cada UC. 6.11.1 Unidades Curriculares Teóricas As UCs teóricas caracterizam-se por apresentarem conhecimentos predominantemente teóricos, que deverão ser desenvolvidos através de atividades didáticas que instiguem a curiosidade e a investigação, promovendo um sentido de valor ao conhecimento e à teoria, que devem ser apreendidos e mobilizados para solucionar ou responder questões emergentes nas atividades em sala de aula. Não basta avaliar simplesmente a aquisição dos conteúdos teóricos, mas a contextualização e sentido dado por cada aluno. Dessa maneira, a forma de avaliação deverá levar em conta tanto o conhecimento em si quanto as competências a eles relacionados. Portanto, é sugerido: 20 • 70% do valor total da pontuação do semestre voltada para a avaliação de aprendizagem dos conteúdos teóricos. • 30% da pontuação voltada para o desenvolvimento da capacidade de contextualização, interpretação e mobilização dos conteúdos teóricos como competências a serem desenvolvidas em situações de classe. Somam-se também aos conteúdos teóricos, os conteúdos comportamentais, para efeito de avaliação das competências. Sugestão de Forma de Avaliação: 70% dos pontos para conteúdos teóricos distribuídos em, no mínimo, 2 avaliações ao longo do semestre e 30% em trabalhos, apresentação de seminários e artigos. 6.11.2 Unidades Curriculares Mistas Uma parte do curso é formada por UCs mistas, que se caracterizam por apresentarem conteúdos teóricos e práticos, que poderão ser desenvolvidos separadamente, em momentos distintos da aprendizagem, mas que deverão ser integrados, tendo como produto final as competências referentes àquela atividade ou UC em questão. Como é grande o número de UCs mistas e entre elas existem algumas diferenças significativas, é possível uma variação de porcentagem na distribuição de pontos referentes aos conteúdos teóricos e práticos. Neste sentido, é sugerido: 60% do valor total da pontuação do semestre voltados para a avaliação de aprendizagem dos conteúdos teóricos; 40% do valor total voltados para a avaliação de trabalhos práticos. Sugestão de Forma de Avaliação: 60% dos pontos para conteúdos teóricos, avaliados em, no mínimo, 2 avaliações ao longo do semestre e 40% dos pontos para trabalhos práticos, apresentações de seminários, artigos, etc. Obs.: As unidades com denominação “Laboratório” são automaticamente incluídas na matrícula do aluno quando este se matricula na disciplina teórica. Por exemplo, ao se matricular em “Algoritmos e Estruturas de Dados I”, o sistema deverá matricular o aluno em “Laboratório Algoritmos e Estruturas de Dados I”. Assim, o sistema não deverá permitir a matrícula isolada de UCs de laboratório sem o vínculo com a disciplina teórica e vice-versa. 6.11.3 Projeto Orientado em Computação O Projeto Orientado em Computação do Curso de Ciência da Computação caracteriza-se como avaliação final para obtenção do grau de bacharel em Ciência da Computação, sendo, portanto, compulsória a sua elaboração. O documento resultante da Proposta e do Projeto Orientado em Computação deverá ser entregue ao professor orientador e ao coordenador da UC em data preestabelecida por este. O professor orientador será responsável por 60% da nota da UC e o coordenador será responsável pelos 40% restantes. Serão avaliados os relatórios intermediários, a documentação final e a apresentação do projeto. 21 A apresentação final representará pelo menos 10% da nota a ser avaliada pelo coordenador das unidades de projeto. Durante a apresentação o aluno deverá fazer uma exposição oral a respeito do trabalho desenvolvido contando com um tempo limitado para a apresentação e para as perguntas. Após o término, a exposição e o trabalho serão avaliados por uma banca examinadora composta por pelo menos 2 (dois) professores designados pela Coordenadoria, sendo um destes o orientador do trabalho e o outro um membro convidado selecionado entre os componentes do corpo docente do curso. A apresentação do trabalho é de domínio público e os alunos do curso deverão ser incentivados a assistir a exposição dos colegas, sobretudo aqueles que estejam cursando a disciplina Proposta de Projeto Orientado, para que tenham noção da dimensão e da importância do POC. O aluno deverá obter aproveitamento igual ou superior a 60% da pontuação para que seja considerado aprovado. Caso o aluno não seja aprovado, ele deverá cursar a UC no semestre subseqüente. Isto não impede a continuidade do trabalho em desenvolvimento, caso o aluno deseje aperfeiçoá-lo. De acordo com a Resolução 030 do CONEP/UFSJ de 20 de Dezembro de 2007: “É obrigatória a inscrição semestral para o aluno cujo Estágio Supervisionado, Monografia, outras formas de Trabalho de Conclusão e Atividades Complementares constituir a última atividade para integralização do curso.” A mesma resolução diz ainda que, quando a finalização do POC for a última exigência para a integralização do curso, é permitido ao aluno requerer sua inscrição por, no máximo, dois períodos letivos. 6.12 Avaliação e Atualização Curricular “A avaliação e a atualização curricular devem constituir um processo contínuo, com o intuito de manter o curso de Ciência da Computação sintonizado com as necessidades do ambiente externo e propiciar o aperfeiçoamento constante das condições de ensino do curso. Assim, a avaliação deve ser uma concepção incorporada ao desenvolvimento das atividades do curso no âmbito da sala de aula, no âmbito da unidade acadêmica que é responsável pelo curso e no âmbito da própria instituição de ensino superior” [7]. Avaliação do projeto político-pedagógico do curso compreende o acompanhamento e a gestão da execução do projeto. A avaliação deverá ser realizada semestralmente e será executada a partir das seguintes ações: • Criação de uma comissão avaliadora a ser escolhida pelo colegiado do curso para acompanhar os resultados advindos da execução do Projeto Político-Pedagógico. • Reuniões semestrais entre professores que lecionarão UCs da mesma subárea da computação, para que as metodologias, ferramentas e linguagens de programação utilizadas sejam consistentes entre si, alterando-as quando necessário. • Reuniões entre Coordenador, vice-coordenador, professores e representantes dos alunos ao final dos semestres para avaliar a eficácia do Projeto Político-Pedagógico e detectar possíveis ajustes. A atualização curricular do bacharelado será feita de forma natural e continuada. Isto acontece porque o curso está estruturado de forma que contenha um grupo relativamente pequeno de Unidades Curriculares obrigatórias, atendendo às principais diretrizes curriculares para a Computação, e um grupo relativamente grande de UCs optativas, que permitem uma grande flexibilidade no direcionamento da formação dos egressos. Esta abordagem possibilita o oferecimento ou não de determinadas UCs de acordo com as demandas atuais dos alunos, do mercado e do meio acadêmico, assim como a criação de novas UCs, sempre por decisão do Colegiado do Curso. Desta forma, a 22 atualização curricular poderá ser feita de forma rápida e sem burocracia. Pode-se afirmar que o princípio da atualização curricular faz parte desta proposta desde o seu início. 7. Pesquisa e Extensão Em instituições de ensino superior, é necessário haver articulação entre ensino, pesquisa e extensão como forma de enriquecer o desenvolvimento de competências dos estudantes e docentes [7]. O investimento no desenvolvimento de pesquisas enriquece o currículo da graduação, promove oportunidades de pós-graduação, além de manter o corpo docente atualizado. Segundo [7], a criação de cursos de pós-graduação (especialização, mestrado e doutorado) também cumprirá o objetivo de formação específica de docentes e pesquisadores em Sistemas de Informação. Além disso, estas atividades são de tal importância que constituem itens da avaliação das condições de ensino, realizada pelo MEC. Os vários campos de conhecimentos que servem à organização curricular oferecem referencial para possibilidades de pesquisas, não só nas áreas de Ciência da Computação como um todo, mas também em áreas interdisciplinares, incorporando os demais departamentos da UFSJ. Além das possibilidades de estudo/pesquisa nas diversas áreas afins do bacharelado em Ciência da Computação, uma conseqüência natural do desenvolvimento e maturação do curso é a instalação em médio-longo prazo de um programa de pós-graduação. Diversas áreas de pesquisa colocam-se como estratégicas para o desenvolvimento do programa. Uma área em que atividades de pesquisa podem se iniciar imediatamente é a de bioinformática, em parceria com outros programas existentes na UFSJ, como por exemplo, o mestrado em neurociências, área com grande afinidade com a computação e bioinformática. Outros temas de pesquisa se encaixam naturalmente neste projeto. Por exemplo, para associação com a área de arte e cultura e com projetos de educação à distância podemos citar pesquisa em geração, armazenamento e transmissão de vídeo sob demanda. Esta pesquisa estuda métodos para armazenamento e transmissão eficientes de vídeo na Internet e pode ser usada tanto para fins de educação à distância quanto para transmissão de filmes artísticos gerados por pesquisadores em artes digitais. Muitas outras áreas de pesquisa são possíveis, naturalmente iniciadas de acordo com as especializações dos docentes do curso, mas não restritas às mesmas. Este projeto prevê que os professores do curso desenvolverão temas de pesquisa dentro das atividades normais do curso. As atividades de extensão deverão implementar políticas de fomento às atividades que integrem o curso de Ciência da Computação, e a universidade como um todo, à comunidade. Nessa linha, podemos destacar atividades como consultorias na área de computação por parte de professores e alunos, parcerias entre a instituição e as empresas locais, o desenvolvimento de projetos de empreendedorismo e a implantação de incubadoras de base tecnológica, além do desenvolvimento de cursos abertos à população. Segue uma lista de possibilidades de cursos de extensão que poderão ser oferecidos à comunidade sanjoanense: Cursos na área de aplicativos: • • Utilização do Sistema Operacional Linux; Utilização de Ferramentas OpenOffice. 23 • • • • • • • • • Cursos na área de Linguagens de Programação: Introdução a Programação Utilizando Java; Desenvolvimento de Aplicações Utilizando Java SE; Desenvolvimento de Aplicações Web Utilizando PHP; Desenvolvimento de Aplicações Corporativas Utilizando Java EE. Cursos na área de administração de redes e Linux: Montagem e Administração de Redes Linux; Administração de Sistemas Linux. Cursos na área de Internet; Web Design. Cursos na área de engenharia de software: • • • • • Análise e Modelagem Orientada a Objetos com UML; Modelagem de Negócios com UML; Engenharia de Requisitos; Desenho e Implementação Orientados a Objetos; Processo de Desenvolvimento de Software. Além da oferta de cursos de extensão para a comunidade local, há a possibilidade de oferta de cursos à distância, como vem acontecendo em diversos programas de extensão de universidades particulares e públicas pelo país. É importante ressaltar que a posição geográfica de São João del-Rei com relação às principais capitais da região sudeste oferece a possibilidade da oferta de cursos de extensão não somente para a comunidade local como também para as comunidades de São Paulo, Belo Horizonte e Rio de Janeiro. Naturalmente dada a grande oferta de cursos existentes nestas cidades, o estudo dos cursos de extensão da UFSJ torna-se estratégico. Em particular, percebe-se que a oferta de cursos em áreas nas quais é possível haver integração com outros cursos, departamentos e programas da UFSJ pode ser extremamente atraente, por exemplo, nas áreas de bioinformática e arte e cultura, que são áreas inovadoras em que a oferta de cursos no país é extremamente limitada. Entende-se desta forma, que proposta de extensão do Bacharelado em Ciência da Computação pode se tornar uma excelente forma de integração da UFSJ com as principais cidades do país, atraindo recursos, pessoal qualificado e projetos de pesquisa que tornarão a UFSJ um centro nacional de referência nestas áreas. Coordenação de Extensão Um professor com dedicação de 8 horas semanais estará responsável por coordenar as atividades de extensão. Este professor ficará responsável por organizar as atividades de extensão e pesquisa, tais como: • • • • • • Gerenciar as atividades de pesquisa a fim de relatar a produção acadêmica do curso; Organizar e gerenciar as atividades de prestação de serviços à sociedade; Organizar e gerenciar os cursos de extensão oferecidos à comunidade; Divulgar os eventos interdisciplinares realizados no curso; Promover o intercâmbio interdisciplinar no que toca a projetos de pesquisa e extensão; Organizar e divulgar o conhecimento produzido nas pesquisas do curso. As possibilidades de se desenvolver atividades de pesquisa e extensão a partir do departamento de Ciência da Computação da UFSJ vão além de promover produção acadêmica e a interação entre 24 universidade e sociedade. As possibilidades poderão apontar, a médio ou a longo prazo, para a afirmação da UFSJ como um dos grandes centros de produção acadêmica e de tecnologia do Estado de Minas Gerais e do Brasil. Neste sentido, podemos certamente imaginar um significativo progresso tecnológico, econômico e político para São João del-Rei e toda região de abrangência da UFSJ. 8. Corpo Docente e Técnico Administrativo 8.1 Critérios gerais de escolha do corpo docente As diretrizes para a escolha do corpo docente de um curso na área de computação são delineadas a seguir. A formação sugerida é a desejável, mas pode haver casos em que serão admitidos docentes com formação em outras áreas, desde que apresentem tradição de ensino ou experiência profissional na área de Computação. Preferencialmente, docentes com doutorado serão selecionados. É importante não somente a participação de docentes que tenham amplo conhecimento sobre a área, como também os que irão promover a pesquisa em ciência da computação, sendo que para isto o doutorado é desejável. 1. Os docentes dos núcleos de matemática e contexto social e profissional devem ter formação nas áreas específicas das matérias lecionadas: matemática, letras, administração, economia, ciências contábeis, direito etc. 2. Os docentes do núcleo de Fundamentos da Computação devem ter formação de pós-graduação na área de computação. 3. Os docentes do núcleo de Tecnologia de Computação devem ter formação em pós- graduação em Ciência da Computação, com experiência de ensino, profissional e de pesquisa na área especıfica da UC. 8.2 Planejamento de contratações Contratações para implantação do curso Três professores devem ser contratados para a implantação do curso. Um destes deverá ser contratado para coordenar a implantação. Essa contratação deverá ser feita pelo menos dois semestres antes do início de funcionamento do curso. As funções do professor responsável pela implantação do curso são: • • • • • • Monitorar a preparação e adequação das salas de aulas e da infra-estrutura computacional do curso; Orientar quanto à compra de equipamentos, computadores e acessórios correspondentes; Orientar quanto à compra de material bibliográfico, livros, etc.; Orientar na elaboração dos editais para concurso e contratações de professores; Elaborar as provas para seleção de candidatos; Organizar horários das aulas e distribuição de salas para o início do ano letivo. Contratação de secretária - técnico administrativo 25 Duas secretárias deverão ser contratadas para apoio geral das atividades do curso. Uma contratação deverá ser feita para o início previsto do curso. A segunda secretária (técnico administrativo) deverá ser contratada 1 ano após a primeira. Contratação de 4 técnicos de nível superior para operação da infra-estrutura computacional. As contratações são previstas para 2009 (1), 2010 (1) e 2012 (2) A fim de que o sistema computacional do programa seja operado de forma segura e continuada será necessária a contratação de três técnicos especializados. Estes técnicos terão a função de instalar e manter funcionando os computadores dos laboratórios e da administração do programa. Entre as principais tarefas desta equipe podemos citar: • • • • • • • Instalação física dos computadores e da rede de conexão; Instalação dos sistemas operacionais e softwares de apoio; Instalação, configuração e operação dos serviços computacionais básicos do programa, como email, acesso a Internet, backup, provimento de arquivos; Execução das rotinas de cópias de segurança; Atualização continuada dos sistemas instalados; Atualização dos sistemas de segurança, com instalação de antivírus, “patches” de segurança e a monitoração continuada da eficácia destas medidas; Apoio aos professores e alunos na operação dos sistemas. A equipe de apoio ao sistema computacional é extremamente importante, pois os serviços como e-mail, acesso à Internet, cópias de segurança entre outros, precisam estar disponíveis e devem ser monitorados continuamente. Problemas com vírus, ataques a computadores pela Internet e falhas nos sistemas somente podem ser resolvidos se uma equipe permanente estiver à disposição do programa de graduação do curso. Sem esta equipe, os serviços computacionais do curso não podem ser garantidos. Planejamento geral das contratações ao longo dos quatro primeiros anos de implantação do curso É possível atender gradativamente às demandas de contratação de professores ao longo do desenvolvimento do curso. A seguir será apresentada uma proposta de planejamento para as contratações de professores. Esta proposta será detalhada no anexo D. ANO 1: Quatro Professores Além do professor coordenador, o curso necessitará de mais três professores para atuar nas áreas listadas abaixo em seu primeiro ano de funcionamento, totalizando quatro professores. • • • 1 Professor da área de Sistemas de Computação; 1 Professor da área de Matemática Computacional; 1 Professor da Área de Hardware. Serão necessários também os seguintes professores de outros departamentos da UFSJ: • • • 1 Professor de Cálculo Diferencial e Integral I com 6 horas semanais 1 Professor de Geometria Analítica com 4 horas semanais 1 Professor de Cálculo Diferencial e Integral II com 4 horas semanais 26 ANO 2: Dois Professores No segundo ano do curso, será necessária a contratação de três professores de ciência da computação, como listado abaixo: • • 1 Professor da Área de Redes; 1 Professor da Área de Lógica/Compiladores/Teoria de Linguagens. No segundo ano serão necessários os seguintes professores de outros departamentos da UFSJ: • • • 1 Professor de Física Elementos de Eletricidade com 6 horas semanais; 1 Professor de Física Mecânica Clássica com 6 horas semanais; 1 Professor de Cálculo e Álgebra Linear com 4 horas semanais; ANO 3: Cinco Professores No terceiro ano deverão ser contratados cinco professores para se integrarem às áreas já existentes, como detalhado abaixo: • • • 1 Professor da Área de Computação Gráfica e Processamento Digital de Imagens; 1 Professor da Área de Sistemas de Computação; 1 Professor da Área de Engenharia de Software. Além disso, partir do terceiro ano de funcionamento, o Curso de Ciência da Computação deverá oferecer UCs referentes às seguintes áreas: • Bioinformática; • Arte e Cultura; • Sistemas de Informação; • Engenharia de Software; • Sistemas de Computação. Para tanto, deverão ser contratados três professores, um para cada uma das áreas citadas. ANO 4: Dois Professores No quarto ano de implantação do curso, deverão ser contratados dois professores para integrar o corpo docente: • 2 Professores da Área de Sistemas de Computação. Professores de outros departamentos da UFSJ para as seguintes UCs: • • Professor de Cálculo Diferencial e Integral II (4 horas); Professor de Física: Elementos de Eletricidade (4 horas); 27 8.3 Resumo das Contratações Para a implementação do curso de forma completa será então, necessária a contratação dos seguintes profissionais: 1 professor coordenador da implantação, 2 professores para atuação junto ao coordenador e em atividades de preparação de roteiros e aulas, 1 secretária, 4 técnicos especializados de nível superior, 4 professores no primeiro ano, 2 no segundo, 3 no terceiro e 2 no quarto ano. São propostas cinco áreas para contração de professores neste projeto. Desta forma o total necessário para o pleno funcionamento do curso é de 16 professores. O número de alunos que podem ser atendidos por este quadro de professores pode ser calculado da seguinte forma: As turmas regulares têm 50 alunos cada, onde a entrada dos alunos é feita através de vestibular. Com uma turma por ano e um curso de quatro anos, temos um total de 200 alunos regulares do curso. Além dos alunos de graduação deve-se levar em conta também a participação dos docentes em cursos de pós-graduação. Hoje existe o mestrado em Neurociências na UFSJ que tem interesse na participação de docentes da computação. Existe um projeto de criação de um mestrado em Biologia Computacional e dentro de poucos anos de um mestrado em Ciência da Computação. Desta forma prevê-se que o corpo docente da computação participará, a curto e médio prazos, de três programas de pós-graduação, aumentando significativamente o número de alunos servidos pelo projeto aqui apresentado. É importante ressaltar também que alunos de pós-graduação, apesar de em menor número, demandam mais tempo e atenção dos professores. Com um número médio de 20 alunos de pós-graduação em cada programa, podemos contar com um numero de alunos de pós-graduação sendo atendidos pelo corpo docente da computação em torno de 50 a 60, que se somam aos 200 alunos de graduação do programa. 8.4 Relação dos Docentes Abaixo segue a relação dos docentes que ministram ou ministraram disciplinas para o curso de Ciência da Computação: Docente Andréa Cristiane dos Santos Delfino Andréia Malacarne Carlos Alberto Raposo da Cunha Cristiane Neri Nobre Elisa Tuler de Albergaria Flávia Cristina Figueiredo Coura Francinildo Nobre Ferreira Hilton de Oliveira Mota Título Doutora UCs Depto. Estatística e Probabilidade Aplicada à DMATE Computação Mestre Cálculo Diferencial e Integral I DMATE Doutor Cálculo Diferencial e Integral I DMATE Doutora Lógica Aplicada à Computação DCOMP Mestre (ViceCoordenadora do Curso de Ciência da Computação) Mestre DCOMP Algoritmos e Estruturas de Dados I; Laboratório de Algoritmos e Estruturas de Dados I; Introdução à Ciência da Computação DMATE Geometria Analítica Doutor Cálculo Diferencial e Integral II Mestre (doutorado em finalização) – (Sub-chefe Introdução Digitais; a Sistemas DMATE Lógicos DCOMP 28 DCOMP) José Roberto Silveira Leonardo Chaves Dutra da Rocha Mestre Laboratório de Introdução a Sistemas Lógicos Digitais DELAC Português Instrumental Doutor (Chefe do DCOMP) Matemática Discreta; Algoritmos e Estruturas de Dados I Leonardo Jose Silvestre Mestre (Coordenador do Curso de Ciência da Computação) DCOMP Algoritmos e Estruturas de Dados II; Laboratório de Algoritmos e Estruturas de Dados II DCOMP Tabela 11: Relação dos Docentes Obs.: DCOMP: Departamento de Ciência da Computação DMATE: Departamento de Matemática, Estatística e Ciência da Computação DELAC: Departamento de Letras, Artes e Cultura 9. Biblioteca O referencial bibliográfico utilizado no desenvolvimento dos conteúdos, dentro e fora da sala de aula, tem um impacto dominante no tipo de conhecimento alcançado pelo aluno. Praticamente, sobre todos os assuntos programados para as UCs do curso, existem referências de maior ou menor profundidade e abrangência. Os livros indicados como texto de uma UC devem conter o assunto tratado em abrangência e em profundidade, mesmo que a totalidade dos assuntos não seja trabalhada na UC. “A Biblioteca deve conter livros e revistas atualizadas. Recomenda-se que haja exemplares de pelo menos duas ou três referências bibliográficas de cada UC, num total mínimo de volumes equivalente a 10% do tamanho da turma. O número de revistas assinadas é importante, mas também sua qualidade, diversidade e adequação ao curso. UCs optativas e obrigatórias do último ano, principalmente, devem incentivar a leitura de artigos de revistas” [6]. Uma completa descrição do espaço físico necessário e um planejamento de aquisição do material bibliográfico do curso se encontram no anexo F deste documento. 10. Espaço Físico e Equipamentos Segundo o currículo de referência da Sociedade Brasileira de Computação de 1999 e de 2005 [7, 6], os cursos de computação devem oferecer um bom laboratório de software. É imprescindível que haja conexão com a Internet e que os alunos tenham acesso, no mínimo, aos dois ambientes computacionais e de redes mais comuns atualmente: Windows e Linux. Ainda de acordo com os currículos de referência da SBC, para cursos de Ciência ou Engenharia de Computação, os laboratórios de hardware devem ser completos, com instrumental necessário para 29 matérias como arquitetura de computadores, circuitos digitais e automação: osciloscópios e analisadores digitais, kits de programação e simulação de sistemas de automação e de circuitos digitais. Com base nessas recomendações o projeto pedagógico prevê a disponibilização dos seguintes recursos: • – – – – 4 (quatro) salas grandes para aulas de graduação, com os seguintes recursos em cada uma: 1 Mesa e cadeira para o professor; Tela e projetor multimídia; Computador completo de médio porte para o professor; Gabinete para computador; 70 carteiras; 1 quadro branco para pincel atômico; • – – – – – – – – – – 4 (quatro) laboratórios de software para aulas de graduação contendo cada um: 1 Mesa e cadeira para o professor; Tela e projetor multimídia; Computador completo de médio porte para o professor; Gabinete para computador; 25 computadores completos de médio porte; 1 impressora laser; Mesas e cadeiras; 1 quadro branco para pincel atômico; 1 estante para mochilas e pastas dos alunos; Estrutura de rede completa (switches e roteadores). • – – – – – – – – – – – – 1 (um) Laboratório de Hardware contendo: 1 Mesa e cadeira para o professor; Tela e projetor multimídia; 1 computador completo de médio porte para o professor; 15 computadores de médio porte; 15 bancadas para dois alunos cada; 30 bancos para os alunos; 15 Módulos para aulas práticas de eletrônica básica e lógica digital; 15 Módulos para aulas práticas de programação de microprocessadores; 15 Módulos de lógica programável (FPGAs); 15 Kits de ferramentas; 4 armários de duas portas para armazenamento dos módulos didáticos e ferramentas 1 Estação de solda; 1 Multímetro digital; 1 osciloscópio; 1 quadro branco para pincel atômico; 1 estante para mochilas e pastas dos alunos. • – – – – – – – 2 (duas) salas de seminários com os seguintes recursos em cada uma: Tela e projetor multimídia; Computador completo de médio porte; Gabinete para computador; 100 cadeiras (2 fileiras de 5 cadeiras cada, e 10 colunas de fileiras); 1 mesa professor com cadeira; 1 tela branca; 1 quadro branco para pincel atômico; 30 • 1 (uma) sala para secretaria com mobiliário completo e dois computadores completos de médio porte para acesso da equipe administrativa. • 3 (três) salas de reuniões contendo cada uma: – Mesa grande com 12 cadeiras. • 20 (vinte) gabinetes para professores contendo cada um: – 1 Mesa e cadeira tipo escritório; – 1 armário; – 3 cadeiras adicionais; – 1 Computador de médio porte completo. • 3 (três) salas para laboratórios de pesquisa do curso: – mobiliário básico; – estrutura para acesso à rede disponível; – estrutura para instalação de 20 computadores para pesquisa em cada sala. • 2 (dois) laboratórios para aulas e projetos de extensão contendo cada um: – 1 Mesa e cadeira para o professor; – Tela e projetor multimídia; – Computador completo de médio porte para o professor; – Gabinete para computador; – 20 computadores completos médio porte; – 1 impressora laser; – Mesas e cadeiras; – 1 quadro branco para pincel atômico; – 1 estante para pastas e mochilas dos alunos – Estrutura de rede completa (switches e roteadores). • 1 (uma) sala para gerência de recursos computacionais contendo: – 1 computador completo de grande porte para armazenamento de arquivos de dados dos alunos e professores do departamento; – 1 computador completo de grande porte para servir como roteador da rede; – 1 computador completo de grande porte para servir de servidor web, ftp, intranet e de e-mail; – 1 computador completo de grande porte para armazenar e executar rotinas de backup de dados; – 2 computadores completos de grande porte para processamento de dados centralizado; – 1 computador completo de grande porte para armazenamento e transmissão de vídeo sob demanda para atender à cursos a distância; – 2 switches gigabit ethernet para interligação dos computadores; – 2 máquinas de Xerox digital; – 1 impressora laser de grande capacidade; – 1 impressora laser colorida. • 1 (um) Laboratório de vídeo com capacidade de gravação , edição e publicação eletrônica de vídeos contendo no mínimo: – 3 computadores completos de médio porte para geração e edição de vídeo (um para cada um dos três ambientes usados comumente, MacOS, Linux e Windows); – 2 Câmeras de vídeo semi-profissional; – 1 seqüenciador eletrônico; – 1 mesa de edição de vídeo e áudio; – microfones, e caixas de som de alta qualidade; 31 – 1 mesa digitalizadora; – 1 placa de aquisição de sinais. • Licenças de Software como especificado abaixo. Apesar de a ênfase do projeto ser o uso de software livre, é necessária a utilização de alguns softwares proprietários para treinamento dos alunos, manuseio de arquivos de dados dos alunos e professores do departamento – 10 Licenças Microsoft Windows e Office; – 10 Licenças para softwares de modelagem tridimensional; – 10 Licenças para softwares de edição de áudio e vídeo. • Sala pequena para coordenação de curso contendo: – Mesas e cadeiras de escritório; – 1 Computador de médio porte; – Armário e arquivo; – 2 notebooks para apresentações externas; – 1 projetor para apresentações externas. Equipamentos e acessórios: • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • 10 Mesas e cadeiras para professor; 11 Telas e projetores; 172 Computadores completos de médio porte; 172 Mesas e cadeiras para computador; 480 Carteiras; 17 Quadros branco para pincel atômico; 10 Gabinetes para computador e retroprojetor; 200 Cadeiras (Auditório); 3 Mesas Grandes com 12 cadeiras estofadas cada; 1 Mobiliário completo para secretaria; 21 Mesas e 84 cadeiras tipo escritório; 21 Armários; 20 Mobiliários básicos para laboratório; 7 Computadores completos de grande porte; 2 Switches gigabit ethernet; 1 Máquina de Xerox digital; 1 Impressora laser de grande capacidade; 6 Impressoras laser de média capacidade; 1 Impressora laser colorida; 2 Câmeras de vídeo semi-profissional; 1 Seqüenciador eletrônico; 1 Mesa de edição de vídeo e áudio; Microfones e caixas de som de alta qualidade; 1 Mesa digitalizadora; 1 Placa de aquisição de sinais; 2 Notebooks; 15 Módulos para aulas práticas de lógica digital; 15 Módulos para aulas práticas de programação de microprocessadores; 2 Osciloscópios; 1 Analisador Lógico; 15 Kits de ferramentas; 2 Estações de solda; 32 • • • • • • 15 Multímetros; 15 Protoboards com fonte; 10 Kits de lógica programável (FPGAs); 10 Licenças Microsoft Windows e Office; 10 Licenças para softwares de modelagem tridimensional; 10 Licenças para softwares de edição de áudio e vídeo. Este planejamento refere-se aos recursos necessários para atender quatro turmas simultâneas em funcionamento e suas respectivas atividades, o que acontecerá somente a partir do quarto ano de funcionamento do curso. O Anexo E apresenta as necessidades de compra ao longo dos semestres de implantação do curso. Cabe à UFSJ decidir se a aquisição do equipamento necessário ao funcionamento do curso se fará no momento da implantação do curso ou gradualmente, com a progressão do curso a cada ano. Caso a UFSJ opte pela a compra gradual, dever ser levado em consideração o planejamento de utilização do espaço físico e aquisição de equipamentos ao longo da implantação do curso apresentado nos Anexos deste documento. Planejamento Econômico e Financeiro1 Previsão de custo dos equipamentos e acessórios indispensáveis para o funcionamento do curso em suas mínimas condições: Quantidade 6 26 120 4 2 4 7 2 1 1 1 1 2 1 15 15 1 1 15 1 1 15 15 10 10 1 Especificação Tela e projetor Computador de médio porte Computador para laboratório Impressoras a laser de médio porte Mobiliário e computador para secretaria Estrutura de rede (Switches e roteadores) Computador de grande porte Switch Gibabit Ethernet Máquina de Xerox Digital Impressora a laser de grande capacidade Impressora a laser colorida Laboratório de vídeo Notebook Projetor Módulo de sistemas digitais Módulo de microprocessadores Osciloscópio Analisador lógico Kit de ferramentas Estação de solda Multímetro Protoboard com fonte Kit de lógica programável (FPGA) Licença Software Windows+Office Licença Software modelagem 3D Custo unitário (R$) 6.000,00 2.500,00 1.500,00 1.500,00 5.000,00 2.000,00 10.000,00 2.000,00 20.000,00 5.000,00 3.000,00 50.000,00 5.000,00 5.000,00 2.000,00 2.000,00 5.000,00 10.000,00 100,00 1.000,00 200,00 150,00 1.000,00 1.500,00 1.000,00 Custo Total (R$) 36.000,00 65.000,00 180.000,00 6.000,00 10.000,00 8.000,00 70.000,00 4.000,00 20.000,00 5.000,00 3.000,00 50.000,00 10.000,00 5.000,00 30.000,00 30.000,00 10.000,00 10.000,00 1.500,00 2.000,00 3.000,00 2.250,00 10.000,00 15.000,00 10.000,00 Cotação com dólar em R$1,90 33 10 Valor total: Licença Software edição áudio/vídeo 1.000,00 10.000,00 605.750,00 Previsão de custo dos equipamentos e acessórios para o desenvolvimento dos projetos de extensão: Quantidade 20 2 2 Valor total: Especificação Computador médio porte Impressora laser Estrutura de rede (Switches e roteadores) Custo unitário (R$) 2.500,00 1.000,00 1.000,00 Custo Total (R$) 50.000,00 2.000,00 2.000,00 54.000,00 34 Anexo A: Fluxograma do curso de Ciência da Computação 35 Anexo B: Seqüenciamento das Unidades Curriculares UC Matemática Discreta Cálculo Diferencial e Integral I Geometria Analítica Introdução a Ciência da Computação Algoritmos e Estruturas de Dados I Laboratório AEDS I 1º. Período CH 72 72 72 36 72 18 Português Instrumental 36 Total 378 UC Algoritmos e Estrutura de Dados II Laboratório AEDS II Cálculo Diferencial e Integral II Estatística e Probabilidade Aplicada à Computação Lógica Aplicada à Computação Introdução a Sistemas Lógicos Digitais Laboratório de Sistemas Lógicos Digitais Total UC Algoritmos e Estrutura de Dados III Laboratório de AEDS III Arquitetura e Organização de Computadores I Álgebra Linear Física Elementos de Eletricidade Cálculo Diferencial e Integral III Total Pré-Requisitos - 2º. Período CH Pré-Requisitos 72 Algoritmos e Estruturas de Dados I 18 Algoritmos e Estruturas de Dados I 72 Cálculo Diferencial e Integral I 72 Cálculo Diferencial e Integral I 72 Matemática Discreta 72 Introdução à Ciência da Computação 18 Introdução à Ciência da Computação 396 3º. Período CH Pré-Requisitos 72 Algoritmos e estruturas de Dados II 18 Algoritmos e estruturas de Dados II 72 Introdução a Sistemas Lógicos Digitais 72 Geometria Analítica 72 Cálculo Diferencial e Integral I 72 Cálculo Diferencial e Integral II 378 4º. Período UC CH Pré-Requisitos Conceitos de Linguagens de Programação 72 Algoritmos e Estrutura de Dados II Física Mecânica Clássica 72 Cálculo Diferencial e Integral II Grafos 72 Algoritmos e Estrutura de Dados III Arquitetura e Organização de Computadores Arquitetura e Organização de Computadores 72 II I Programação Orientada a Objetos 72 Algoritmos e Estrutura de Dados II Total 360 36 UC Sistemas Operacionais Laboratório de Sistemas Operacionais Inteligência Artificial Teoria de Linguagens Matemática Computacional Introdução à Engenharia de Software Total UC Compiladores Banco de Dados Laboratório de Banco de Dados Redes de Computadores I Laboratório Redes de Computadores I Interação Humano-Computador Total UC Processamento Digital de Imagens Computadores e Sociedade Proposta de Projeto Orientado em Computação Total UC Computação Gráfica 5º. Período CH Pré-Requisitos Algoritmos e Estrutura de Dados II; 72 Arquitetura e Organização de Computadores II Algoritmos e Estrutura de Dados II; 18 Arquitetura e Organização de Computadores II Algoritmos e Estruturas de Dados III; Lógica 72 Aplicada à Computação Lógica Aplicada à Computação; 72 Algoritmos e Estrutura de Dados II 72 Algoritmos e estruturas de Dados II 72 Programação Orientada a Objetos 378 6º. Período CH Pré-Requisitos 72 Teoria de Linguagens 72 Algoritmos e Estrutura de Dados III 18 Algoritmos e Estrutura de Dados III 72 Sistemas Operacionais 18 Sistemas Operacionais 72 Introdução à Engenharia de Software 324 7º. Período CH Pré-Requisitos Algoritmos e Estruturas de 72 Dados II 36 Ter cursado 2400 horas 72 Ter cursado 2400 horas 180 8º. Período CH Pré-Requisitos Álgebra Linear; Algoritmos e Estruturas de 72 Dados II; Cálculo Diferencial e Integral III Projeto Orientado em Computação 72 Proposta de Projeto Orientado Total 144 37 Anexo C: Projeto das Unidades Curriculares 1 o Período Unidade Curricular: Matemática Discreta Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Ementa: Estudo de fundamentos de lógica. Técnicas de prova. Indução matemática. Teoria de conjuntos. Análise combinatória. Funções, funções geratrizes, recursão, relações em conjuntos. Introdução à teoria dos grafos. Objetivos: Apresentar as ferramentas básicas de matemática discreta, capacitando os alunos para o raciocínio abstrato. Utilizar técnicas de análise combinatória na resolução de problemas. Trabalhar teoria de conjuntos fazendo uso de lógica proposicional e de predicados. Resolver relações de recorrência obtendo formulas fechadas. Ao fim do curso, o aluno será capaz de aplicar os conhecimentos adquiridos no curso a problemas computacionais. Bibliografia: Básicas 1. K. H. Rosen, Discrete Mathematics and its Applications, Mc-Graw Hill, 2003. 2. M. O. Albertson, Joan P. Hutchinson, Discrete Mathematics With Algorithms, John Wiley & Sons, 1988. Complementares 3. J. Gersting, Fundamentos Matemáticos para a Ciência da Computação, LTC, 2001. 4. J. E. Munro, Discrete Mathematics for Computing, Chapman & Hall, 1993 5. S. Roman, An introduction to discrete mathematics, Saunders College, 1989. 6. K. A. Ross, C. R. Wright, Discrete Mathematics, Prentice Hall, 1988. 7. E. R. Scheinerman, Matemática Discreta: uma introdução, Thomson, 2000. 8. Margarida P. Melo, José Plínio O. dos Santos Idani T.C Murari. Introdução à Análise Combinatória. Editora Ciência Moderna. Unidade Curricular: Cálculo Diferencial e Integral I Carga Horária: 72 horas Departamento: Matemática Pré-requisitos: Ementa: Limite e continuidade de funções reais de variável real Derivada. Aplicações das derivadas. Diferencial de uma função. Integral indefinida, Técnicas de integração (substituição, por partes e por frações parciais). Integral definida, Teorema Fundamental do cálculo. Aplicações de integral. Introdução às equações diferenciais de 1a e 2a ordem lineares. Objetivos: Capacitar o aluno a reconhecer e operar com funções algébricas e transcendentes, representar graficamente as funções, analisar tais gráficos e apresentar conclusões sobre seu comportamento. Criar condições para que o aluno defina e calcule derivadas de funções e aplique-as na resolução de problemas. Integrar a prática desses conhecimentos na Computação. 38 Bibliografia: Básicas 1. M. A. Munem, D. J. Foulis, Cálculo, Vol. 1. LTC, 1982. 2. G. F. Simmons, Cálculo com Geometria Analítica, Vol. 1, Makron Books, 1987. Complementares 3. L. Leithold, Cálculo com Geometria Analítica, Vol. I. Harbra, 1994. 4. L. Goldstein, Cálculo e suas Aplicações, Hemus, 20.6. Unidade Curricular: Geometria Analítica Carga Horária: 72 horas Departamento: Matemática Pré-requisitos: Ementa: Plano cartesiano. Lugares geométricos. A reta no plano. Cônicas. Translação e rotação de eixos. Vetores no plano e no espaço. Retas e planos. Vetores. Estudos da reta. Estudo do plano. Posição relativa de retas e planos. Perpendicularismo e ortogonalidade. Ângulos. Distancias. Mudanças de coordenadas. Cônicas. Superfícies limite e continuidade de funções. Objetivos: Capacitar o aluno a resolver problemas envolvendo retas no plano e no espaço R3, reconhecer as varias cônicas e representá-las graficamente e operar com vetores no plano e em R3. Integrar a prática desses conhecimentos na Computação. Bibliografia: Básicas 1. C. H. Lehmann, Geometria analítica, Globo, 1998. 2. I. C. Oliveira, P. Boulos, Geometria Analítica. Um Tratamento Vetorial, Makron Books, 2005. Complementar 3. M. F. Azevedo Filho, Geometria Analítica e Álgebra Linear. Edições Livro Técnico e Premius Editora, 2001. Unidade Curricular: Introdução à Ciência da Computação Carga Horária: 36 horas Departamento: Computação Pré-requisitos: Ementa: História da Computação. Principais áreas da computação. Pesquisa em Ciência da Computação. Normatização de trabalhos. Sistemas de numeração. Aritmética Binária: ponto fixo e flutuante. Algoritmos: caracterização, notação, estruturas básicas. Conceitos de linguagens algorítmicas: expressões; comandos seqüenciais, seletivos e repetitivos; entrada/saída ; variáveis estruturadas; funções. Desenvolvimento e documentação de programas. Objetivos: Fornecer ao aluno uma visão geral da área da Ciência da Computação e das suas áreas de aplicação. Bibliografia: Básicas 1. V. Setzer, R. Terada. Introdução à Computação e à Construção de Algoritmos. McGraw-Hill, 1991. 2. E. Roberts. The Art and Science of C. Addison-Wesley, 1995. Complementares 3. J. Franca, J. Lessa. Manual para normalização de publicações técnico-científicas . UFMG, 2001. 4. B. Kernighan, D. Ritchie. A Linguagem de Programação C, padrão ANSI. Campus, 1990. 39 Unidade Curricular: Algoritmos e Estruturas de Dados I Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Ementa: Máquina virtual simples. Noções de algoritmos, programas e linguagens de programação de alto nível. Paradigmas de programação. Sistemas de tipos. Estruturas de controle. Expressões e comandos. Tipos abstratos de dados. Noções de classes e objetos. Introdução à modularização, documentação e testes de programas. Objetivos: Proporcionar ao aluno o desenvolvimento de sua capacidade de abstração e resolução de problemas, fazendo uso de algoritmos e estruturas de dados. Introduzir uma linguagem de programação de alto nível e exercitar a construção, o teste e a documentação de programas. Bibliografia: Básica 1. D. E. Knuth. The Art of Computer Programming, Volume 1: Fundamental Algorithms, Addison-Wesley, 1997. Complementares 2. A. L. V. Forbellone, H. F. Eberspacher, Lógica de Programação: a Construção de Algoritmos e Estruturas de Dados , Makron Books, 2005. 3. J. Tremblay, Ciência dos computadores: uma abordagem algorítmica, Makron Books, 1983. 4. J. A. G. Manzano, Algoritmos: lógica para desenvolvimento de programação de computadores, Editora Érica, 2004. Unidade Curricular: Laboratório de Algoritmos e Estruturas de Dados I Carga Horária: 18 horas Departamento: Computação Pré-requisitos: Ementa: Máquina virtual simples. Noções de algoritmos, programas e linguagens de programação de alto nível. Paradigmas de programação. Sistemas de tipos. Estruturas de controle. Expressões e comandos. Tipos abstratos de dados. Noções de classes e objetos. Introdução à modularização, documentação e testes de programas. Objetivos: Proporcionar ao aluno o desenvolvimento de sua capacidade de abstração e resolução de problemas, fazendo uso de algoritmos e estruturas de dados. Introduzir uma linguagem de programação de alto nível e exercitar a construção, o teste e a documentação de programas. Bibliografia: Básica 1. D. E. Knuth. The Art of Computer Programming, Volume 1: Fundamental Algorithms, Addison-Wesley, 1997. Complementares 2. A. L. V. Forbellone, H. F. Eberspacher, Lógica de Programação: a Construção de Algoritmos e Estruturas de Dados , Makron Books, 2005. 3. J. Tremblay, Ciência dos computadores: uma abordagem algorítmica, Makron Books, 1983. 4. J. A. G. Manzano, Algoritmos: lógica para desenvolvimento de programação de computadores, Editora Érica, 2004. 40 Unidade Curricular: Português Instrumental Carga Horária: 36 horas Departamento: DELAC Pré-requisitos: Ementa: Introdução: os diversos registros de uma língua de cultura. Organização de conteúdos: os processos descritivos, narrativos e dissertativos. Interação entre os três processos. O texto técnico-científico. Objetivos: Compreender e usar a Língua Portuguesa como língua materna, geradora de significação e integradora da organização do conhecimento científico. Analisar e aplicar os recursos expressivos da linguagem verbal, relacionando textos e contextos, mediante a natureza, função, organização, estrutura, de acordo com as condições de produção e recepção. Produzir textos acadêmico-científicos. Bibliografia: Básica COSTA VAL, Maria da Graça. Redação e textualidade. São Paul: Martins Fontes, 1993. DIONÍSIO, Angela Paiva; MACHADO, Anna Rachel; BEZERRA, Maria Auxiliadora.Gêneros textuais & ensino. 3.ed. Rio de Janeiro: Lucenna, 2005 FAULSTICH, Enilde L. de. Como ler, entender e redigir um texto. 16 ed. Petrópolis: Vozes, 2003. FRANÇA, Júnia Lessa; VASCONCELLOS, Ana Crsitina de. Manual para normalização de publicações técnico-científicas. 8.ed. Belo Horizonte: UFMG, 2008. GUIMARÃES, Elisa. A articulação do texto. São Paulo: Ática, 1992. HENRIQUES, Claudio Cezar; SIMÕES, Darcilia. A redação de trabalhos acadêmicos: teoria e prática. Rio de Janeiro: ED.UERJ, 2008. MARCONI, Marina de Andrade; LAKATOS, Eva Maria. Metodologia do trabalho científico: procedimentos básicos ; pesquisa bibliográfica, projeto e relatório ; publicações e trabalhos científicos. 6 ed. São Paulo: Atlas, 2001. MARONI NETO, Ricardo. Como escrever um artigo cientifico. Revista Álvares Penteado, São Paulo: s.n, v. 2, n. 5, p. 145-164, dez. 2000. MEDEIROS, João Bosco. Redação científica: a prática de fichamentos, resumos, resenhas. 6 ed. São Paulo: Atlas, 2004. Bibliografia de apoio ou complementar CEGALLA, Domingos Paschoal. Novíssima gramática da língua portuguesa. 46. ed. São Paulo: Nacional, 2007. VIEIRA, Sônia. Como escrever uma tese. 5 ed. São Paulo: Pinoneira Thomson Learning, 2002. MARCONI, Marina de Andrade; LAKATOS, Eva Maria. Metodologia do trabalho científico: procedimentos básicos ; pesquisa bibliográfica, projeto e relatório ; publicações e trabalhos científicos. 7ª rev. ampl. São Paulo: Atlas, 2007. GONÇALVES, Hortência de Abreu. Manual de Projetos de Pesquisa Científica. São Paulo: AverCamp, 2003. 41 2 o Período Unidade Curricular: Algoritmos e Estruturas de Dados II Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Algoritmos e Estruturas de Dados I Ementa: Tipos abstratos de dados. Introdução à análise de complexidade de algoritmos: notações O, ômega e teta. Estruturas de dados estáticas e dinâmicas e memória principal. Algoritmos de pesquisa e ordenação em memória principal. Ordenação externa; Pesquisa em memória secundária: memória virtual, indexado sequencial e árvore B. Objetivos: Capacitar o aluno a dominar as principais técnicas utilizadas na implementação de estruturas de dados básicas, algoritmos de ordenação e pesquisa em memória principal e memória externa, bem como efetuar análises simples da complexidade de algoritmos. Proporcionar a continuidade do desenvolvimento das habilidades de construir, testar e documentar programas. Bibliografia: Básicas 1. N. Ziviani, Projeto de Algoritmos com Implementações em Pascal e C, Editora Thomson, 2004. 2. T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Algoritmos, Teoria e Prática, Campus, 2002. Complementares 3. J. L. Szwarcfiter, L. Markenzon, Estruturas de Dados e Seus Algoritmos, LTC, 2002. 4. B. R. Preiss, Estruturas de Dados e Algoritmos, Elsevier, 2001. 5. D. E. Knuth, The Art of Computer Programming, Volume 1: Fundamental Algorithms, Addison-Wesley, 1997. 6. D. E. Knuth, The Art of Computer Programming, Volume 3: Searching and Sorting, Addison-Wesley, 1997. 7. G. Brassard, P. Bratley, Fundamentals of Algorithmics, Prentice Hall, 1995. Unidade Curricular: Laboratório de Algoritmos e Estruturas de Dados II Carga Horária: 18 horas Departamento: Computação Pré-requisitos: Algoritmos e Estruturas de Dados I Ementa: Tipos abstratos de dados. Introdução à análise de complexidade de algoritmos: notações O, ômega e teta. Estruturas de dados estáticas e dinâmicas e memória principal. Algoritmos de pesquisa e ordenação em memória principal. Ordenação externa; Pesquisa em memória secundária: memória virtual, indexado sequencial e árvore B Objetivos: Capacitar o aluno a dominar as principais técnicas utilizadas na implementação de estruturas de dados básicas, algoritmos de ordenação e pesquisa em memória principal e memória externa, bem como efetuar análises simples da complexidade de algoritmos. Proporcionar a continuidade do desenvolvimento das habilidades de construir, testar e documentar programas. 42 Bibliografia: Básicas 1. N. Ziviani, Projeto de Algoritmos com Implementações em Pascal e C, Editora Thomson, 2004. 2. T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Algoritmos, Teoria e Prática, Campus, 2002. Complementares 3. J. L. Szwarcfiter, L. Markenzon, Estruturas de Dados e Seus Algoritmos, LTC, 2002. 4. B. R. Preiss, Estruturas de Dados e Algoritmos, Elsevier, 2001. 5. D. E. Knuth, The Art of Computer Programming, Volume 1: Fundamental Algorithms, Addison-Wesley, 1997. 6. D. E. Knuth, The Art of Computer Programming, Volume 3: Searching and Sorting, Addison-Wesley, 1997. 7. G. Brassard, P. Bratley, Fundamentals of Algorithmics, Prentice Hall, 1995. Unidade Curricular: Cálculo Diferencial e Integral II Carga Horária: 72 horas Departamento: Matemática Pré-requisitos: Cálculo Diferencial e Integral I Ementa: Séries numéricas e de potências. Função de várias variáveis. Vetores. Curvas e superfícies no espaço. Fórmula de Taylor. Máximos e mínimos de funções de várias variáveis. Objetivos: Capacitar o aluno a calcular integrais definidas e indefinidas utilizando as várias técnicas de integração, calcular áreas de regiões planas e volumes de sólidos com o auxílio de integrais, calcular derivadas parciais e aplicar suas propriedades, analisar a convergência e divergência de séries numéricas, desenvolver funções elementares em séries de potência e em série de Fourier e reconhecer e operar com funções de várias variáveis. Integrar a prática desses conhecimentos na Computação. Bibliografia: Básica 1. M. A. Munem, D. J. Foulis, Cálculo, Vol. 2. LTC, 1982. Unidade Curricular: Estatística e Probabilidade Aplicada à Computação Carga Horária: 72 horas Departamento: Matemática Pré-requisitos: Cálculo Diferencial e Integral I Ementa: Estatística descritiva. Probabilidades. Variáveis aleatórias. Distribuições discretas. Distribuições contínuas. Amostragem. Inferência estatística. Probabilidade. Variáveis aleatórias discretas e contínuas unidimensionais e bidimensionais. Distribuições de probabilidades discretas.: Poisson e binomial, e contínuas: Normal e exponencial. Introdução aos processos estocásticos. Correlação e autocorrelação. Objetivos: Apresentar os conceitos básicos de Estatística e Probabilidade. Capacitar os alunos a entender, calcular probabilidades e aplicá-las na computação. Capacitar o aluno a fazer análise estatística de dados computacionais. 43 Bibliografia: Básicas 1. A. B. Clarke, Probabilidade e processos estocásticos, LTC, 1979. 2. P. L. Meyer, Probabilidade: aplicações à estatística, LTC, 1983. Complementares 3. P. G. Hoel, Introduction to probability theory, Houghton Mifflin Company, 1971. 4. A. M. Mood, Introduction to the theory of statistics, McGraw-Hill, 1974. 5. D. C. Montgomery, E. A. Peck, G. G. Vining, Introduction to linear regression analysis, WileyInterscience, 2006. Unidade Curricular: Lógica Aplicada à Computação Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Matemática Discreta Ementa: Lógica proposicional: sintaxe e semântica. Sistemas dedutivos para lógica proposicional. BDDs (Binary Decision Diagrams). Lógica de predicados: sintaxe e semântica. Sistemas dedutivos para lógica de predicados. Programação em lógica. Semântica e verificação de programas. Especificação formal em Z. Lógica temporal. Verificação por model checking. Objetivos: Analisar estruturas e argumentos usando a lógica proposicional. Trabalhar a teoria de conjuntos via a lógica proposicional e de predicados. Verificar correção de programas utilizando lógica aplicada e model checking. Bibliografia: Básicas: DA SILVA, Flávio S.C., Finger, M., de Melo, Ana C.V. Lógica para Computação, Thomson, 2006. RUSSEL, S., Norvig, P. Inteligência Artificial. Tradução da 2ª ed. Rio de Janeiro: Elsevier, 2004. Complementar: 1. C. L. Chang, R. C. T. Lee, Symbolic Logic and Mechanical Theorem Proving, Academic Press, 1973. 2. RICH, Elaine, e Knight, Kevin, Inteligência Artificial. Segunda Edição. Makron Books/McGrawHill, 1994. 3. A. M. CASANOVA, F. A. C. Giorno, A. L. Furtado, Programação em Lógica e a Linguagem Prolog, Edgard Blucher, 1987. 4. J. H. GALLIER, Logic for Computer Science: Foundation of Automatic Theorem Proving, John Wiley & Sons, 1986. 5. M. BEN-ARI, Mathematical Logic for Computer Science, Springer, 2003. 6. ROSEN, K. H., Discrete Mathematics and its Approach - McGraw-Hill 2007 6th edition 7. STERLING, Leon & SHAPIRO, Ehud, The Art of Prolog, The MIT Press, 1994. Unidade Curricular: Introdução a Sistemas Lógicos Digitais Carga Horária: 72 horas Pré-requisitos: Introdução à Ciência da Computação Ementa: Departamento: Computação CIRCUITOS ELÉTRICOS. DISPOSITIVOS SEMICONDUTORES. DIODOS. TRANSISTORES. LÓGICA BOOLEANA. MINIMIZAÇÃO DE FUNÇÕES. PORTAS LÓGICAS. CIRCUITOS COMBINACIONAIS. UNIDADE LÓGICO ARITMÉTICA. CIRCUITOS SEQÜENCIAIS. MÁQUINAS SEQÜENCIAIS SÍNCRONAS: MEALY E MOORE. LINGUAGENS DE DESCRIÇÃO DE HARDWARE. Objetivos: Apresentar os fundamentos dos circuitos combinacionais e seqüenciais e dos métodos para minimização de funções dando condições para que o aluno desenvolva as habilidades necessárias para projeto e análise de arquiteturas Básicas de computadores. Familiarizar o aluno com linguagens de descrição de hardware. 44 Bibliografia: Básicas 1. R. Katz, G. Borriello, Contemporary Logic Design, Prentice Hall, 2004. 2. M. Mano, C. Kime, Logic and Computer Design Fundamentals, Prentice Hall, 20.6. Complementares 3. R. Tocci, N. S. Widmer, Sistemas Digitais Princípios e Aplicações, Pearson, 2003. 4. A. Tanenbaum, Organização Estruturada de Computadores, Pearson, 2006. 5. D. Smith, HDL Chip Design. Doone, 1998. 6. V. Sagdeo, The Complete Verilog Book, Springer, 1998. Unidade Curricular: Laboratório de Introdução a Sistemas Lógicos Digitais Carga Horária: 18 horas Departamento: Computação Pré-requisitos: Introdução à Ciência da Computação Ementa: Circuitos elétricos. Dispositivos semicondutores. Diodos. Transistores. Lógica Booleana. Minimização de funções. Portas lógicas. Circuitos combinacionais. Unidade lógico aritmética. Circuitos Seqüenciais. Máquinas seqüenciais síncronas: Mealy e Moore. Linguagens de descrição de hardware. Objetivos: Apresentar os fundamentos dos circuitos combinacionais e seqüenciais e dos métodos para minimização de funções dando condições para que o aluno desenvolva as habilidades necessárias para projeto e análise de arquiteturas Básicas de computadores. Familiarizar o aluno com linguagens de descrição de hardware. Bibliografia: Básicas 1. R. Katz, G. Borriello, Contemporary Logic Design, Prentice Hall, 2004. 2. M. Mano, C. Kime, Logic and Computer Design Fundamentals, Prentice Hall, 20.6. Complementares 3. R. Tocci, N. S. Widmer, Sistemas Digitais Princípios e Aplicações, Pearson, 2003. 4. A. Tanenbaum, Organização Estruturada de Computadores, Pearson, 2006. 5. D. Smith, HDL Chip Design. Doone, 1998. 6. V. Sagdeo, The Complete Verilog Book, Springer, 1998. 3 o Período Unidade Curricular: Algoritmos e Estrutura de Dados III Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Algoritmos e Estruturas de Dados II Ementa: Estudo mais elaborado de projeto e análise de algoritmos. Paradigmas de projetos de algoritmos. Algoritmos em grafos. Problemas NP-Completo, heurísticas e algoritmos aproximados. Processamento de cadeias de caracteres. Algoritmos de criptografia. Compactação. Objetivos: Capacitar o aluno a analisar algoritmos para saber o que pode e o que não pode ser resolvido eficientemente pelo computador. Apresentar algoritmos fundamentais de processamento de caracteres e compactação mostrando sua aplicabilidade em problemas reais. 45 Bibliografia: Básicas 1. N. Ziviani, Projeto de Algoritmos com Implementações em Pascal e C, Editora Thomson, 2004. 2. D. E. Knuth, The Art of Computer Programming, Volume 1: Fundamental Algorithms, Addison-Wesley, 1997. 3. T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Algoritmos, Teoria e Prática, Campus, 2002. Complementares 4. J. L. Szwarcfiter, L. Markenzon, Estruturas de Dados e Seus Algoritmos, LTC, 2002. 5. N. Wirth, Algoritmos e Estruturas de Dados, LTC, 1989. 6. P. Veloso, C. Santos, O, Azeredo, A. Furtado, Estruturas de Dados, Campus, 1983. 7. U. Manber, Introduction to Algorithms: A Creative Approach, Addison-Wesley, 1989. 8. M. A. Weiss, Algorithms, Data Structures, and Problem Solving with C++, Addison-Wesley, 1996. Unidade Curricular: Laboratório de Algoritmos e Estrutura de Dados III Carga Horária: 18 horas Departamento: Computação Pré-requisitos: Algoritmos e Estruturas de Dados II Ementa: Estudo mais elaborado de projeto e análise de algoritmos. Paradigmas de projetos de algoritmos. Algoritmos em grafos. Problemas NP-Completo, heurísticas e algoritmos aproximados. Processamento de cadeias de caracteres. Algoritmos de criptografia. Compactação. Objetivos: Capacitar o aluno a analisar algoritmos para saber o que pode e o que não pode ser resolvido eficientemente pelo computador. Apresentar algoritmos fundamentais de processamento de caracteres e compactação mostrando sua aplicabilidade em problemas reais. Bibliografia: Básicas 1. N. Ziviani, Projeto de Algoritmos com Implementações em Pascal e C, Editora Thomson, 2004. 2. D. E. Knuth, The Art of Computer Programming, Volume 1: Fundamental Algorithms, Addison-Wesley, 1997. 3. T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Algoritmos, Teoria e Prática, Campus, 2002. Complementares 4. J. L. Szwarcfiter, L. Markenzon, Estruturas de Dados e Seus Algoritmos, LTC, 2002. 5. N. Wirth, Algoritmos e Estruturas de Dados, LTC, 1989. 6. P. Veloso, C. Santos, O, Azeredo, A. Furtado, Estruturas de Dados, Campus, 1983. 7. U. Manber, Introduction to Algorithms: A Creative Approach, Addison-Wesley, 1989. 8. M. A. Weiss, Algorithms, Data Structures, and Problem Solving with C++, Addison-Wesley, 1996. Unidade Curricular: Arquitetura e Organização de Computadores I Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Introdução a Sistemas Lógicos Digitais Ementa: Arquiteturas de conjuntos de instruções. Linguagem de montagem. Montadores. Técnicas de programação assembly. Arquiteturas de conjuntos de instruções. Modos de endereçamento. Organização básica de computadores: unidade central de processamento, memória, dispositivos de entrada/saída. CISC x RISC. Objetivos: Apresentar os conceitos fundamentais e técnicas Básicas de projeto de arquiteturas de computadores. Capacitar o aluno a avaliar e comparar diferentes arquiteturas e a diagnosticar problemas relacionados ao desempenho de sistemas e/ou sub-sistemas computacionais. 46 Bibliografia: Básicas 1. D. Patterson, J. Hennessy, Organização e projeto de Computadores: A Interface hardware/Software, Campus, 2005. 2. A. Tanenbaum, Organização Estruturada de Computadores, Pearson, 2006. Complementares 3. W. Stallings, Arquitetura e Organização de Computadores,Prentice Hall, 2002. 4. D. Smith, HDL Chip Design, Doone, 1998. 5. V. Sagdeo, The Complete Verilog Book, Springer, 1998. Unidade Curricular: Álgebra Linear Carga Horária: 72 horas Departamento: Matemática Pré-requisitos: Geometria Analítica Ementa: Matrizes, determinantes e sistemas lineares. Espaços vetoriais: subespaço, combinação linear, dependência e independência linear, base, dimensão. Transformação linear, autovalores e autovetores, diagonalização de matrizes. Álgebra vetorial (no plano e no espaço) e determinantes. Sistemas de equações lineares. Espaços vetoriais. Transformações lineares. Autovalores. Diagonalização. Produtos internos. Formas quadráticas. Cônicas e quádricas. Objetivos: Apresentar as ferramentas Básicas da álgebra linear para a computação. Criar condições para que o aluno desenvolva a capacidade de raciocinar com a abstração. Capacitar o aluno a operar com matrizes, resolver e discutir um sistema linear. Operar com espaços vetoriais de dimensão finita. Reconhecer e operar com transformações lineares e aplicá-las na resolução de problemas. Integrar a prática desses conhecimentos na Computação. Bibliografia: Básica 1. J. L. Boldrini, S. I. Costa, V. L. Figueiredo, H. G. Wetzler, Álgebra Linear, Harbra, 1986. Complementares 2. A. Steinbroch, P. Wintele, Álgebra Linear, McGrawHill, 1987. 3. S. Lang, Álgebra Linear, Editora Edgar Blucher, 1971. 4. C. Callioli, H. Domingues, R. Costa, Álgebra Linear e Aplicações, Atual, 2006. Unidade Curricular: Física Elementos de Eletricidade Carga Horária: 72 horas Departamento: Ciências Naturais Pré-requisitos: Cálculo Diferencial e Integral II Ementa: Cargas Elétricas e Campo Elétrico. Lei de Gauss. Energia e potencial eletrostático. Condutores, isolantes e capacitores. Campo Magnético. Lei de Ampére. Lei de Faraday. Indutância. Equações de Maxwell e ondas eletromagnéticas. Introdução à física quântica. Semicondutores. Corrente alternada e circuitos. Física experimental. Objetivos: Fornecer ao aluno uma visão científica global, permitindo o domínio das leis físicas associada a uma abordagem científica. Ao final do curso o aluno será capaz de verificar aplicações tecnológicas dos elementos de física. 47 Bibliografia: Básica 1. D. Halliday, D. Resnick, R. J. Walker, Fundamentos de Física, Volume 3, LTC, 2006. Complementar 2. J. Orear, Fundamentos de Física, Volume 2, LTC, 1981. Unidade Curricular: Cálculo Diferencial e Integral III Carga Horária: 72 horas Departamento: Matemática Pré-requisitos: Cálculo Diferencial e Integral II Ementa: Curvas em IR2 e IR3. Integrais Duplas. Áreas e volumes. Integrais Triplas. Integrais de Linha. Campos Escalares e Vetoriais. Superfícies em IR3. Integrais de Superfícies. Teorema da Divergência de Gauss e Teorema de Stokes. Objetivos: Compreender os conceitos de integração para funções de várias variáveis, bem como suas aplicações. Compreender e aplicar os conceitos de derivada e integral de funções vetoriais e aplicar os teoremas da divergência e Stokes em alguns casos particulares. Bibliografia: Básica: ANTON, H.. Cálculo – um novo horizonte. São Paulo, Bookman, 2007, v.2. GONÇALVES, M. B.; FLEMMING, D. M.. Cálculo B. São Paulo, Makron Books, 2005. LEITHOLD, L.. O Cálculo com Geometria Analítica. São Paulo, Makron Books, 1994, v.2. Complementar: GUIDORIZZI, H. L.. Um Curso de Cálculo. Rio de Janeiro, LTC, 1998, v.2. MARSDEN, J. E.; TROMBA, A. J.. Basic Multivariable Calculus. New York, Springer-Verlag, 1993. STEWART, J.. Cálculo. 5a ed., São Paulo, Thomson & Learning, 2006, v.2. COURANT, Richard. Introduction to Calculus and Analysis. New York, Springer-Verlag, 1989, v.2. FINNEY, Ross L.. Cálculo George B. Thomas. 10a ed., São Paulo, Pearson Addison Wesley, 2006, v.2. SWOKOWSKI, E. W. Cálculo com Geometria Analítica, vol. 2, 2ª edição. Makron, São Paulo, 1987. Unidade Curricular: Conceitos de Linguagens de Programação Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Algoritmos e Estrutura de Dados II Ementa: Estudo comparativo de linguagens. Evolução das Linguagens de Programação. Paradigmas de Programação. Conceitos de Linguagens de Programação. Sintaxe e semântica. Sistemas de tipos e valores. Passagem de parâmetros. Objetivos: Mostrar uma evolução histórica do desenvolvimento de linguagens de programação. Mostrar os conceitos envolvidos em projetos de linguagens de programação. Apresentar os diferentes paradigmas de programação, seus conceitos e suas diferenças. 48 Bibliografia: Básicas 1. F. Varejão, Linguagens de Programação: Conceitos e Técnicas, Elsevier, 2004. 2. D. Watt, Programming Language Concepts and Paradigms, Prentice-Hall, 1993. 3. R. W. Sebesta, Conceitos de Linguagens de Programação, Bookman, 2003. Complementares 4. T. Pratt, M. V. Zelkowitz, Programming Languages Design and Implementation, Prentice-Hall, 2001. 5. R. Sethi, Programming Languages: Concepts and Constructs, Addison Wesley, 1996. Unidade Curricular: Física Mecânica Clássica Carga Horária: 72 horas Departamento: Ciências Naturais Pré-requisitos: Cálculo Diferencial e Integral I Ementa: Vetores. Cinemática. Dinâmica da Partícula. Trabalho e Energia. Momento Linear. Colisõess. Dinâmica da translação. Dinâmica da rotação. Conservação da energia e dos momentos linear e angular. Equilíbrio. Gravitação. Física Experimental. Objetivos: Fornecer ao aluno uma visão científica global, permitindo o domínio das leis físicas associada a uma abordagem científica. Ao final do curso, o aluno será capaz de verificar aplicações tecnológicas dos elementos de física. Bibliografia: Básicas 1. D. Halliday, D. Resnick, R. J. Walker, Fundamentos de Física, Volume 1, LTC, 2006. 2. D. Halliday, D. Resnick, R. J. Walker, Fundamentos de Física, Volume 2, LTC, 2006. Complementares 3. R. C. Hibbeler, Dinâmica: Mecânica para Engenharia, Prentice-Hall, 2004. 4. J. Orear, Fundamentos de Física, Volume 1, LTC, 1981. Unidade Curricular: Grafos Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Algoritmos e Estruturas de Dados III Ementa: Conceitos Fundamentais em Grafos. Grafos dirigidos e não-dirigidos. Conectividade e Percursos. Planaridade. Colorações. Cliques. Conjuntos Independentes. Dualidade. Particionamento e Recobrimento. Árvores geradoras mínimas e de Steiner. Distâncias, Redes e Fluxos. Aplicações de grafos. Objetivos: Capacitar o aluno a utilizar grafos como ferramenta para modelagem e solução de problemas computacionais. Apresentar os principais algoritmos em grafos. Apresentar os problemas clássicos em afos. Bibliografia: Básicas 1. P. O. Boaventura Neto, Grafos: Teoria, Modelos, Algoritmos, Edgard Blucher, 2006. 2. J. L. Szwarcfiter, Grafos e Algoritmos Computacionais, Campus, 1984. Complementares 3. T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Algoritmos, Teoria e Prática, Campus, 2002. 4. J. L. Gross, J. Yellen, Handbook of Graph Theory, CRC Press, 2003. 5. G. Chartrand, O. L. Oellermann, Applied and Algorithmic Graph Theory, McGraw Hill, 1992. 49 Unidade Curricular: Arquitetura e Organização de Computadores II Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Arquitetura e Organização de Computadores I Ementa: Caminho de dados. Pipeline. Hierarquia de memória. Projeto de processadores utilizando linguagem de descrição de hardware. Tendências em arquiteturas de computadores. Questões avançadas de paralelismo em nível de instruções. Multiprocessadores e paralelismo em nível de thread. Barramentos. Entrada / Saída. Arquiteturas reconfiguráveis. Objetivos: Estudar conceitos avançados de organização e arquitetura de computadores de forma a capacitar o aluno para projeto e desenvolvimento de novas arquiteturas e tecnologias computacionais. Bibliografia: Básicas 1. J. Hennessy, D. Patterson, Arquitetura de Computadores: Uma Abordagem Quantitativa, Campus, 2003. 2. D. Patterson, J. Hennessy, Organização e projeto de Computadores: A Interface hardware/Software, Campus 2005. Complementares 3. A. Tanenbaum, Organização Estruturada de Computadores, Pearson, 2006. 4. W. Stallings, Arquitetura e Organização de Computadores, Prentice Hall, 2002. 5. D. Smith, HDL Chip Design, Doone, 1998. 6. V. Sagdeo, The Complete Verilog Book, Springer, 1998. Unidade Curricular: Programação Orientada a Objetos Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Algoritmos e Estrutura de Dados II Ementa: Histórico e cenário atual da POO. Programação estruturada e POO. Abstração. Tipos Abstratos de Dados. Objetos. Classes. Atributos. Métodos. Sobrecarga e Sobrescrita. Introdução à UML. Encapsulamento. Hierarquia de Classes. Herança. Especialização/Generalização. Herança múltipla/Interface. Polimorfismo. Associação Dinâmica. Tratamento de Exceções. Estudo das linguagens Java e C++. Objetivos: Capacitar o aluno a utilizar o paradigma de programação orientada a objetos para resolução de problemas computacionais. Bibliografia: Básica 1. B. Meyer, Object-oriented software construction, Prentice-Hall, 1997. Complementares 2. G. Cornell, G. Horstmann, Core Java, Volume 1: Fundamentos, Makron, 2000. 3. B. Stroustrup, The C++ Programming Language, Addison-Wesley, 1997. Unidade Curricular: Sistemas Operacionais Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Algoritmos e Estrutura de Dados II; Organização e Arquitetura de Computadores Ementa: Histórico e conceitos básicos. Estrutura de um sistema operacional. Processos: comunicação, sincronização, escalonamento. Gerência de memória: swapping, memória virtual, paginação, segmentação. Sistema de arquivos. Gerência de entrada/saída. 50 Objetivos: Apresentar ao aluno as principais tarefas desempenhadas pelo sistema operacional. Ao fim do curso, o aluno terá contato com os principais conceitos envolvidos no projeto de sistemas operacionais, teoria relevante à construção, estruturas Básicas, módulos do sistema operacional. Bibliografia: Básicas 1. A. Tanenbaum, Sistemas Operacionais Modernos, Prentice-Hall, 2003. 2. A. Silberschatz, P. B. Galvin, G. Greg, Sistemas Operacionais Conceitos e Aplicações. Campus, 2000. Complementar 3. S. S. Toscani, R. S. Oliveira, A. S. Carissimi, Sistemas Operacionais, Sagra Luzzato, 2004. Unidade Curricular: Laboratório de Sistemas Operacionais Carga Horária: 18 horas Departamento: Computação Pré-requisitos: Algoritmos e Estrutura de Dados II; Organização e Arquitetura de Computadores Ementa: Histórico e conceitos básicos. Estrutura de um sistema operacional. Processos: comunicação, sincronização, escalonamento. Gerência de memória: swapping, memória virtual, paginação, segmentação. Sistema de arquivos. Gerência de entrada/saída. Objetivos: Apresentar ao aluno as principais tarefas desempenhadas pelo sistema operacional. Ao fim do curso, o aluno terá contato com os principais conceitos envolvidos no projeto de sistemas operacionais, teoria relevante à construção, estruturas Básicas, módulos do sistema operacional. Bibliografia: Básicas 1. A. Tanenbaum, Sistemas Operacionais Modernos, Prentice-Hall, 2003. 2. A. Silberschatz, P. B. Galvin, G. Greg, Sistemas Operacionais Conceitos e Aplicações. Campus, 2000. Complementar 3. S. S. Toscani, R. S. Oliveira, A. S. Carissimi, Sistemas Operacionais, Sagra Luzzato, 2004. Unidade Curricular: Inteligência Artificial Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Algoritmos e Estruturas de Dados III; Lógica Aplicada à Computação Ementa: Introdução; Aprendizado de Máquina: conceitos, instâncias e atributos; Pré-processamento; Técnicas de AM supervisionadas e não supervisionadas; Multiclassificadores (ensembles): boosting, bagging, stacking, outros; Testes de hipótese. Introdução às Redes Neurais. Algoritmos Genéticos. Métodos de resolução de problemas. Conceitos básicos. Representação do conhecimento. Estratégias de buscas. Heurísticas e metaheurísticas. Lógica de predicados Objetivos: Apresentar ao aluno conceitos, técnicas e métodos associados à Inteligência Artificial. Dar condições para que o aluno compreenda a importância da Inteligência Artificial para resolução de problemas não computáveis e não viáveis. Bibliografia: Básica 1 Russel, S., Norvig, P., Artificial Intelligence - A Modern Approach, Prentice Hall, 1995. Complementares: 2. J. Hair Jr, R. Anderson, R. Tatham, W. Black, Análise Multivariada de Dados, Artmed, 2005. 3. L. Kuncheva, Combining Pattern Classifiers: Methods and Algorithms, Wiley-Interscience, 2004. 4. T. Mitchell, Machine Learning, McGraw Hill, 1997. 5. S. O. Rezende, Sistemas Inteligentes: Fundamentos e Aplicações, Manole, 2003. 51 6. I. H. Witten, E. Frank, Data Mining: Practical Machine Learning Tools and Techniques with Java Implementations. Morgan Kaufmann, 1999. 7. Braga, A.P; Carvalho, A. C. P.; Ludermir, T. B. Redes Neurais Artificiais - Teoria e aplicações. Livros Técnicos e Científicos, Editora S.A, 2000. 8. LUGER, George F. & Stubblefield, William A., Artificial Intelligence Structures and Strategies for Complex Problem Solving. Third Edition. Addison Wesley Longman, Inc. 1998. 9. Haykin, Simon. Redes Neurais: princípios e prática. Bookman, 2001. Unidade Curricular: Teoria de Linguagens Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Lógica aplicada à computação Ementa: Máquinas de Estados Finitos: autômatos finitos determinísticos e não determinísticos, linguagens regulares, expressões regulares, gramáticas regulares. Máquinas de Pilha: autômatos de pilha determinísticos e não determinísticos, gramáticas e linguagens livres do contexto. Máquinas de Turing: autômatos, gramáticas, linguagens recursivamente enumeraveis, linguagens recursivas. Decidibilidade. Objetivos: Introduzir os fundamentos de linguagens formais e teoria dos autômatos. Preparar o aluno para estudar conceitos como análise léxica e sintática de linguagens de programação. Bibliografia: Básicas 1. N. Vieira, Introdução aos Fundamentos da Computação: Linguagens e Máquinas, Pioneira Thomson Learning, 2006. 2. J. Hopcroft, R. Motwani, J. Ullman, Introduction to Automata Theory, Languages, and Computation, Addison-Wesley, 2006. Complementares 3. J. Martin, Introduction to Languages and the Theory of Computation, McGraw-Hill, 2002. 4. P. B. Menezes, Linguagens Formais e Autômatos, Sagra-Luzzatto, 2002. Unidade Curricular: Matemática Computacional Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Algoritmos e Estruturas de Dados II Ementa: Análise numérica. Modelagem matemática. Modelos lineares. Programação matemática: programação linear e o método simplex. Primal Simplex, teoria da dualidade. Programação dinâmica. Programação inteira. Otimização Objetivos: Apresentar os fundamentos de programação linear, inteira e dinâmica. Modelar problemas típicos e desenvolver soluções computacionais. 52 Bibliografia: Básicas 1. M. S. Bazaraa, J. J. Jarvis, H. D. Sherali, Linear Programming and Network Flows, Wiley-Interscience, 2004. 2. M. C. Goldbarg, H. P. Luna, Otimização combinatória e programação linear: modelos e algoritmos, Campus, 2005. Complementar 3. E. L. de Andrade, Introdução à pesquisa operacional: métodos e modelos para a análise de decisão, LTC, 2000. Unidade Curricular: Introdução à Engenharia de Software Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Programação Orientada a Objetos Ementa: Introdução à Engenharia de Software: Conceitos e definições. O ciclo de vida do Software. Qualidade de Software. Processo de Software: Modelos de processo: Cascata, Prototipação, Evolutivo, Incremental, Transformação, Espiral. Processo Unificado. Especificação, desenho e implementação. Validação e evolução. Métricas, Planejamento e Gerenciamento de Software: Elaboração do cronograma. Planejamento da equipe. Estimativas e Métricas. Análise de riscos. Requisitos de Software. Casos de uso. UML. Introdução a Processos Ágeis. Objetivos: Apresentar ao aluno os fundamentos do processo de concepção, desenvolvimento, implementação e manutenção de produtos de software e os procedimentos, ferramentas e documentos relacionados a este processo. Bibliografia: Básicas 1. I. Sommerville, Engenharia de Software, Pearson, 2003. 2. R. Pressman. Engenharia de Software. Pearson Education, 2004. 3. W. de Pádua Paula Filho, Engenharia de Software, LTC, 2003. Complementares 4. S. Pfleeger, Engenharia de Software Teoria e Prática, Makron Books, 2004. 5. S. Schach, ObjectOriented and Classical Software Engineering, McGrawHill, 2002. Unidade Curricular: Compiladores Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Teoria de Linguagens Ementa: Introdução à compilação. Compilação e interpretação. Funcionamento de um compilador. Fases da compilação. Análise Léxica. Análise Sintática. Geradores de analisadores léxicos e sintáticos. Tabelas de símbolos. Análise semântica. Geração de código intermediário. Otimização de código. Objetivos: Apresentar a teoria e técnicas de construção de compiladores e interpretadores de linguagens de programação Bibliografia: Básica 1. A. J. Aho, R. Sethi, J. D. Ullman, Compiladores: Princípios, Técnicas e Ferramentas, Guanabara Koogan, 1995. Complementar 2. P. B. Menezes, Linguagens Formais e Autômatos, Sagra-Luzzatto, 2002. 3. C. Jacobs, K. Langendoen, H. E. Bal, D. Grune, Projeto Moderno de Compiladores: Implementação e Aplicações, Campus, 2001 53 Unidade Curricular: Banco de Dados Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Algoritmos e Estrutura de Dados III Ementa: Conceitos fundamentais de banco de dados. Modelagem e projeto de banco de dados.Diagrama de Entidades e Relacionamentos. Álgebra e Cálculo Relacional. Projetos de Banco de dados: normalização, dicionário de dados, ferramentas de automação para modelagem de dados. Linguagem de consulta SQL DDL e DML. Regras de Integridade. Procedimentos Armazenados. Criação de Bancos de Dados, ODBC e JDBC. Sistemas de Gerenciamento de Banco de Dados (SGBD): arquitetura, segurança, integridade, concorrência, recuperação após falha, gerenciamento de transações. Diferenças entre os principais Banco de Dados. Datawarehousing, Datamining, OLAP, Banco de Dados XML, Banco de Dados Orientados a Objetos, Banco de Dados Relacionais-Objeto, Banco de Dados Cliente Servidor, Banco de Dados Distribuídos e Banco de Dados móveis. Objetivos: Capacitar os alunos para a criação e implementação de modelos de dados em gerenciadores de bancos de dados. Bibliografia: Básicas 1. R. Elmasri, S. B. Navathe, Sistema de Banco de Dados - Fundamentos e Aplicações, 4 ed., Addison Wesley, 2005. 2. A. Silberschatz, H. F. Korth, S. Sudarshan, Sistema de Bancos de Dados, Campus, 2006. 3. R. Elmasri, S. B. Navathe, Fundamentals of Database Systems, Addison-Wesley, 2006. Unidade Curricular: Laboratório de Banco de Dados Carga Horária: 18 horas Departamento: Computação Pré-requisitos: Algoritmos e Estrutura de Dados III Ementa: Conceitos fundamentais de banco de dados. Modelagem e projeto de banco de dados.Diagrama de Entidades e Relacionamentos. Álgebra e Cálculo Relacional. Projetos de Banco de dados: normalização, dicionário de dados, ferramentas de automação para modelagem de dados. Linguagem de consulta SQL DDL e DML. Regras de Integridade. Procedimentos Armazenados. Criação de Bancos de Dados, ODBC e JDBC. Sistemas de Gerenciamento de Banco de Dados (SGBD): arquitetura, segurança, integridade, concorrência, recuperação após falha, gerenciamento de transações. Diferenças entre os principais Banco de Dados. Datawarehousing, Datamining, OLAP, Banco de Dados XML, Banco de Dados Orientados a Objetos, Banco de Dados Relacionais-Objeto, Banco de Dados Cliente Servidor, Banco de Dados Distribuídos e Banco de Dados móveis. Objetivos: Capacitar os alunos para a criação e implementação de modelos de dados em gerenciadores de bancos de dados. Bibliografia: Básicas 1. R. Elmasri, S. B. Navathe, Sistema de Banco de Dados - Fundamentos e Aplicações, 4 ed., Addison Wesley, 2005. 2. A. Silberschatz, H. F. Korth, S. Sudarshan, Sistema de Bancos de Dados, Campus, 2006. 3. R. Elmasri, S. B. Navathe, Fundamentals of Database Systems, Addison-Wesley, 2006. Unidade Curricular: Redes de Computadores I 54 Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Sistemas Operacionais Ementa: Redes de computadores, protocolos e serviços de comunicação. Meios físicos de transmissão. Arquitetura OSI. Arquitetura TCP/IP. Programação em redes, visando a comunicação de processos e transferência de dados. Objetivos: Capacitar o aluno a analisar e projetar redes de computadores conhecendo o seu princípio de funcionamento através de um panorama das principais tecnologias de redes disponíveis atualmente. Implementar aplicações que utilizem tecnologias de redes visando a comunicação de dados entre computadores. Dar condições para que o aluno projete e/ou desenvolva novas tecnologias em redes de computadores. Bibliografia: Básica 1. A. Tanenbaum, Redes de Computadores, Campus, 2003. Complementares 2. G. Dollimore, J. Kindberg, T. Coulourisg, Distributed systems : concepts and design, Addison-Wesley, 2005. 3. J. Kurose, K. Ross, Redes de Computadores e a Internet - Uma Nova Abordagem, Addison-Wesley, 2006. 4. D. E. Comer, Internetworking with TCP/IP Volume II: ANSI C Version: Design, Implementation, and Internals, Prentice Hall, 1998. 5. D. E. Comer, Internetworking with TCP/IP Volume III: Client-Server Programming and Applications, Linux/Posix Sockets Version, Prentice Hall, 2000. Unidade Curricular: Laboratório de Redes de Computadores I Carga Horária: 18 horas Departamento: Computação Pré-requisitos: Sistemas Operacionais Ementa: Redes de computadores, protocolos e serviços de comunicação. Meios físicos de transmissão. Arquitetura OSI. Arquitetura TCP/IP. Programação em redes, visando a comunicação de processos e transferência de dados. Objetivos: Capacitar o aluno a analisar e projetar redes de computadores conhecendo o seu princípio de funcionamento através de um panorama das principais tecnologias de redes disponíveis atualmente. Implementar aplicações que utilizem tecnologias de redes visando a comunicação de dados entre computadores. Dar condições para que o aluno projete e/ou desenvolva novas tecnologias em redes de computadores. Bibliografia: Básica 1. A. Tanenbaum, Redes de Computadores, Campus, 2003. Complementares 2. G. Dollimore, J. Kindberg, T. Coulourisg, Distributed systems : concepts and design, Addison-Wesley, 2005. 3. J. Kurose, K. Ross, Redes de Computadores e a Internet - Uma Nova Abordagem, Addison-Wesley, 2006. 4. D. E. Comer, Internetworking with TCP/IP Volume II: ANSI C Version: Design, Implementation, and Internals, Prentice Hall, 1998. 5. D. E. Comer, Internetworking with TCP/IP Volume III: Client-Server Programming and Applications, Linux/Posix Sockets Version, Prentice Hall, 2000. 55 Unidade Curricular: Interação Humano-Computador Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Introdução à Engenharia de Software Ementa: Interação homem-máquina, Estilos de interface com o usuário, Engenharia Cognitiva e Abordagens Semióticas, Fatores Humanos, Padronização, Metodologia e Técnicas de Projeto Visando Usabilidade, Usabilidade de Software, Usabilidade Web, Usabilidade em Dispositivos Móveis, Ferramentas e Técnicas de Avaliação de Usabilidade. Prototipação (baixa, média e alta fidelidade) e acessibilidade. Objetivos: Capacitar o aluno a dominar os conceitos e técnicas importantes relacionadas à interação entre o homem e os computadores, de forma a estarem aptos a desenvolver interfaces reais. Bibliografia: Básicas PREECE, Jennifer; Yvonne Rogers; Helen Sharp. Design de interação: além da interação homemcomputador. Trad. Viviane Possamai. Porto Alegre. Bookmam, 2005. Complementares 2. S. Johnson, Cultura da Interface, Jorge Zahar, 2001. 3. D. Hix, H. Hartson, Developing User Interfaces: Ensuring Usability through Product & Process, John Wiley and Sons, 1993. 4.COOPER, Alan; REIMANN, Robert; CRONIN, Dave. About face 3: the essentials of interaction design. Wiley. 2007. 5. DIX, Alan. Human-computer interaction. 3rd ed. Harlow: Prentice Hall, 2004. 834p. 6. SHNEIDERMAN, Ben. Designing the user interface: strategies for effective human-computer interaction. 3rd ed. Reading: Addison Wesley Longman, c1998. 639p 7. SHNEIDERMAN, Ben. Leonardo's laptop: human needs and the new computing technologies. Cambridge: The MIT Press, 2003. 269 p. 8. Snyder, C. Paper Prototyping: The Fast and Easy Way to Define and Refine User Interfaces. San Francisco: Morgan Kaufmann Publishers, 2003. 9. Michael G. Paciello. Web Accessibility for People with Disabilities. CMP Books, Lawrence Kansas. ISBN: 1-929629-08-7 10 Thatcher, Cynthia Waddell, Shawn Henry, Sarah Swierenga, Mark Urban, Michael Burks, Bob Regan. Constructing Accessible Web Sites. Glasshaus. ISBN: 1904151000 Unidade Curricular: Processamento Digital de Imagens Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Algoritmos e Estrutura de Dados II Ementa: Conceitos básicos. Digitalização e representação de imagens. Elementos periféricos de um sistema de tratamento de imagens. Percepção visual. Sistemas de cores. Realce de Imagens. Técnicas de modificação da escala de cinza. Pseudo-coloração. Suavização de imagens. Aguçamento de bordas. Filtragem espacial. Segmentação de imagens. Conceitos da morfologia matemática. Objetivos: Apresentar técnicas de processamento digital de imagens e suas diversas aplicações. Capacitar o aluno a desenvolver programas que sejam capazes de tratar e reconhecer padrõess em imagens. Bibliografia: Básicas 1. R. Gonzalez, R. Woods, Digital Image Processing, Prentice-Hall, 20.6. 2. A. Jain. Fundamentals of Digital Image Processing. Prentice Hall, 1988. 56 Unidade Curricular: Computadores e Sociedade Carga Horária: 36 horas Departamento: Computação Pré-requisitos: Ter cursado 2400 horas Ementa: Aspectos sociais, econômicos, legais e profissionais de computação. Aspectos estratégicos do controle da tecnologia. Mercado de trabalho. Aplicações da computação: educação, medicina, etc. Previsões de evolução da computação. Ética profissional. Segurança, privacidade, direitos de propriedade, acesso não autorizado. Códigos de ética profissional. Doenças profissionais. Objetivos: Fornecer ao aluno uma visão da importância e do impacto dos avanços tecnológicos nas relações sociais. Apresentar ao aluno questões sociológicas e éticas suscitadas pelo desenvolvimento da Computação, oferecendo ao mesmo ferramentas para a análise das perspectivas de futuro das sociedades automatizadas. Conscientizar os alunos sobre a importância da ética e do direito autoral na Ciência da Computação. Bibliografia: Básica 1. Masiero, P. C, Ética em Computação, USP, 2000. 2. D. G. Johnson, H. Nissenbaum. Computers, ethics and social values, Prentice-Hall 1995. Unidade Curricular: Proposta de Projeto Orientado em Computação Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Ter cursado 2400 horas Ementa: Elaboração da proposta de trabalho de fim de curso de Ciência da Computação junto ao professor Objetivos: Permitir que o aluno proponha e organize o projeto de fim de curso a ser desenvolvido posteriormente. Bibliografia: Variável, dependendo do tema escolhido pelo aluno. Unidade Curricular: Computação Gráfica Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Álgebra Linear; Algoritmos e Estruturas de Dados II; Cálculo Diferencial e Integral III Ementa: Conceitos e algoritmos básicos em Computação Gráfica. Hardware gráfico. Rasterização. Representação e armazenamento de imagens. Sistemas de representação de cores. Transformações geométricas. Projeções. Representação de curvas e superfícies. Visibilidade. Iluminação e sombreamento. Animação. Objetivos: Apresentar conceitos e algoritmos de Computação Gráfica e suas diversas aplicações. Capacitar o aluno a desenvolver programas que produzam representações visuais 2D e 3D. 57 Bibliografia: Básicas 1. J. Foley, A. van Dam, S. Feiner, J. Hughes, Computer Graphics: Principles and Practice in C, Addison-Wesley, 1995. 2. J. Gomes, L. Velho, Fundamentos de Computação Gráfica, IMPA, 2003. Complementar 3. A. Watt, 3D Computer Graphics, Addison-Wesley, 1999. Unidade Curricular: Projeto Orientado em Computação Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Proposta de Projeto Orientado em Computação Ementa: Elaboração da proposta de trabalho de fim de curso de Ciência da Computação junto ao professor Objetivos: Permitir que o aluno proponha e organize o projeto de fim de curso a ser desenvolvido posteriormente. Bibliografia: Variável, dependendo do tema escolhido pelo aluno. Unidade Curricular: Redes de Computadores II Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Redes de Computadores Objetivos: Apresentar aos alunos conceitos avançados em redes de computadores com ênfase em novas tecnologias. Bibliografia: A ser definida Unidade Curricular: Sistemas Distribuídos e Paralelos Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Sistemas Operacionais; Redes de Computadores Objetivos: Apresentar ao aluno os principais conceitos teóricos de projeto de sistemas distribuídos e paralelos. Aplicar os conhecimentos teóricos para implementar sistemas distribuídos e paralelos. Bibliografia: A ser definida Unidade Curricular: Modelagem e Avaliação de Desempenho Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Estatística e Probabilidade Aplicada à Computação; Redes de Computadores; Sistemas Operacionais Objetivos: Apresentar os principais conceitos e técnicas de análise de desempenho cobrindo tópicos nas áreas de modelagem, simulação e experimentação. Bibliografia: A ser definida 58 Unidade Curricular: Mineração de Dados Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Banco de Dados Ementa: Conceitos básicos de coleta e engenharia de dados. Técnicas de mineração de dados. Aspectos de implementação. Domínios de aplicação. Objetivos: Esta disciplina tem por objetivo apresentar várias das técnicas de mineração de dados, discutir detalhes da sua utilização e analisar campos de aplicações onde essas técnicas são utilizadas. Bibliografia: P. Tan, M. Steinbach, and V. Kumar Introduction to Data Mining Addison Wesley, 2006. J. Han and M. Kamber Data Mining: Concepts and Techniques, Morgan Kaufmann, 2nd Edition, 2007. I. Witten and E. Frank Data Mining, Morgan Kauffmann, 2nd edition, 2007. D. Ballard, Introduction to Natural Computation, MIT Press, March, 1997. Unidade Curricular: Empreendedorismo em Informática Carga Horária: 36 horas Departamento: Computação Pré-requisitos: Objetivos: A disciplina tem como objetivo principal apresentar os conceitos relativos ao empreendedorismo, auxiliando os alunos a desenvolver empreendimentos na área informática. Unidade Curricular: Segurança e Auditoria de Sistemas Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Redes de Computadores Objetivos: Capacitar o aluno a entender os conceitos de auditoria, controles gerenciais e aplicações. Ao final do curso o aluno deverá ser capaz de utilizar adequadamente técnicas de coleta de dados, testes, entrevistas e questionários. Deverá também ser capaz de identificar, avaliar e definir políticas de integridade e segurança de dados. Bibliografia: A ser definida Unidade Curricular: Sistemas Operacionais II Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Sistemas Operacionais; Redes de Computadores Objetivos: Apresentar aos alunos conceitos avançados em sistemas operacionais com ênfase em implementação. Bibliografia: A ser definida 59 Unidade Curricular: Fundamentos da Tecnologia da Arte Digital Carga Horária: 72 horas Departamento: A definir Pré-requisitos: AEDS I Objetivos: Apresentar ao aluno conceitos e histórico do entretenimento digital. Ao final do curso, o aluno deve ser capaz de compreender os conceitos e vocabulário do campo de entretenimento digital, traçando um paralelo com a tecnologia utilizada em sua concepção. Bibliografia: A ser definida Unidade Curricular: Projetos de Jogos Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Fundamentos da Tecnologia da Arte Digital Objetivos: Apresentar ao aluno boas práticas de desenvolvimento de jogos. O princípios estudados nesta Unidade Curricular poderão ser aplicados igualmente em jogos de cartas, tabuleiro ou computador. Bibliografia: A ser definida Unidade Curricular: Modelagem 3D Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Fundamentos da Tecnologia da Arte Digital Objetivos: Apresentar aos alunos os conceitos básicos de modelagem 3D. Ao final do curso, o aluno deve ser capaz de modelar, texturizar, iluminar e renderizar vários tipos de estruturas 3D. Bibliografia: A ser definida Unidade Curricular: Processamento de Áudio e Vídeo Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Fundamentos da Tecnologia da Arte Digital Objetivos: Capacitar o aluno a compreender os conhecimentos e os conceitos básicos na área de processamento digital da informação (som e vídeo). Bibliografia: A ser definida Unidade Curricular: Introdução à Animação Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Modelagem 3D Objetivos: Apresentar ao aluno técnicas básicas de animação utilizando o software Maya. Ao final do curso, o aluno deverá ser capaz de desenvolver pequenas animações 2D/3D. Bibliografia: A ser definida 60 Unidade Curricular: Algoritmos para Bioinformática Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Algoritmos e Estruturas de Dados I Objetivos: Rever e avançar nos estudos de algoritmos, voltados principalmente as necessidades do contexto de bioinformática. Devem ser enfatizados algoritmos e estruturas de dados que são aplicados diretamente na área como algoritmos para manipulação de cadeias, seqüências e árvores com aplicações em Biologia Molecular, aplicações da teoria dos grafos e otimização. Bibliografia: A ser definida. Unidade Curricular: Introdução à Biologia Molecular Carga Horária: 72 horas Departamento: A definir Pré-requisitos: Objetivos: Introduzir o aluno do curso à biologia molecular. Enfatizar o estudo de propriedades fisico-químicas das principais classes de Biomoléculas: Proteínas, Ácidos Nucléicos, Carboidratos e Lipídeos; Estudos de propriedades das Enzimas e Catálise enzimática; Bioenergética; Metabolismo Intermediário e vias de transdução de sinal nas células; Fluxo da Informação genética nas células. Bibliografia: A ser definida. Unidade Curricular: Banco de Dados para Bioinformática Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Bancos de Dados; Algoritmos para Bioinformática Objetivos: Avançar nos estudos de banco de dados para que o aluno seja capaz de armazenar e recuperar informações relacionadas a Bioinformática. Métodos e softwares de visualização molecular serão discutidos; os principais bancos de dados moleculares disponíveis na Internet serão apresentados e suas utilidades enfatizadas. Bibliografia: A ser definida. Unidade Curricular: Montagem de Genomas e Alinhamentos Carga Horária: 72 horas Departamento: A definir Pré-requisitos: Algoritmos para Bioinformática Objetivos: Trabalhar com os alunos métodos inovadores de seqüenciamento e algoritmos eficientes de alinhamento de seqüências textuais. Um dos objetivos que deve ser explorado é a abordagem de algoritmos paralelos para realizar o procedimento de montagem e alinhamento. Bibliografia: A ser definida. Unidade Curricular: Clonagem, Construção de Bibliotecas e Seqüenciamento de DNA Carga Horária: 72 horas Departamento: A definir Pré-requisitos: Montagem de Genomas e Alinhamentos 61 Objetivos: Introduzir os principais conceitos relacionados às subáreas da Computação que são relevantes à pesquisa em Biotecnologia e, particularmente, à Bioinformática. Proporcionar ao aluno o contato com novas ferramentas no estudo da expressão gênica: enzimas de restrição e modificação, técnicas de clonagem, seqüenciamento de DNA. Possibilitar ainda a construção de bibliotecas visando ao desenvolvimento de um mapa físico e o isolamento de genes de interesse. Bibliografia: A ser definida. Unidade Curricular: Engenharia de Produtos de Software Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Introdução à Engenharia de Software Objetivos: Esta Unidade Curricular visa a tornar o aluno apto a utilizar um processo típico de produção de software, utilizando padrões e técnicas no estado da arte para engenharia de requisitos; análise orientada a objetos. Bibliografia: A ser definida. Unidade Curricular: Gestão de Projetos de Software Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Introdução à Engenharia de Software Objetivos: Esta Unidade Curricular visa permitir ao aluno a aplicação de conceitos da área de Gestão de Projetos em ambientes de tecnologia da Informação; planejar, acompanhar e gerenciar projetos de software. Bibliografia: A ser definida. Unidade Curricular: Padrões de Projetos Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Programação Orientada a Objetos; Banco de Dados Objetivos: Motivar o uso de padrões de projeto. Mostrar os principais padrões de projeto. Trabalhar com um framework para desenvolvimento de aplicações corporativas. Bibliografia: A ser definida. Unidade Curricular: Projeto de Bancos de Dados Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Banco de Dados; Introdução à Engenharia de Software Objetivos: Avançar nos estudos de banco de dados, mostrando o processo de projeto de bancos de dados; o projeto conceitual; o projeto lógico e o projeto físico, destacando tarefas como otimização de esquemas relacionais. Bibliografia: A ser definida. Unidade Curricular: Engenharia de Usabilidade Carga Horária: 72 horas Pré-requisitos: Introdução à Engenharia de Software Departamento: Computação 62 Objetivos: Avançar com o aluno nos estudos de engenharia de software no que tange à usabilidade, desde atividades como análise até desenvolvimentos de protótipos e testes e avaliação de usabilidade de software. Bibliografia: A ser definida. Unidade Curricular: Engenharia de Produtos de Software Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Introdução à Engenharia de Software Objetivos: Esta Unidade Curricular visa a tornar o aluno apto a utilizar padrões e técnicas no estado da arte para: realização de testes; design orientado a objetos; desenho de interfaces de usuário; desenho detalhado e codificação; aplicar os padrões e técnicas acima na fase de Construção de um projeto de software de pequeno porte. Bibliografia: A ser definida. Unidade Curricular: Introdução a Sistemas de Informação Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Introdução à Ciência da Computação Objetivos: Mostrar o papel de Sistemas de Informação para o aluno, caminhando desde os conceitos básicos até o papel de um analista de sistemas no contexto empresarial. Bibliografia: A ser definida. Unidade Curricular: Técnicas Avançadas de Programação Orientada a Objetos Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Introdução à Engenharia de Software Objetivos: Avançar nos estudos de Programação Orientada a Objetos, utilizando recursos avançados de linguagens como Java e C++. Proporcionar o contato com o desenvolvimento de aplicações corporativas, com o uso de servidores de aplicação e frameworks de desenvolvimento. Bibliografia: A ser definida. Unidade Curricular: Recuperação de Informação Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Algoritmos e Estruturas de Dados II Objetivos: Mostrar ao aluno o processo de geração, tratamento e recuperação da informação. Evidenciar a análise e a representação da informação em diferentes tipos de suporte: textual, audiovisual, imagético. Mostrar também o processo de busca e acesso à informação com destaque para mecanismos voltados para web. Bibliografia: A ser definida. 63 Unidade Curricular: Tecnologias Web Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Redes de Computadores Objetivos: Avançar em tópicos de trabalho com tecnologias web como: Servidores Web, linguagens e ferramentas de apoio para desenvolvimento Web, frameworks de apoio ao desenvolvimento de aplicações para web e comércio eletrônico. Bibliografia: A ser definida. Unidade Curricular: BD: Modelos Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Banco de Dados Objetivos: Apresentar tópicos avançados e aspectos de implementação de banco de dados. Colocar o aluno em contato com os aspectos de implementação de banco de dados e tecnologias como Banco de Dados Orientados a Objetos. Bibliografia: A ser definida. Unidade Curricular: BD: Linguagens e Arquitetura Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Banco de Dados Objetivos: Apresentar tópicos avançados e aspectos de implementação de banco de dados. Mostrar arquiteturas de trabalho com banco de dados e linguagens de programação comuns. Bibliografia: A ser definida. Unidade Curricular: Tópicos Especiais em Ciência da Computação I Carga Horária: 72 horas Departamento: Computação Pré-requisitos: A serem definidos Objetivos: Apresentar assuntos do “estado da arte” em Ciência da Computação, de acordo com as demandas dos alunos, do mercado e do meio acadêmico (pesquisa). Bibliografia: A ser definida. Unidade Curricular: Tópicos Especiais em Ciência da Computação II Carga Horária: 72 horas Departamento: Computação Pré-requisitos: A serem definidos Objetivos: Apresentar assuntos do “estado da arte” em Ciência da Computação, de acordo com as demandas dos alunos, do mercado e do meio acadêmico (pesquisa). Bibliografia: A ser definida. 64 Unidade Curricular: Tópicos Especiais em Ciência da Computação III Carga Horária: 36 horas Departamento: Computação Pré-requisitos: A serem definidos Objetivos: Apresentar assuntos do “estado da arte” em Ciência da Computação, de acordo com as demandas dos alunos, do mercado e do meio acadêmico (pesquisa). Bibliografia: A ser definida. Unidade Curricular: Tópicos Especiais em Ciência da Computação IV Carga Horária: 18 horas Departamento: Computação Pré-requisitos: A serem definidos Objetivos: Apresentar assuntos do “estado da arte” em Ciência da Computação, de acordo com as demandas dos alunos, do mercado e do meio acadêmico (pesquisa). Bibliografia: A ser definida. Unidade Curricular: Tópicos Especiais em Ciência da Computação V Carga Horária: 90 horas Departamento: Computação Pré-requisitos: A serem definidos Objetivos: Apresentar assuntos do “estado da arte” em Ciência da Computação, de acordo com as demandas dos alunos, do mercado e do meio acadêmico (pesquisa). Bibliografia: A ser definida. Unidade Curricular: Processamento digital de sinais Carga Horária: 72 horas Departamento: Computação Pré-requisitos: AEDS III Objetivos: Apresentar aos alunos os conceitos de digitalização e aquisição de dados. Apresentar as teorias de sinais e sistemas. Apresentar técnicas de projeto de filtros digitais e análise espectral. Bibliografia: A ser definida. Unidade Curricular: Sistemas embarcados Carga Horária: 72 horas Departamento: Computação Pré-requisitos: Arquitetura e Organização de Computadores II Objetivos: Apresentar conceitos de análise e projeto de sistemas embarcados. Apresentar conceitos de projeto integrado de hardware e software. Apresentar ferramentas para controle de dispositivos de E/S, aquisição de dados, temporização e interfaceamento com periféricos. Apresentar conceitos para desenvolvimento de software embarcado, sistemas operacionais embarcados e processamento em tempo real. Apresentar arquiteturas dedicadas a sistemas embarcados tais como microcontroladores, DSPs e dispositivos de hardware reconfiguráveis. Bibliografia: A ser definida. 65 Unidade Curricular: LIBRAS – Linguagem Brasileira de Sinais Carga Horária: 36 horas Departamento: A definir Pré-requisitos: Ementa: A educação bilíngüe para os portadores de deficiência em áudio-comunicação, a legislação e a inclusão escolar. Linguagem e surdez: aspectos históricos da modalidade gestual-visual. Alfabeto manual e os sinais para o aprendizado e interpretação da Língua Brasileira de Sinais – LIBRAS. Ambiente computacional para aprendizagem da LIBRAS. Objetivos: Habilitar o aluno a compreender o universo e desafios da comunicação com os deficientes auditivos e promover sua integração no meio social. Capacitar aluno a utilizar a linguagem dos sinais para comunicação com os deficientes auditivos. Bibliografia: Básica: FERREIRA, Lucinda. Integração Social e Educação de Surdos. Rio de Janeiro: Babel, 1993. FERREIRA, Lucinda. Por uma gramática de Língua dos Sinais. Tempo Brasileiro, 1995. FELIPE, Tanya Amara e Monteiro, Myrna Salerno. Libras em contexto: curso básico, livro do estudante cursista. Brasília: MEC, SEESP, 2001. Complementar: CAPOVILLA, Fernando César. Dicionário Enciclopédico Ilustrado Trilíngue da Língua de Sinais Brasileira. São Paulo: Imprensa Oficial São Paulo, 2001. GÓES, Maria Cecília Rafael. Linguagem Surdez e Educação. São Paulo: Autores Associados, 2002. OATES, Eugênio. Linguagem das Mãos. São Paulo: Santuário, 2001. SILVA, Daniele Nunes Henrique. Como Brincam as Crianças Surdas. São Paulo: Plexus, 2002. SILVA, Marilia da Piedade Marinho. A Construção de Sentidos na Escrita do Aluno Surdo. São Paulo: Plexus, 2001 Anexo D: Planejamento de Contratação de Docentes Não é necessário efetuar todas as contratações de professores ao início do curso. O planejamento abaixo mostra como o programa pode ser montado, efetuando a contratação dos professores á medida em que o curso se desenvolve. Inicialmente, deve-se contratar quatro professores para coordenar a implantação. Estas contratações devem ser feitas, pelo menos dois semestres antes do início de funcionamento do curso. É importante ressaltar a necessidade de contratação de quatro técnicos especializados (nível superior), para auxiliar a montar a estrutura física e lógica do programa. Contratações para o ANO 1 SEMESTRE I As Unidades Curriculares ministradas no primeiro semestre serão as UCs do primeiro período: • Matemática Discreta 66 • • • • • • Cálculo Diferencial e Integral I Geometria Analítica Introdução à Ciência da Computação Algoritmos e Estruturas de Dados I Laboratório AEDS I Português Instrumental Para ministrar estas UCs serão necessários: 1. Professor da Área de Sistemas de Computação para as UCs • Introdução á Ciência da Computação (2 horas por semana) • Algoritmos e estruturas de Dados I (4 horas por semana) 2. Professor da Área de Matemática Computacional para as UCs • Matemática Discreta (4 horas por semana) • Laboratório de AEDS I (1 hora por semana) - turma 1 • Laboratório de AEDS I (1 hora por semana) - turma 2 Atividades extras a serem organizadas e desenvolvidas pelos professores acima: Coordenação do Curso de Ciência da Computação, Seminários I, Atividades Complementares, Coordenação de Pesquisa e Extensão . Professores de outros departamentos da UFSJ para as seguintes UCs: • • • Professor de Cálculo Diferencial e Integral I (4 horas por semana) Professor de Geometria Analítica (4 horas por semana) Professor de Português Instrumental (2 horas por semana) SEMESTRE II As UCs ministradas no segundo semestre serão as UCs do segundo período: • • • Algoritmos e Estrutura de Dados II Laboratório AEDS II Cálculo Diferencial e Integral II • • • • Estatística e Probabilidade Aplicada á Computação Lógica Aplicada á Computação Introdução a Sistemas Lógicos Digitais Laboratório de Sistemas Lógicos Digitais Para ministrar estas UCs serão necessários: 1. Professor da Área de Sistemas de Computação: • Algoritmos e Estruturas de Dados II (4 horas por semana) • Laboratório AEDS II (1 hora por semana) - turma 1 2. Professor da Área de Sistemas de Computação • Introdução à Sistemas Lógicos Digitais (4 horas por semana) 67 • Laboratório de Sistemas Lógicos Digitais (1 hora por semana) - turma 1 3. Professor da Área de Matemática Computacional: • Lógica Aplicada à Computação (4 horas por semana) • Laboratório de Sistemas Lógicos Digitais (1 hora por semana) - turma 2 4. Professor da Área de Bioinformática: • Estatística e Probabilidade Aplicada à Computação (4 horas por semana) • Laboratório AEDS II (1 hora por semana) - turma 2 Atividades extras a serem organizadas e desenvolvidas pelos professores acima: Coordenação do Curso de Ciência da Computação, Atividades Complementares, Coordenação de Pesquisa e Extensão. Professores de outros departamentos da UFSJ para as seguintes UCs: • Professor de Cálculo Diferencial e Integral II (4 horas por semana) Resumo das contratações para o ano 1: quatro professores, uma secretária, três técnicos. Contratações para o ANO 2 SEMESTRE I As UCs ministradas no primeiro semestre serão as UCs do primeiro período citadas anteriormente, juntamente com as UCs citadas abaixo: • • • • • • Algoritmos e Estrutura de Dados III (3o período) Arquitetura e Organização Computadores I (3o período) Álgebra Linear (3o período) Física Mecânica Clássica (3o período) Cálculo Diferencial e Integral II (3o período) Iniciação á Pesquisa em Ciência da Computação (3o período) Para ministrar estas UCs serão necessários: 1. Professor da Área de Bioinformática: • Introdução á Ciência da Computação (2 horas por semana) 2. Professor da Área de Sistemas de Computação: • Algoritmos e estruturas de Dados I (4 horas por semana) 3. Professor da Área de Sistemas de Computação: • Algoritmos e Estrutura de Dados III (4 horas por semana) • Laboratório de AEDS I (1 hora por semana) - turma 1 68 4. Professor da Área de Hardware • Arquitetura e Organização de Computadores I (4 horas por semana) 5. Professor da Área de Matemática Computacional • Matemática Discreta (4 horas por semana) • Laboratório de AEDS I (1 hora por semana) - turma 2 Atividades extras a serem organizadas e desenvolvidas pelos professores acima: Seminários I e III, Atividades Complementares, Coordenador de Pesquisa e Extensão. Professores de outros departamentos da UFSJ para as seguintes UCs: • • • • Professor de Cálculo Diferencial e Integral I (4 horas por semana) Professor de Geometria Analítica (4 horas por semana) Professor de Física Mecânica Clássica (4 horas por semana) Professor de Álgebra Linear (4 horas por semana) SEMESTRE II As UCs ministradas no segundo semestre serão as UCs do segundo período, juntamente com as UCs citadas abaixo: • • • • • Conceitos de Linguagens de Programação (4o período) Física Elementos de Eletricidade (4o período) Grafos (4o período) Arquitetura e Organização de Computadores II (4o período) Programação Orientada a Objetos (4o período) Para ministrar estas UCs serão necessários: 1. Professor da Área de Sistemas de Computação: • Algoritmos e estruturas de Dados II (4 horas por semana) • Laboratório AEDS II (1 hora por semana) - turma 1 • Laboratório de Sistemas Lógicos Digitais (1 hora por semana) - turma 1 2. Professor da Área de Lógica/Compiladores/Teoria de Linguagens; • Conceitos de Linguagens de Programação (4 horas por semana) • Laboratório AEDS II (1 hora por semana) - turma 2 • Laboratório de Sistemas Lógicos Digitais (1 hora por semana) - turma 2 • Programação Orientada a Objetos (4 horas por semana) 3. Professor da Área de Matemática Computacional: • Grafos (4 horas por semana) • Lógica Aplicada á Computação (4 horas por semana) 4. Professor da Área de Bioinformática: • Estatística e Probabilidade Aplicada á Computação (4 horas por semana) 5. Professor da Área de Hardware • Introdução a Sistemas Lógicos Digitais (4 horas por semana) • Arquitetura e Organização de Computadores II (4 horas por semana) 69 6. Professor da Área de Sistemas de Computação • Introdução á Engenharia de Software (4 horas por semana) • Atividades extras a serem organizadas e desenvolvidas, Atividades Complementares, Coordenador de Pesquisa e Extensão . Professores de outros departamentos da UFSJ para as seguintes UCs: • • Professor de Cálculo Diferencial e Integral II (4 horas por semana) Professor de Física Elementos de Eletricidade (4 horas por semana) Resumo das contratações do segundo ano: dois professores Contratações para o ANO 3 SEMESTRE I As UCs ministradas no primeiro semestre serão as UCs de primeiro período, as UCs de terceiro período, e além destas: • • • • • • Sistemas Operacionais (5o Período) Laboratório de Sistemas Operacionais (5o Período) Teoria de Linguagens (5o Período) Matemática Computacional (5o Período) Software Básico (5o Período) Introdução á Engenharia de Software (5o período) No quinto semestre de implantação, o Curso de Ciência da Computação deverá oferecer UCs referentes à áreas do curso como: • Bioinformática • Arte e Cultura • Sistemas de Informação • Engenharia de Software • Sistemas de Computação Para ministrar estas UCs serão necessários: 1. Professor da Área de Sistemas de Computação: • Algoritmos e estruturas de Dados I (4 horas por semana) • Laboratório de AEDS I (1 hora por semana) - turma 1 • Laboratório de AEDS I (1 hora por semana) - turma 2 2. Professor da Área de Sistemas de Computação: • Algoritmos e Estrutura de Dados III (4 horas por semana) • Laboratório de Sistemas Operacionais (1 hora por semana) - turma 1 3. Professor da Área de Sistemas de Computação: 70 • • Programação Orientada a Objetos (4 horas por semana) Introdução á Ciência da Computação (4 horas por semana) 4. Professor da Área de Hardware • Arquitetura e Organização de Computadores I (4 horas por semana) • Software Básico (4 horas por semana) 5. Professor da Área de Matemática Computacional • Matemática Discreta (4 horas por semana) • Matemática Computacional (4 horas por semana) 6. Professor da Área de Sistemas de Computação: • Sistemas Operacionais (4 horas por semana) • Laboratório de Sistemas Operacionais (1 hora por semana) - turma 2 7. Professor da Área de Lógica/Compiladores/Teoria de Linguagens; • Teoria de Linguagens (4 horas) Atividades Complementares; Coordenador de Pesquisa e Extensão . Professores de outros departamentos da UFSJ para as seguintes UCs: • • • • Professor de Cálculo Diferencial e Integral I (4 horas por semana) Professor de Geometria Analítica (4 horas por semana) Professor de Física Mecânica Clássica (4 horas por semana) Professor de Álgebra Linear (4 horas por semana) SEMESTRE II As UCs ministradas no segundo semestre serão as UCs do segundo período, as UCs de quarto período, e além destas: • • • • • • Compiladores (6o Período) Banco de Dados (6o Período) Laboratório de Banco de Dados (6o Período) Redes de Computadores I (6o Período) Laboratório Redes de Computadores I (6o Período) Processamento Digital de Imagens (6o Período) Para ministrar estas UCs serão necessários: 1. Professor da Área de Lógica/Compiladores/Teoria de Linguagens; • Conceitos de Linguagens de Programação (4 horas por semana) • Compiladores (4 horas por semana) 2. Professor da Área de Sistemas de Computação: • Banco de Dados (4 horas por semana) • Laboratório de Banco de Dados (1 hora por semana) - turma 1 • Laboratório de Sistemas Lógicos Digitais (1 hora por semana) - turma 2 3. Professor da Área de Sistemas de Computação: • Redes de Computadores I (4 horas por semana 71 • • Laboratório Redes de Computadores I (1 hora por semana) - turma 1 Laboratório Redes de Computadores I (1 hora por semana) - turma 2 4. Professor da Área de Sistemas de Computação: • Algoritmos e estruturas de Dados II (4 horas por semana) • Laboratório AEDS II (1 hora por semana) - turma 1 • Laboratório AEDS II (1 hora por semana) - turma 2 5. Professor da Área de Sistemas de Computação: • Grafos (4 horas por semana) • Lógica Aplicada á Computação (4 horas por semana) 6. Professor da Área de Matemática Computacional: • Estatística e Probabilidade Aplicada á Computação (4 horas por semana) • Laboratório de Banco de Dados (1 hora por semana) - turma 2 7. Professor da Área de Hardware • Introdução a Sistemas Lógicos Digitais (4 horas por semana) • Arquitetura e Organização de Computadores II (4 horas por semana) 8. Professor da Área de Sistemas de Computação: • Laboratório de Sistemas Lógicos Digitais (1 hora por semana) - turma 1 9. Professor da Área de Engenharia de Software • Introdução á Engenharia de Software (4 horas por semana) 10. Professor da Área de Computação Gráfica e Processamento Digital de Imagens • Processamento Digital de Imagens (4 horas por semana) Atividades extras a serem organizadas e desenvolvidas pelos professores acima: Seminários I e III; Atividades Complementares; Coordenador de Pesquisa e Extensão Professores de outros departamentos da UFSJ para as seguintes UCs: • • Professor de Cálculo Diferencial e Integral II (4 horas por semana) Professor de Física Elementos de Eletricidade (4 horas por semana) Resumo das contratações para o ano 3: três professores. Contratações para o ANO 4 SEMESTRE I As UCs ministradas no primeiro semestre serão as UCs do primeiro período, as UCs de terceiro período, do quinto período, além destas: • • • Computação Gráfica (7o Período) Inteligência Artificial (7o Período) Proposta de Projeto Orientado em Computação (7o Período) 72 Para ministrar estas UCs serão necessários: 1. Professor da Área de Lógica/Compiladores/Teoria de Linguagens; • Teoria de Linguagens (4 horas por semana) • Inteligência Artificial (4 horas por semana) 2. Professor da Área de Sistemas de Computação: • Introdução á Ciência da Computação (2 horas por semana) • Algoritmos e Estruturas de Dados I (4 horas por semana) 3. Professor da Área de Sistemas de Computação: • Algoritmos e Estrutura de Dados III (4 horas por semana) • Programação Orientada a Objetos (4 horas por semana) 4. Professor da Área de Sistemas de Computação: • Sistemas Operacionais (4 horas por semana) • Laboratório de Sistemas Operacionais (1 hora por semana) - turma 1 5. Professor da Área de Hardware • Arquitetura e Organização de Computadores I (4 horas por semana) • Software Básico (4 horas por semana) 6. Professor da Área de Matemática Computacional • Matemática Computacional (4 horas por semana) • Matemática Discreta (4 horas por semana) 7. Professor da Área de Engenharia de Software • Interação Homem Computador (4 horas por semana) • Laboratório de AEDS I (1 hora por semana) - turma 1 8. Professor da Área de Computação Gráfica e Processamento Digital de Imagens • Computação Gráfica (4 horas por semana) • Laboratório de Sistemas Operacionais (1 hora por semana) - turma 2 9. Professor da Área de Sistemas de Computação • Proposta de Projeto Orientado em Computação (4 horas por semana) 10. Professor da Área de Sistemas de Computação • • Atividades Complementares (8 horas por semana) Laboratório de AEDS I (1 hora por semana) - turma 2 11. Professor da Área de Sistemas de Computação • Coordenador de Pesquisa e Extensão (8 horas por semana) Atividades Complementares; Coordenador de Pesquisa e Extensão . Professores de outros departamentos da UFSJ para as seguintes UCs: • Professor de Cálculo Diferencial e Integral I (4 horas por semana) 73 • • • • Professor de Geometria Analítica (4 horas por semana) Professor de Física Mecânica Clássica (4 horas por semana) Professor de Álgebra Linear (4 horas por semana) Professor de Cálculo Diferencial e Integral III (4 horas por semana) SEMESTRE II As UCs ministradas no segundo semestre serão as UCs do segundo período, as UCs de quarto período, as UCs do sexto período, e além destas: • • Computador e Sociedade (7o Período) Projeto Orientado em Computação (8o Período) Para ministrar estas UCs serão necessários: 1. Professor da Área de Lógica/Compiladores/Teoria de Linguagens; • Conceitos de Linguagens de Programação (4 horas por semana) • Compiladores (4 horas por semana) 2. Professor da Área de Sistemas de Computação: • Banco de Dados (4 horas por semana) • Laboratório de Banco de Dados (1 hora por semana) - turma 1 3. Professor da Área de Sistemas de Computação: • Redes de Computadores I (4 horas por semana) • Laboratório Redes de Computadores I (1 hora por semana) - turma 1 • Laboratório Redes de Computadores I (1 hora por semana) - turma 2 4. Professor da Área de Sistemas de Computação: • Algoritmos e estruturas de Dados II (4 horas por semana) • Laboratório AEDS II (1 hora por semana) 5. Professor da Área de Sistemas de Computação: • Grafos (4 horas por semana) • Lógica Aplicada á Computação (4 horas por semana) 6. Professor da Área de Matemática Computacional: • Estatística e Probabilidade Aplicada á Computação (4 horas por semana) • Laboratório de Banco de Dados (1 hora por semana) - turma 2 7. Professor da Área de Hardware • Introdução a Sistemas Lógicos Digitais (4 horas por semana) • Arquitetura e Organização de Computadores II (4 horas por semana) 8. Professor da Área de Sistemas de Computação: • Projeto Orientado em Computação (4 horas por semana) • Laboratório de Sistemas Lógicos Digitais (1 hora por semana) - turma 1 9. Professor da Área de Engenharia de Software • Introdução á Engenharia de Software (4 horas por semana) • Computador e Sociedade (2 horas por semana) 74 10. Professor da Área de Computação Gráfica e Processamento Digital de Imagens • Processamento Digital de Imagens (4 horas por semana) 11. Professor da Área de Sistemas de Computação: • Laboratório de Sistemas Lógicos Digitais (1 hora por semana) - turma 2 • Atividades Complementares (8 horas por semana) 12. Professor da Área de Sistemas de Computação: • Coordenador de Pesquisa e Extensão (8 horas por semana) Atividades extras a serem organizadas e desenvolvidas pelos professores acima: Seminários I e III; Atividades Complementares; Coordenador de Pesquisa e Extensão Professores de outros departamentos da UFSJ para as seguintes UCs: • • Professor de Cálculo Diferencial e Integral II (4 horas por semana) Professor de Física Elementos de Eletricidade (4 horas por semana) 75 Anexo E: Cronograma de Aquisição de Material Bibliográfico As bibliotecas universitárias brasileiras precisam manter constantemente, uma coleção de livros de graduação atualizada e totalmente adequada às bibliografias dos cursos, uma vez que, o próprio Ministério de Educação (MEC) faz esta exigência. Esse fato torna-se uma das questões centrais da graduação, visto que a biblioteca tem um papel essencial e interage como elemento facilitador na aquisição do conhecimento. A biblioteca do curso deve conter títulos em número adequado e atender às referências bibliográficas das UCs do curso. Para critérios de avaliação do curso, são analisados se cada livro, usado como referência básica de uma dada unidade curricular, existe em uma proporção de 15 alunos por livro no acervo da biblioteca. Além disso, a biblioteca deve conter periódicos de referência na área, materiais multimeios como vídeos, CDs e DVDs. O acervo deve ocupar um espaço físico adequado e deve existir espaço físico para sala de leitura, trabalho individual e em grupo. Mais ainda, devem existir pontos de acesso à Internet, sobretudo para pesquisa nos periódicos on-line que o curso demanda. A catalogação do acervo deve estar de acordo com as normas dos serviços bibliográficos e há a necessidade da informatização do acervo, sobretudo para consultas rápidas e reservas de materiais. Um dos pontos de grande importância está relacionado a uma política de atualização e expansão, administrado por recursos humanos qualificados. Tendo em vista as recomendações supracitadas para uma boa conceituação do curso, no que tange à bibliografia, a biblioteca do curso dever conter um material de qualidade, como livros atualizados, acesso aos principais periódicos da área como as publicações SBC (Journal of the Brazilian Computer Society), da ACM e da IEEE, e Anais de eventos científicos importantes como, por exemplo, os anais do SBRC. Para atender a demanda do curso, recomendamos a aquisição de 5 exemplares de cada bibliografia básica e 2 de cada complementar, por unidade curricular em questão. A aquisição de material bibliográfico para compor a biblioteca deve seguir o cronograma apresentado nas Tabelas a seguir. ANO 1 Inicia-se no primeiro ano de implantação do curso, a contratação dos periódicos online como ACM, IEEE. Deve ser estabelecida a assinatura de jornais e revistas impressas da área, sobretudo as de abrangência internacional. Inicia-se também o processo de aquisição dos anais dos principais eventos científicos, como os promovidos pela Sociedade Brasileira de Computação. 76 Unidade Curricular Matemática Discreta Cálculo Diferencial e Integral I Bibliografia 1. K. H. Rosen, Discrete Mathematics and its Applications, Mc-Graw Hill, 2003. 2. M. O. Albertson, Joan P. Hutchinson, Discrete Mathematics With Algorithms, John Wiley & Sons, 1988. 3. J. Gersting, Fundamentos Matemáticos para a Ciência da Computação, LTC, 2001. 4. J. E. Munro, Discrete Mathematics for Computing, Chapman & Hall, 1993 5. S. Roman, An introduction to discrete mathematics, Saunders College, 1989. 6. K. A. Ross, C. R. Wright, Discrete Mathematics, Prentice Hall, 1988. 7. E. R. Scheinerman, Matemática Discreta: uma introdução, Thomson, 2000. 1. M. A. Munem, D. J. Foulis, Cálculo, Vol. 1. LTC, 1982. 2. G. F. Simmons, Cálculo com Geometria Analítica, Vol. 1, Makron Books, 1987. 3. L. Leithold, Cálculo com Geometria Analítica, Vol. I. Harbra, 1994. 4. L. Goldstein, Cálculo e suas Aplicações, Hemus, 20.6. Geometria Analítica 1. C. H. Lehmann, Geometria analítica, Globo, 1998. 2. I. C. Oliveira, P. Boulos, Geometria Analítica. Um Tratamento 3. M. F. Azevedo Filho, Geometria Analítica e Álgebra Linear. Edições Livro Técnico e Premius Editora, 2001. Introdução à Ciência da 1. V. Setzer, R. Terada. Introdução à Computação e à Construção de Computação Algoritmos. McGraw-Hill, 1991. 2. E. Roberts. The Art and Science of C. Addison-Wesley, 1995. 3. J. Franca, J. Lessa. Manual para normalização de publicações técnico-científicas. UFMG, 2001. 4. B. Kernighan, D. Ritchie. A Linguagem de Programação C, padrão ANSI. Campus, 1990. Algoritmos e Estruturas de 1. D. E. Knuth. The Art of Computer Programming, Volume 1: Dados I Fundamental Algorithms, Addison-Wesley, 1997. 2. A. L. V. Forbellone, H. F. Eberspacher, Lógica de Programação: a Construção de Algoritmos e Estruturas de Dados , Makron Books, 2005. 3. J. Tremblay, Ciência dos computadores: uma abordagem algorítmica, Makron Books, 1983. 4. J. A. G. Manzano, Algoritmos: lógica para desenvolvimento de programação de computadores, Érica, 2004. Algoritmos e Estruturas de 1. N. Ziviani, Projeto de Algoritmos com Implementações em Pascal e Dados II C, Editora Thomson, 2004. 2. T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Algoritmos, Teoria e Prática, Campus, 2002. 3. J. L. Szwarcfiter, L. Markenzon, Estruturas de Dados e Seus Algoritmos, LTC, 2002. 4. B. R. Preiss, Estruturas de Dados e Algoritmos, Elsevier, 2001. 5. D. E. Knuth, The Art of Computer Programming, Volume 1: Fundamental Algorithms, Addison-Wesley, 1997. 6. D. E. Knuth, The Art of Computer Programming, Volume 3: Searching and Sorting, Addison-Wesley, 1997. Qt. 5 5 2 2 2 2 2 5 5 2 2 5 5 2 5 5 2 2 5 2 2 2 5 5 2 2 2 2 77 Cálculo Diferencial e Integral II Estatística e Probabilidade Aplicada à Computação Lógica Aplicada à Computação Introdução a Sistemas Lógicos Digitais 7. G. Brassard, P. Bratley, Fundamentals of Algorithmics, Prentice Hall, 2 1995. 1. M. A. Munem, D. J. Foulis, Cálculo, Vol. 2. LTC, 1982. 5 1. A. B. Clarke, Probabilidade e processos estocásticos, LTC, 1979. 5 2. P. L. Meyer, Probabilidade: aplicações à estatística, LTC, 1983. 3. P. G. Hoel, Introduction to probability theory, Houghton Mifflin Company, 1971. 6. A. M. Mood, Introduction to the theory of statistics, McGraw-Hill, 1974. 7. D. C. Montgomery, E. A. Peck, G. G. Vining, Introduction to linear regression analysis, Wiley-Interscience, 2006. 1. M. Ben-Ari, Mathematical Logic for Computer Science, Springer, 2003. 2. A. M. Casanova, F. A. C. Giorno, A. L. Furtado, Programação em Logica e a Linguagem Prolog, Edgard Blucher, 1987. 3. C. L. Chang, R. C. T. Lee, Symbolic Logic and Mechanical Theorem Proving, Academic Press, 1973. 4. J. H. Gallier, Logic for Computer Science: Foundation of Automatic Theorem Proving, John Wiley & Sons, 1986. 1. R. Katz, G. Borriello, Contemporary Logic Design, Prentice Hall, 2004. 2. M. Mano, C. Kime, Logic and Computer Design Fundamentals, Prentice Hall, 20.6. 3. R. Tocci, N. S. Widmer, Sistemas Digitais Princípios e Aplicações, Pearson, 2003. 4. A. Tanenbaum, Organização Estruturada de Computadores, Pearson, 2006. 5. D. Smith, HDL Chip Design. Doone, 1998. 6. V. Sagdeo, The Complete Verilog Book, Springer, 1998. 5 2 Bibliografia 1. N. Ziviani, Projeto de Algoritmos com Implementações em Pascal e C, Editora Thomson, 2004. 2. D. E. Knuth, The Art of Computer Programming, Volume 1: Fundamental Algorithms, Addison-Wesley, 1997. 3. T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Algoritmos, Teoria e Prática, Campus, 2002. 4. J. L. Szwarcfiter, L. Markenzon, Estruturas de Dados e Seus Algoritmos, LTC, 2002. 5. N. Wirth, Algoritmos e Estruturas de Dados, LTC, 1989. 6. P. Veloso, C. Santos, O, Azeredo, A. Furtado, Estruturas de Dados, Campus, 1983. 7. U. Manber, Introduction to Algorithms: A Creative Approach, Addison-Wesley, 1989. 8. M. A. Weiss, Algorithms, Data Structures, and Problem Solving with C++, Addison-Wesley, 1996. Qt. 5 2 2 5 5 2 2 5 5 2 2 2 2 ANO 2 Unidade Curricular Algoritmos e Estrutura de Dados III 5 4 2 2 2 2 78 Arquitetura e Organização de Computadores I Álgebra Linear Mecânica Clássica Programação Orientada a Objetos Conceitos de Linguagens de Programação Introdução à Engenharia de Software Física Elementos Eletricidade Grafos de 1. D. Patterson, J. Hennessy, Organização e projeto de Computadores: A Interface hardware/Software, Campus, 2005. 2. A. Tanenbaum, Organização Estruturada de Computadores, Pearson, 2006. 3. W. Stallings, Arquitetura e Organização de Computadores,Prentice Hall, 2002. 4. D. Smith, HDL Chip Design, Doone, 1998. 5. V. Sagdeo, The Complete Verilog Book, Springer, 1998. 1. J. L. Boldrini, S. I. Costa, V. L. Figueiredo, H. G. Wetzler, Álgebra Linear, Harbra, 1986. 2. A. Steinbroch, P. Wintele, Álgebra Linear, McGrawHill, 1987. 3. S. Lang, Álgebra Linear, Editora Edgar Blucher, 1971. 4. C. Callioli, H. Domingues, R. Costa, Álgebra Linear e Aplicações, Atual, 2006. 1. D. Halliday, D. Resnick, R. J. Walker, Fundamentos de Física, Volume 2. D. Halliday, D. Resnick, R. J. Walker, Fundamentos de Física, Volume 3. J. Orear, Fundamentos de Física, Volume 1, LTC, 1981. 4. R. C. Hibbeler, Dinâmica: Mecânica para Engenharia, Prentice-Hall, 2004. 1. B. Meyer, Object-oriented software construction, Prentice-Hall, 1997. 5 2. G. Cornell, G. Horstmann, Core Java, Volume 1: Fundamentos, Makron, 2000. 3. B. Stroustrup, The C++ Programming Language, Addison-Wesley, 1997. 1. F. Varejao, Linguagens de Programação: Conceitos e Técnicas, Elsevier, 2004. 2. D. Watt, Programming Language Concepts and Paradigms, Prentice-Hall, 1993. 3. R. W. Sebesta, Conceitos de Linguagens de Programação, Bookman, 2003. 4. T. Pratt, M. V. Zelkowitz, Programming Languages Design and Implementation, Prentice-Hall, 2001. 5. R. Sethi, Programming Languages: Concepts and Constructs, Addison Wesley, 1996. 1. I. Sommerville, Engenharia de Software, Pearson, 2003. 2 2. R. Pressman. Engenharia de Software. Pearson Education, 2004. 3. W. de Pádua Paula Filho, Engenharia de Software, LTC, 2003. 4. S. Pfleeger, Engenharia de Software Teoria e Prática, Makron Books, 2004. 5. S. Schach, ObjectOriented and Classical Software Engineering, McGrawHill, 2002. 1. D. Halliday, D. Resnick, R. J. Walker, Fundamentos de Física, Volume 2. J. Orear, Fundamentos de Física, Volume 2, LTC, 1981. 1. P. O. Boaventura Neto, Grafos: Teoria, Modelos, Algoritmos, Edgard Blucher, 2006. 2. J. L. Szwarcfiter, Grafos e Algoritmos Computacionais, Campus, 1984. 5 5 2 5 2 2 2 5 2 2 2 5 5 2 2 5 2 5 5 5 2 2 5 2 5 2 5 5 79 Arquitetura e Organização de Computadores II 3. T. H. Cormen, C. E. Leiserson, R. L. Rivest, C. Stein, Algoritmos, Teoria e Prática, Campus, 2002. 4. J. L. Gross, J. Yellen, Handbook of Graph Theory, CRC Press, 2003. 5. G. Chartrand, O. L. Oellermann, Applied and Algorithmic Graph Theory, McGraw Hill, 1992. 1. J. Hennessy, D. Patterson, Arquitetura de Computadores: Uma Abordagem Quantitativa, Campus, 2003. 2. D. Patterson, J. Hennessy, Organização e projeto de Computadores: A Interface hardware/Software, Campus 2005. 3. A. Tanenbaum, Organização Estruturada de Computadores, Pearson, 2006. 4. W. Stallings, Arquitetura e Organização de Computadores, Prentice Hall, 2002. 5. D. Smith, HDL Chip Design, Doone, 1998. 6. V. Sagdeo, The Complete Verilog Book, Springer, 1998. 2 2 2 5 5 2 2 2 2 ANO 3 No terceiro ano do curso deve se iniciar a aquisição do material bibliográfico das UCs de formação específica. A bibliografia será definida ao longo do processo de implantação do curso, e será validada mediante aprovação do colegiado. Unidade Curricular Formação Específica Sistemas Operacionais Teoria de Linguagens Matemática Computacional Software Básico Bibliografia 1. Referência Básica a ser Definida 2. Referência Complementar a ser Definida 1. A. Tanenbaum, Sistemas Operacionais Modernos, Prentice-Hall, 2003. 2. A. Silberschatz, P. B. Galvin, G. Greg, Sistemas Operacionais Conceitos e Aplicações. Campus, 2000. 3. S. S. Toscani, R. S. Oliveira, A. S. Carissimi, Sistemas Operacionais, Sagra Luzzato, 2004. 1. N. Vieira, Introdução aos Fundamentos da Computação: Linguagens e Máquinas, Pioneira Thomson Learning, 2006. 2. J. Hopcroft, R. Motwani, J. Ullman, Introduction to Automata Theory, Languages, and Computation, Addison-Wesley, 2006. 3. J. Martin, Introduction to Languages and the Theory of Computation, McGraw-Hill, 2002. 4. P. B. Menezes, Linguagens Formais e Autˆomatos, Sagra-Luzzatto, 2002. 1. M. S. Bazaraa, J. J. Jarvis, H. D. Sherali, Linear Programming and Network Flows, Wiley-Interscience, 2004. 2. M. C. Goldbarg, H. P. Luna, Otimização combinatória e programação linear : modelos e algoritmos, Campus, 2005. 3. E. L. de Andrade, Introdução à pesquisa operacional : métodos e modelos para a análise de decisão, LTC, 2000. 1. J. Levine, Linkers and Loaders, Morgan-Kaufmann, 2000. 2. A. Tanenbaum, Organização Estruturada de Computadores, Pearson, 2006. 3. K. Irvine, Assembly Language for Intel-Based Computers, Prentice-Hall, 2006. Qt. 25 10 5 5 2 5 5 2 2 5 5 2 5 5 2 80 Interação Homem Computador Compiladores Banco de Dados Redes de Computadores I Processamento Digital de Imagens 1. J. Preece, Human-Computer Interaction, Addison-Wesley, 1994. 5 2. Y.Rogers, H. Sharp, J. Preece, Interaction Design: Beyond Human-Computer Interaction, John Wiley & Sons. 3. S. Johnson, Cultura da Interface, Jorge Zahar, 2001. 4. D. Hix, H. Hartson, Developing User Interfaces: Ensuring Usability through Product & Process, John Wiley and Sons, 1993. 1. A. J. Aho, R. Sethi, J. D. Ullman, Compiladores: Princípios, Técnicas e Ferramentas, Guanabara Koogan, 1995. 2. P. B. Menezes, Linguagens Formais e Autˆomatos, Sagra-Luzzatto, 2002. 3. C. Jacobs, K. Langendoen, H. E. Bal, D. Grune, Projeto Moderno de Compiladores: Implementação e Aplicações, Campus, 2001. 1. A. Silberschatz, H. F. Korth, S. Sudarshan, Sistema de Bancos de Dados, Campus, 2006. 2. R. Elmasri, S. B. Navathe, Fundamentals of Database Systems, Addison-Wesley, 2006. 1. A. Tanenbaum, Redes de Computadores, Campus, 2003. 2. G. Dollimore, J. Kindberg, T. Coulourisg, Distributed systems : concepts and design, Addison-Wesley, 2005. 3. J. Kurose, K. Ross, Redes de Computadores e a Internet - Uma Nova Abordagem, Addison-Wesley, 2006. 4. D. E. Comer, Internetworking with TCP/IP Volume II: ANSI C Version: Design, Implementation, and Internals, Prentice Hall, 1998. 5. D. E. Comer, Internetworking with TCP/IP Volume III: Client-Server Programming and Applications, Linux/Posix Sockets Version, Prentice Hall, 2000. 1. R. Gonzalez, R. Woods, Digital Image Processing, Prentice-Hall, 20.6. 2. A. Jain. Fundamentals of Digital Image Processing. Prentice Hall, 1988. 5 Bibliografia 1. J. Foley, A. van Dam, S. Feiner, J. Hughes, Computer Graphics: Principles and Practice in C, Addison-Wesley, 1995. . J. Gomes, L. Velho, Fundamentos de Computação Gráfica, IMPA, 2003. 3. A. Watt, 3D Computer Graphics, Addison-Wesley, 1999. 1. Russel, S., Norvig, P., Artificial Intelligence - A Modern Approach, Prentice Hall, 1995. 2. J. Hair Jr, R. Anderson, R. Tatham, W. Black, Análise Multivariada de Dados, Artmed, 2005. 3. L. Kuncheva, Combining Pattern Classifiers: Methods and Algorithms, Wiley-Interscience, 2004. 4. T. Mitchell, Machine Learning, McGraw Hill, 1997. 5. S. O. Rezende, Sistemas Inteligentes: Fundamentos e Aplicações, Manole, 2003. Qt. 5 2 2 5 2 2 5 5 5 2 2 2 2 5 5 ANO 4 Unidade Curricular Computação Gráfica Inteligência Artificial 5 2 5 2 2 2 2 81 Fatores Humanos em Sistemas Computacionais 6. I. H. Witten, E. Frank, Data Mining: Practical Machine Learning Tools and Techniques with Java Implementations. Morgan Kaufmann, 1999. 1. Masiero, P. C, Ética em Computação, USP, 2000. 2 5 2. D. G. Johnson, H. Nissenbaum. Computers, ethics and social values, 5 Prentice-Hall 1995. 82 Anexo F: Planejamento da Utilização do Espaço Físico e Aquisição de Equipamentos Segue abaixo o planejamento de utilização do espaço físico e compra de equipamentos ao longo do período de implantação do curso. Semestres I e II 1 sala para secretaria 1 sala de reuniões 5 gabinetes de professores 1 sala para gerência de recursos computacionais Sala pequena para coordenação de curso Total 10m2 10m2 10m2 20m2 10m2 100m2 Semestres III e IV 1 sala grande para aulas 1 sala de seminários Laboratório de Hardware 1 salas de reuniões 1 laboratório de alunos de graduação Total 50m2 50m2 40m2 10m2 50m2 200m2 Semestres V e VI 1 sala grande para aulas 1 laboratório de alunos de graduação 5 gabinetes de professores 5 salas para laboratórios de pesquisa do curso 1 sala de reuniões 1 laboratório para aulas e projetos de extensão Total 50m2 50m2 10m2 40m2 10m2 40m2 400m2 Semestres VII e VIII 1 sala grande para aulas 1 laboratório de alunos de graduação 5 gabinetes de professores 5 salas para laboratórios de pesquisa do curso 1 sala de seminários Laboratório de vídeo Total 50 m2 50 m2 10 m2 40 m2 50 m2 40 m2 440 m2 83 Semestres IX e X 1 sala grande para aulas 1 laboratório de alunos de graduação 5 gabinetes de professores 5 salas para laboratórios de pesquisa do curso 1 laboratório para aulas e projetos de extensão Total 50 m2 50 m2 10 m2 40 m2 40 m2 390 m2 Total - 1530 m2. 84 Anexo G: Planejamento de Gastos por Ano Previsão de custo dos equipamentos e acessórios por semestre do curso. Semestres I e II Quantidade 7 2 7 2 1 1 1 2 1 10 10 10 Valor total: Especificação Computador de médio porte Mobiliário e computador para secretaria Computador de grande porte Switch Gibabit Ethernet Máquina de Xerox Digital Impressora a laser de grande capacidade Impressora a laser colorida Notebook Projetor Licença Software Windows+Office Licença Software modelagem 3D Licença Software edição áudio/vídeo Custo unitário (R$) 2.500,00 5.000,00 10.000,00 2.000,00 20.000,00 5.000,00 3.000,00 5.000,00 5.000,00 1.500,00 1.000,00 1.000,00 Custo Total (R$) 17.500,00 10.000,00 70.000,00 4.000,00 20.000,00 5.000,00 3.000,00 10.000,00 5.000,00 15.000,00 10.000,00 10.000,00 179.500,00 Semestres III e IV Quantidade 2 2 15 15 1 1 15 1 1 15 15 30 1 1 Valor total: Especificação Computador de médio porte Tela e projetor Módulo de sistemas digitais Módulo de microprocessadores Osciloscópio Analisador lógico Kit de ferramentas Estação de solda Multímetro Protoboard com fonte Kit de lógica programável (FPGA) Computador para laboratório Impressoras a laser de médio porte Estrutura de rede (Switches e roteadores) Custo unitário (R$) 2.500,00 6.000,00 2.000,00 2.000,00 5.000,00 10.000,00 100,00 1.000,00 200,00 150,00 1.000,00 1.500,00 1.500,00 2.000,00 Custo Total (R$) 5.000,00 12.000,00 30.000,00 30.000,00 10.000,00 10.000,00 1.500,00 2.000,00 3.000,00 2.250,00 10.000,00 45.000,00 1.500,00 2.000,00 164.250,00 Semestres V e VI Quantidade 40 2 2 6 2 Valor total: Especificação Computador para laboratório Impressoras a laser de médio porte Estrutura de rede (Switches e roteadores) Computador de médio porte Tela e projetor Custo unitário 1.500,00 1.500,00 2.000,00 2.500,00 6.000,00 13.500 C 6 3 4 1 1 9 85 Semestres VII e VIII Quantidade 30 1 1 7 2 1 Valor total: Especificação Computador para laboratório Impressoras a laser de médio porte Estrutura de rede (Switches e roteadores) Computador de médio porte Tela e projetor Laboratório de vídeo Custo unitário (R$) 1.500,00 1.500,00 2.000,00 2.500,00 6.000,00 50.000,00 Custo Total (R$) 45.000,00 1.500,00 2.000,00 17.500,00 12.000,00 50.000,00 128.000,00 Custo unitário (R$) 1.500,00 1.500,00 2.000,00 2.500,00 6.000,00 Custo Total (R$) 60.000,00 3.000,00 4.000,00 15.000,00 12.000,00 94.000,00 Semestres IX e X Quantidade 40 2 2 6 2 Valor total: Especificação Computador para laboratório Impressoras a laser de médio porte Estrutura de rede (Switches e roteadores) Computador de médio porte Tela e projetor 86 Referências [1] Abel Raimundo de Moraes Silva, Antonio Carlos Guimarães, José Antonio Baêta Zille. Proposta de Criação de Curso Apresentada à Universidade Federal de São João del-Rei, 2005. [2] ACM - Association for Computing Machinery. ACM Curricula Recommendation, 2005. [3] Brasil. Lei de diretrizes e bases da educação nacional, lei 9394 de 20/12/1996, 1996. [4] IEEE - Computer Society of the Institute for Electrical and Electronic Engineers. Curricula 2001, 2001. Computing [5] MEC - Ministério da Educação e Cultura. Diretrizes Curriculares de Cursos da Área de Computação e Informática, 1999. [6] SBC - Sociedade Brasileira de Computação. Curriculum de Referência para os Cursos da Área de Computação e Informática - CR99, 1999. [7] SBC - Sociedade Brasileira de Computacão. Currículo de Referência da SBC para Cursos de Graduação em Bacharelado em Ciência da Computação e Engenharia de Computação, 2005. 87