Pontifícia Universidade Católica do Rio Grande do Sul

Cursos,Especialização,Extensão,MBA,Idiomas,Educação,Vestibular,Pós-Graduação,Educação

Cursos

Graduação

Pós-Graduação

MBA

Vestibular

Curso de Ciência da Computação

1. Dados do Curso
Curso: Ciência da Computação Currículo Vigente: 4606
CARGA HORÁRIA 3200
CRÉDITOS 206
DURAÇÃO 8 semestres
TURNO manha
VAGAS Vagas 1° semestre 80
Vagas 2° semestre 40
DISCIPLINAS ELETIVAS: total de créditos no curso 150
ATIVIDADES COMPLEMENTARES: total de horas no curso 110
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
2. Perfil do Egresso

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:

  • Formação Sólida em Ciência da Computação;
  • Domínio dos Fundamentos Teóricos da Computação e de sua Influência na Prática Profissional;
  • Análise e Resolução de Problemas através do Pensamento Computacional;
  • Familiaridade com Projetos de Média e Larga Escala
  • Capacidade de Abordar Conhecimentos de outros Domínios além da Ciência da Computação
  • Consciência da Importância da Criatividade e Inovação na Formação e Atividade Profissional
  • Aplicação do Método Científico e Uso de Técnicas de Pesquisa e Fluência na Comunicação Científica (Escrita)
  • Consciência sobre a Importância da Educação Continuada
  • Comprometimento com a Responsabilidade Social e Profissional.

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
Conclusão de Curso), bem como outras disciplinas de projetos e solução de problemas, onde o aluno é confrontado com problemas reais das mais diversas áreas (artigo 4o, inciso V e parágrafo 1o incisos II e VI).

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).

3. Forma de Acesso ao Curso

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

4. Sistema de avaliação do processo de ensino e aprendizagem

O sistema de avaliação é estabelecido conforme o Regimento Geral da PUCRS.

 

ESTATUTO E REGIMENTO GERAL

5. Estágio Curricular

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.

6. Curriculo Completo
Nome da Disciplina
Carga Horária
Nível
Cálculo I
60
1

Disciplina em implantação

Fundamentos de Programação
90
1

Disciplina em implantação

Introdução à Ciência da Computação
60
1

Disciplina em implantação

Lógica I
60
1

Disciplina em implantação

Matemática Discreta
60
1

Disciplina em implantação

Metodologia Científica e Escrita para Computação
60
1

Disciplina em implantação

Algoritmos e Estrutura de Dados I
60
2

Disciplina em implantação

Cálculo II
60
2

Disciplina em implantação

Disciplina Eletiva
150
2

Disciplina eletiva: o horário da disciplina e o docente que a lecionará, dependera da escolha feita pelo aluno no momento de sua matrícula.

Fundamentos de Sistemas Digitais
60
2

Disciplina em implantação

Lógica para Computação
60
2

Disciplina em implantação

Matemática Concreta
60
2

Disciplina em implantação

Programação Orientada a Objetos
60
2

Disciplina em implantação

Algoritmos e Estrutura de Dados II
60
3

Disciplina em implantação

Linguagens Formais e Autômatos
60
3

Disciplina em implantação

Organização e Arquitetura de Computadores I
60
3

Disciplina em implantação

Programação Funcional
60
3

Disciplina em implantação

Programação de Baixo Nível
30
3

Disciplina em implantação

Técnicas de Programação
60
3

Disciplina em implantação

Álgebra Linear e Geometria Analítica
60
3

Disciplina em implantação

Disciplina Integradora I (Lógica e Programação)
30
4

Disciplina em implantação

Engenharia de Software
60
4

Disciplina em implantação

Fundamentos de Banco de Dados
60
4

Disciplina em implantação

Modelos para Computação Concorrente
30
4

Disciplina em implantação

Organização e Arquitetura de Computadores II
60
4

Disciplina em implantação

Probabilidade e Estatística
60
4

Disciplina em implantação

Teoria da Computabilidade e Complexidade
60
4

Disciplina em implantação

Disciplina Integradora II (Iniciação Científica)
30
5

Disciplina em implantação

Engenharia de Software Orientada a Modelos
60
5

Disciplina em implantação

Fundamentos de Computação Gráfica
60
5

Disciplina em implantação

Métodos Formais para Computação
60
5

Disciplina em implantação

Métodos Numéricos
60
5

Disciplina em implantação

Projeto e Otimização de Algoritmos
60
5

Disciplina em implantação

Sistemas Operacionais
60
5

Disciplina em implantação

Disciplina Integradora III (Especificação e Contrução de Sistemas)
30
6

Disciplina em implantação

Fundamentos de Inteligência Artificial
60
6

Disciplina em implantação

Humanismo e Cultura Religiosa
60
6

Disciplina em implantação

Implementação de Sistemas de Bancos de Dados
60
6

Disciplina em implantação

Interpretação de Linguagens de Programação
60
6

Disciplina em implantação

Introdução à Redes de Computadores
60
6

Disciplina em implantação

Laboratório de Sistemas Operacionais
60
6

Disciplina em implantação

Computação Paralela
60
7

Disciplina em implantação

Construção de Compiladores
60
7

Disciplina em implantação

Laboratório de Redes de Computadores
30
7

Disciplina em implantação

Projeto e Implementação de Sistemas Interativos
60
7

Disciplina em implantação

Redes de Computadores Avançadas
60
7

Disciplina em implantação

Simulação e Métodos Analíticos
60
7

Disciplina em implantação

Atividades Complementares (110 horas)
110
8

Disciplina em implantação

Disciplina Integradora IV (Trabalho de Conclusão)
30
8

Disciplina em implantação

Empreendimentos Empresariais
60
8

Disciplina em implantação

Projeto de Desenvolvimento de Jogos
60
8

Disciplina em implantação

Sistemas Distribuídos
60
8

Disciplina em implantação

Sistemas Inteligentes Autônomos
60
8

Disciplina em implantação

Ética e Cidadania
60
8

Disciplina em implantação

Dados atualizados até 23/09/2020