Curso: Ciência da Computação | Currículo Vigente: 98AJ | ||
CARGA HORÁRIA | 3210 | ||
CRÉDITOS | 206 | ||
DURAÇÃO | 8 semestres | ||
TURNO | Manhã / Noite* | ||
VAGAS | Vagas 1° semestre | 60 | |
Vagas 2° semestre | 90 | ||
DISCIPLINAS ELETIVAS: total de carga horária no curso | 360 | ||
ATIVIDADES COMPLEMENTARES: total de horas no curso | 120 | ||
ESTÁGIO: Carga horária total do Estágio | 0 | ||
ATOS LEGAIS DO CURSO | |||
Ato de aprovação do currículo em vigor (PUCRS) | Resolução nº 003 | Data | 28/04/2020 |
Ato do último reconhecimento do curso (MEC) | Portaria nº 919 | D.O.U | 28 de dezembro de 2018 |
Diretrizes Curriculares Nacionais vigentes | Resolução CNE/CES nº 5 | D.O.U | 17 de novembro de 2016 |
O perfil do egresso do curso em Ciência da Computação define o conjunto de competências e habilidades que se pretende que os alunos desenvolvam ao longo do curso. O perfil definido neste documento é baseado nas novas diretrizes curriculares nacionais (Barone, 2012), novas recomendações da ACM-IEEE para currículos em Ciência da Computação (Sahami and Roach, 2013) e em discussões conduzidas pelo Núcleo Docente Estruturante (NDE) do Bacharelado em Ciência da Computação da Escola Politécnica. Além de habilitado para atuação em um mercado crescente de indústrias de hardware e software que requerem conhecimento especializado nas subáreas da Computação contempladas pelo curso, o egresso terá aprofundada compreensão de conceitos necessários para o tratamento de realidades complexas e concepção de sistemas modernos. Como exemplos, podemos mencionar sistemas de processamento e análise de dados, altamente distribuídos, de alto desempenho, pervasivos, gráficos, embarcados, críticos, entre outros, já em surgimento e com tendência de aumento em sua demanda. Competências O egresso do curso de Bacharelado em Ciência da Computação deve apresentar um perfil que inclua as seguintes competências:
Uma discussão mais detalhada sobre o significado dessas competências é apresentada logo abaixo. Ao final de cada item, entre parênteses, são relacionadas as principais competências e habilidades apresentadas nas Diretrizes Curriculares Nacionais (DCN) para cursos de Graduação em Computação homologadas pela Resolução No 5 de 16/11/2016 do Ministério da Educação e Cultura tratadas em cada item.
Formação sólida em Ciência da Computação Por Ciência da Computação entendemos uma série de conhecimentos que podem ser organizados em diversas grandes áreas, a saber: Lógica e Estruturas Discretas, Fundamentos de Desenvolvimento de Programas e Engenharia de Software, Linguagens Formais e Teoria dos Autômatos, Computabilidade e Complexidade Computacional, Algoritmos e Estruturas de Dados, Linguagens de Programação, Arquitetura e Organização de Computadores, Sistemas Operacionais, Projeto de Interfaces com o Usuário, Computação Gráfica e Processamento de Imagens, Bancos de Dados e Recuperação da Informação, Inteligência Artificial, Ciência Computacional, Computação Concorrente, Paralela e Distribuída, Redes de Comunicação e Segurança da Informação além de Interpretadores e Compiladores (artigo 4o, parágrafo 1o, incisos I e III; artigo 5o, inciso III e parágrafo 1o).
Domínio dos Fundamentos Teóricos da Computação e de sua Influência na Prática Profissional O egresso deve desenvolver ao longo do curso a capacidade de apreciar a importância tanto de práticas corretas para o desenvolvimento de sistemas computacionais quanto da compreensão das limitações teóricas da computação e a capacidade analítica que as questões teóricas da computação ajudam a desenvolver. Estes fundamentos teóricos incluem a descrição de modelos matemáticos de sistemas concorrentes, paralelos e distribuídos; a utilização da linguagem da matemática discreta para a descrição de componentes de software, suas interfaces e conexões; o uso da linguagem e do cálculo da lógica formal para a especificação da funcionalidade de algoritmos, além do uso de modelos computacionais que permitem estudar quais problemas podem, em princípio, ser resolvidos de forma algorítmica. Essas competências são exploradas nos eixos formativos Eixo 1 (Fundamentos teóricos) e Eixo 6 (Computação Distribuída e em Rede) (artigo 4o, parágrafo 1o, inciso IV; artigo 5o, incisos II, IV e parágrafo 1o).
Análise e Resolução de Problemas através do Pensamento Computacional A capacidade de pensar criticamente está na essência da educação universitária e envolve uma grande variedade de habilidades cognitivas como identificar, avaliar e analisar argumentos válidos e alegações (supostamente) verdadeiras (Bassham et al., 2011). Em outras palavras é a competência em raciocinar de acordo com padrões intelectuais bem definidos como por exemplo, clareza, precisão, exatidão, relevância, imparcialidade, coerência e correção lógica. Esta é uma competência para raciocinar com palavras (Hurley, 2012, Corbett and Connors, 1998). Pensar como um cientista da computação significa muito mais do que programar um computador. É necessário pensar em diversos níveis de abstração. O pensamento computacional envolve a solução de problemas, o projeto de sistemas além da compreensão do comportamento humano aproveitando os conceitos fundamentais da Ciência da Computação. De acordo com Jeannette Wing (Wing, 2006), o pensamento computacional capitaliza sobre a força e os limites dos processos associados a computação em geral. É pensar recursivamente. É julgar um programa não apenas por sua correção e eficiência, mas também por sua estética. É também avaliar um projeto de um sistema por simplicidade e elegância. Pensar computacionalmente é utilizar a abstração e a decomposição de forma sistemática no ataque de tarefas complexas ou no projeto de sistemas extensos e complexos. É escolher uma representação apropriada para um problema ou modelar os aspectos relevantes de um problema para torná-lo tratável. É pensar em termos de prevenção, proteção e recuperação dos piores casos possíveis através de redundância, correção de erros e contenção de danos. Pensamento computacional é aprender a usar heurísticas para descobrir uma solução. É planejar, aprender e agendar na presença de incerteza. Os eixos formativos Eixo 2 (Algoritmos e Programação) e Eixo 4 (Especificação e Construção de Sistemas) exploram estas competências desde o conceito de pensamento computacional à capacidade de construção de sistemas complexos (artigo 4o, inciso VII e parágrafo 1o, inciso V; artigo 5o, incisos I, VIII e parágrafo 1o).
Familiaridade com Projetos de Média e Larga Escala O domínio de técnicas fundamentais de solução de problemas muitas vezes parte de enunciados simplificados como estudos de caso. Enquanto este tipo de abordagem se justifica do ponto de vista didático, ela não pode ser considerada suficiente para sozinha formar um profissional em Ciência da Computação. Desta forma, o egresso deve ter a capacidade de aplicar seu conhecimento técnico e capacidade de solução de problemas em projetos de maior porte que podem implicar tanto no aumento da complexidade das soluções algorítmicas ou tecnológicas como na gestão de trabalho em equipe. Neste sentido, deve apresentar conhecimento tanto teórico e tecnológico como capacidade de liderança que lhe permita conduzir equipes na busca das melhores soluções. Em seu perfil o estratégico deve se sobrepor ao operacional, sendo capaz de descrever e justificar objetivamente o projeto, suas etapas, as principais decisões e suas consequências (artigo 4o, parágrafo 1o, inciso VI; artigo 5o, incisos XI, XII).
Capacidade de abordar conhecimentos de outros domínios além da Ciência da Computação Computadores e suas aplicações estão presentes em larga escala nos mais variados aspectos do mundo atual. Esta realidade oferece um amplo espectro de oportunidades, muitas das quais estreitamente relacionadas a outros domínios do conhecimento. Frequentemente, soluções computacionais exigirão do profissional da Computação a capacidade de interagir com diferentes áreas, buscando compreender a melhor forma de empregar suas habilidades e competências para auxiliar e resolver problemas a partir de uma percepção e atuação transdisciplinar. Neste cenário, é importante que o egresso tenha consciência da necessidade de estar apto a comunicar-se com especialistas de outras áreas e a aprender conceitos de diferentes domínios do conhecimento durante sua vida profissional. Esta transdisciplinaridade ocorre naturalmente nas disciplinas integradoras de curso (Pesquisa, Engenharia de Software e Trabalho de
Consciência da Importância da Criatividade e Inovação na Formação e Atividade Profissional Inovação é uma das formas de movimentar a economia. Os negócios mais bem-sucedidos nos próximos anos serão resultado do balanceamento entre domínio analítico e originalidade intuitiva, combinados em uma interação dinâmica chamada de design thinking (Martin, 2009). De forma simplista, trata-se de converter ciência em tecnologia e tecnologia em negócio. É a capacidade de perceber oportunidades de aplicar o conhecimento, não apenas na solução de problemas ou demandas, mas mesmo de gerar demandas onde ninguém percebe uma necessidade em particular (Mota, 2009). Na área da Computação, a possibilidade de converter ideias em negócios sem a necessidade de grandes investimentos ou intermediários já é motivação para arriscar empreender. Inovação, por outro lado, é também motivação para estimular o viés científico e o pensamento computacional, ainda que com um olhar criativo, que permite perceber formas diferentes de aplicar o conhecimento ou de analisar um problema. A criatividade é antes de tudo um pensamento divergente e, desta forma, justifica-se como um dos principais pilares para a inovação (Henessy, 2008) (artigo 4o, incisos III, IV e VII; artigo 5o, inciso IV).
Aplicação do Método Científico e Uso de Técnicas de Pesquisa e Fluência na Comunicação Científica (Escrita) Resumidamente, ciência pode ser compreendida como a observação e organização sistemática de fatos sobre condições e eventos associados a qualquer fenômeno de interesse (natural ou não) com o objetivo e formular leis e princípios sobre estes fatos. Todas as ciências caracterizam-se pela utilização de métodos científicos e embora a utilização de métodos científicos não seja de uso exclusivo da ciência, sabemos que não há ciência sem o emprego de métodos científicos. Entendemos pesquisa como o processo sistemático para coleta e análise de informação com o objetivo de aumentarmos nossa compreensão do fenômeno em estudo. Tipos importantes de pesquisa científica incluem básica, aplicada, exploratória, correlacional, explanatória e descritiva. A fluência na comunicação, por sua vez, envolve a preparação de documentos e apresentações técnico/científicas sobre conteúdos que estejam baseados sobre conceitos matemáticos, lógicos e de computação. Em especial, fluência na escrita de documentos técnico/científicos é fundamental na Ciência da Computação e envolve questões relacionadas a estrutura, formato, mecânica, linguagem, voz, ilustrações e o uso adequado de referências (Zobel, 2005). A proficiência na escrita científica pode ser atingida através de estudo e prática. Em especial, possui dois objetivos claros: informar e persuadir o leitor (Alley, 1996). A disciplina de Metodologia Científica, já no primeiro semestre, inicia o desenvolvimento destas competências, e é trabalhada em especial nas disciplinas do eixo de formação 7 (Metodologia e Integração) (artigo 5o, incisos VII e X).
Consciência sobre a Importância da Educação Continuada A educação continuada se dá no processo de formação constante, em seguir sempre aprendendo, de aprender em serviço, juntando teoria e prática, refletindo sobre a própria experiência, ampliando-a com novas informações e relações. Considerar a educação continuada como opção implica em acreditar em projetos mais amplos que, incorporam sem ser objeto de estudo, o homem dentro de si mesmo, capaz de adquirir conhecimentos, desenvolver habilidades e competências. A educação continuada no contexto da Computação torna possível atender as exigências de atualização em um ambiente no qual o ritmo dos avanços tecnológicos é intenso. É preciso constância na aprendizagem e no desenvolvimento de competências e habilidades; envolvimento em atividades de desenvolvimento profissional tais como certificações, gestão da formação e obtenção de conhecimento de domínio específico. A educação à distância é um segmento da educação continuada que se oferece como opção importante para manter a atualidade da formação profissional através da gestão de sua própria aprendizagem. Ao logo do curso os alunos são colocados em contato com diversas atividades pedagógicas e eventos acadêmicos com temas relevantes em pesquisa, desenvolvimento e novas tecnologias (palestras, workshops, minicursos) que nem sempre são tratados no curso e evidenciam a necessidade de aprendizagem contínua no mundo atual (artigo 4°, inciso VI; artigo 5°, incisos VI e IX).
Comprometimento com a Responsabilidade Social e Profissional O homem deve ser ético, ou seja, deve ter consciência dos valores morais de conduta na sociedade e da sua profissão, devendo agir de acordo com tais valores. No caso profissional, a ética é um conjunto de regras expressas em um Código de Conduta, elaborado pelos conselhos de classe. No caso da inexistência de tal código ou conselho, espera-se que o egresso seja capaz de agir conforme os valores morais da sociedade em que está inserido (artigo 4o, incisos I e II). |
Os candidatos aos cursos da PUCRS podem valer-se das seguintes modalidades de acesso: Concurso Vestibular, Vestibular Complementar, Transferência, Ingresso mediante diploma de curso superior ou PROUNI. Existe, também, a possibilidade de ingresso como estudante-convênio, dentro do limite de vagas estabelecido no respectivo convênio. A mudança de curso por reopção poderá ser solicitada pelo aluno mediante oferta prevista em edital, e poderá ser concedida, na existência de vaga, pelo Coordenador do curso a que está vinculado o curso pretendido.
VEJA AQUI MAIS INFORMAÇÕES SOBRE AS FORMAS DE ACESSO AO CURSO |
De acordo com o Regimento Geral da PUCRS, o sistema de avaliação define-se conforme descrito abaixo: Art. 78 – O aproveitamento escolar semestral do aluno em uma disciplina, denominado G1, é expresso por um grau de 0 (zero) a 10,0 (dez), com uma casa decimal.
Art. 79 – O aluno está aprovado na disciplina quando obtém grau G1 igual ou superior a 7,0 (sete) e frequência mínima de 75% (setenta e cinco por cento) da carga horária total da disciplina. Parágrafo único – O resultado do grau G1 deve ser divulgado para os alunos no prazo de até 2 (dois) dias úteis após a última aula da disciplina, prevista no calendário acadêmico da Universidade. |
Em consonância com as novas diretrizes curriculares da SBC, os currículos de Ciência da Computação não possuem disciplinas de estágio/prática profissional. |
Nome da Disciplina
Carga Horária
Nível
|
|
---|---|
CÁLCULO I
60
1
|
|
FUNDAMENTOS DE PROGRAMAÇÃO
90
1
|
|
INTRODUÇÃO À COMPUTAÇÃO
30
1
|
|
MATEMÁTICA DISCRETA
60
1
|
|
METODOLOGIA CIENTÍFICA
30
1
|
|
ÉTICA E CIDADANIA
60
1
|
|
ALGORITMOS E ESTRUTURAS DE DADOS I
60
2
|
|
BANCO DE DADOS I
60
2
|
|
CÁLCULO II
60
2
|
|
DISCIPLINAS ELETIVAS
360
2
|
|
FUNDAMENTOS DE SISTEMAS DIGITAIS
60
2
|
|
LÓGICA PARA COMPUTAÇÃO
60
2
|
|
PROGRAMAÇÃO ORIENTADA A OBJETOS
60
2
|
|
ALGORITMOS E ESTRUTURAS DE DADOS II
60
3
|
|
BANCO DE DADOS II
30
3
|
|
LINGUAGENS, AUTÔMATOS E COMPUTAÇÃO
60
3
|
|
ORGANIZAÇÃO E ARQUITETURA DE PROCESSADORES
60
3
|
|
PROBABILIDADE E ESTATÍSTICA
60
3
|
|
PROGRAMAÇÃO DE BAIXO NÍVEL
60
3
|
|
PRÁTICA EM PESQUISA
60
3
|
|
COMPUTAÇÃO GRÁFICA
60
4
|
|
Engenharia de Software I
60
4
|
|
FUNDAMENTOS DE DESENVOLVIMENTO DE SOFTWARE
60
4
|
|
FUNDAMENTOS DE PROCESSAMENTO PARALELO E DISTRIBUÍDO
60
4
|
|
INFRAESTRUTURA PARA GESTÃO DE DADOS
60
4
|
|
PROGRAMAÇÃO FUNCIONAL
30
4
|
|
ÁLGEBRA LINEAR E GEOMETRIA ANALÍTICA
60
4
|
|
ENGENHARIA DE SOFTWARE II
30
5
|
|
EXPERIÊNCIA DO USUÁRIO
60
5
|
|
MÉTODOS NUMÉRICOS
60
5
|
|
PROJETO DE DESENVOLVIMENTO DE JOGOS
60
5
|
|
PROJETO E OTIMIZAÇÃO DE ALGORITMOS
60
5
|
|
SISTEMAS OPERACIONAIS
60
5
|
|
TEORIA DA COMPUTABILIDADE E COMPLEXIDADE
60
5
|
|
FUNDAMENTOS DE REDES DE COMPUTADORES
60
6
|
|
INTELIGÊNCIA ARTIFICIAL
60
6
|
|
LABORATÓRIO DE REDES DE COMPUTADORES
30
6
|
|
LABORATÓRIO DE SISTEMAS OPERACIONAIS
60
6
|
|
MÉTODOS FORMAIS PARA COMPUTAÇÃO
60
6
|
|
PRÁTICA EM ENGENHARIA DE SOFTWARE
60
6
|
|
APRENDIZADO DE MÁQUINA
60
7
|
|
CONSTRUÇÃO DE COMPILADORES
60
7
|
|
REDES DE COMPUTADORES AVANÇADAS
60
7
|
|
SIMULAÇÃO E MÉTODOS ANALÍTICOS
60
7
|
|
TRABALHO DE CONCLUSÃO I
30
7
|
|
ATIVIDADES COMPLEMENTARES
120
8
|
|
COMPUTAÇÃO PARALELA
60
8
|
|
HUMANISMO E CULTURA RELIGIOSA
60
8
|
|
SEGURANÇA DE SISTEMAS
60
8
|
|
SISTEMAS DISTRIBUÍDOS
60
8
|
|
TRABALHO DE CONCLUSÃO II
30
8
|