Computação Online
Disciplinas do Guia de AutoestudoComputação Online – Disciplinas
Esta página faz o detalhamento das disciplinas sugeridas para o Curso de Computação Online, um guia para quem quer estudar sozinho com aulas gratuitas disponíveis em diferentes plataformas da internet.
Se você está começando agora, visite a página principal: Computação Online – Guia de Autoestudo para Ciência da Computação.
As disciplinas foram divididas em quatro áreas:
- Matemática
- Software
- Hardware
- Complementar
A seção “Porque fazer” explica a importância daquela disciplina na formação em Ciência da Computação.
Por que tantas disciplinas da Univesp?
Você vai notar que boa parte das disciplinas sugeridas como primeira opção são oferecidas pela Univesp (Universidade Virtual do Estado de São Paulo).
Fizemos essa opção porque praticamente todas as disciplinas básicas são oferecidas online pela universidade gratuitamente.
Mas se preferir fazer um curso oferecido por outra universidade, em “Alternativas” apresentamos as opções disponíveis sobre o mesmo tópico. Entretanto, nem sempre tem outra opção, somente a disciplina da Univesp.
Disciplinas da Área de Matemática
Revisão de Matemática (Opcional)
Porque fazer: faça este curso se quiser revisar conceitos matemáticos que você não estudou recentemente, pois serão a base para outras disciplinas.
Pré-requisitos: não tem
Conteúdo: Lógica; Conjuntos numéricos; Grandezas proporcionais; Frações e porcentagens; Potenciação; Notação científica; Raízes em R; Logaritmos; Gráficos de funções; Polinômios; Produtos notáveis; Fatoração; Matrizes; Funções polinomiais; Equações e inequações; Trigonometria; Números complexos.
Alternativas:
Cursos da Khan Academy – Todos os cursos começam com um desafio que ajuda a identificar os tópicos que precisam ser revisados.
Cálculo I
Univesp – Samuel Rocha Oliveira e Adolfo Maia Jr.
Porque fazer: Cálculo é a parte da matemática em que se estudam mudanças e movimento, limites e áreas. A principal diferença entre a matemática estudada no colégio e a que você vai estudar em Cálculo é a presença do infinito, que agora passa a ter um papel importante.
O entendimento do Cálculo precisa do entendimento de conceitos completamente diferentes daqueles que você estudou até agora: as noções de limite e infinitesimais.
As noções básicas do cálculo aparecem em toda parte, e suas aplicações são tão vastas e diversas que fluência em Cálculo é essencial para uma carreira de sucesso em ciência e engenharia.
O conteúdo de cada curso nem sempre tem uma aplicação direta. Às vezes, serve como treinamento para você desenvolver determinado tipo de raciocínio.
Você pode ser beneficiar indiretamente de um curso de Cálculo, aprendendo a raciocinar e explicar argumentos com rigor técnico. Isso é mais valioso do que os alunos normalmente pensam.
Aplicação do Cálculo:
- O cálculo é usado para derivar a regra delta, que é o que permite que alguns tipos de redes neurais ‘aprendam’.
- O cálculo pode ser usado para calcular a transformada de Fourier de uma função oscilante, muito importante na análise de sinais.
- O cálculo é usado o tempo todo em computação gráfica, que é um campo muito ativo, pois as pessoas descobrem continuamente novas técnicas.
- O cálculo é importante no campo da geometria computacional, investiga a modelagem de curvas e superfícies.
- Análise de algoritmos, onde você usa a noção de limite desde o início.
Finalmente, você precisará de Cálculo para interagir com pessoas de outras Ciências e Engenharia Exatas. E não é incomum que um cientista da computação precise não apenas falar, mas também trabalhar em conjunto com um físico ou um engenheiro.
Pré-requisitos: não tem
Conteúdo: Funções de uma variável real; Limites de funções; Limites de sequências numéricas; Derivadas; Integrais; Aplicações.
Alternativas:
Cálculo I – Univesp – Claudio Possani
Cálculo I – USP – Alexandre Lymberopoulos
Cálculo I – UNICAMP – Renato Pedrosa
Cálculo Infinitesimal – UFRJ – Felipe Acker
Geometria Analítica
Porque fazer: A Geometria Analítica é a área da matemática que analisa elementos da geometria em um plano cartesiano.
O plano cartesiano é um plano de coordenadas contendo duas retas perpendiculares; nele conseguimos representar elementos da geometria analítica, como pontos, retas, circunferências, entre outros.
Na geometria analítica há o desenvolvimento de conceitos importantes, tornando possível algebrizar os objetos geométricos e descrevê-los por meio de equações, como a equação da reta e a equação da circunferência.
Além disso, existem fórmulas para encontrar a distância entre dois pontos, o ponto médio de um segmento, entre outros.
Aplicação da Geometria Analítica:
- GPS (Global Positioning System): o GPS, tão popular e tão útil para nós, tem suas bases na geometria analítica.
- Computação gráfica: A geometria analítica é um dos princípios da computação gráfica e graças a essa disciplina é possível criamos/editarmos imagens, além de desenvolvermos objetos tridimensionais através de programas de modelagem 3D.
É interessante notar que a Geometria Analítica aparece quando uma impressora 3D é utilizada, pois para que um objeto em 3 dimensões seja impresso, é necessário que ele seja previamente criado em um programa de modelagem.
A Geometria Analítica e a Álgebra Linear são disciplinas fortemente conectadas. Desse modo, podemos verificar que elas fazem uma ponte entre os ramos da Álgebra e da Geometria.
OBS: O curso sugerido agrega duas disciplinas, Geometria Analítica e Álgebra Linear. Abaixo indicamos um curso alternativo apenas de Geometria Analítica.
Pré-requisitos: não tem
Conteúdo: Sistemas Lineares; Vetores; Operações; Bases; Sistemas de Coordenadas; Distância: Norma e Ângulo; Produtos Escalar e Vetorial; Retas no Plano e no Espaço; Planos; Posições Relativas, Interseções Distância e Ângulos; Circulo e Esfera; Coordenadas Polares, Cilíndricas e Esféricas; Seções Cônicas, Classificação; Espaços Vetoriais Reais; Subespaços; Base e Dimensão; Transformações Lineares e Matrizes; Núcleo e Imagem; Projeções; Autovalores e Autovetores; Produto Interno; Matrizes Reais Especiais; Diagonalização.
Alternativa:
Geometria Analítica e Vetores – Unicamp – Ricardo Miranda Martins
Cálculo Vetorial e Geometria Analítica – UFRJ – Felipe Acker
Álgebra Linear
Porque fazer: A Álgebra Linear é o ramo da matemática que estuda os espaços vetoriais, ou espaços lineares, além de funções lineares que associam vetores entre dois espaços vetoriais.
A Álgebra Linear é praticamente onipresente na indústria da Informática. Através dela, empresas podem tomar decisões de negócios, governos podem estudar o crescimento e as mudanças em uma população e as indústrias podem projetar novos produtos através de softwares de CAD e de programas que utilizem conceitos de vetores e de Geometria Analítica.
Se você gosta de jogos, verá que a Matemática e a Física – que nada mais é do que uma representação matemática das leis da Natureza – são obrigatórias no desenvolvimento dos títulos mais elaborados.
Aplicação da Álgebra Linear:
- Manipulação de imagens: Se você gosta de computação gráfica e/ou já utilizou softwares de edição de imagem, você já mexeu com a álgebra linear sem nem ao menos saber. Pois ampliar ou diminuir figuras, mudar sua cor, girar a imagem, dentre diversas outras funcionalidades desses softwares são aplicações da álgebra linear, pois todas essas funções, no fim do dia, são operações lineares.
- Método dos Mínimos Quadrados (MMQ): este método é muito útil para a construção de gráficos que utilizam dados experimentais, pois um uso para este método é ajustar a curva que melhor se adequa a todos os dados. O método foi utilizado pela primeira vez por Carl Friedrich Gauss no fim do século XVIII.
- Pesquisas de crescimentos populacional
- Criação de redes elétricas
- Modelos econômicos de Leontief
- Jogos de estratégia
OBS: O curso sugerido agrega duas disciplinas, Geometria Analítica e Álgebra Linear. Abaixo indicamos cursos alternativos apenas de Álgebra Linear.
Pré-requisitos: não tem
Conteúdo: Sistemas Lineares; Vetores; Operações; Bases; Sistemas de Coordenadas; Distância: Norma e Ângulo; Produtos Escalar e Vetorial; Retas no Plano e no Espaço; Planos; Posições Relativas, Interseções Distância e Ângulos; Circulo e Esfera; Coordenadas Polares, Cilíndricas e Esféricas; Seções Cônicas, Classificação; Espaços Vetoriais Reais; Subespaços; Base e Dimensão; Transformações Lineares e Matrizes; Núcleo e Imagem; Projeções; Autovalores e Autovetores; Produto Interno; Matrizes Reais Especiais; Diagonalização.
Alternativas:
Álgebra Linear I – USP – Claudio Possani
Álgebra Linear – UFRJ – Felipe Acker
2015 / 2018 / Exercícios
Matemática Discreta
Univesp – Claudio Possani e Joyce Bevilacqua
Porque fazer: Matemática Discreta, também chamada matemática finita, é o estudo das estruturas algébricas que são fundamentalmente discretas, em vez de contínuas.
A palavra “discreta”, nesta situação, tem origem no inglês “discrete”, significando “diferente”, “distinta” e não seu sentido habitual.
O nome se refere ao fato de tratar-se de funções cujas imagens possuem valores que não variam gradualmente como em funções contínuas, mas assumem valores distintos abruptamente com a mudança do elemento do domínio considerado.
Em contraste com os números reais, que têm a propriedade de variar “suavemente”, os objetos estudados na matemática discreta – como números inteiros, grafos e afirmações lógicas – não variam suavemente, mas têm valores distintos separados.
As pesquisas em matemática discreta aumentaram na segunda metade do século XX, sendo parte devido ao desenvolvimento de computadores digitais que operam em passos discretos e armazenam dados em bits discretos.
Os conceitos e notações da matemática discreta são úteis para estudar e descrever objetos e problemas em ramos da ciência da computação, tais como algoritmos de computador, linguagens de programação, criptografia, prova automática de teoremas e desenvolvimento de software.
Em Ciência da Computação, certifique-se de colocar algum esforço em matemática discreta. Existem muitos problemas de programação no mundo real em que a matemática discreta entra em jogo e a ignorância de seus princípios pode constrangê-lo na frente de outros programadores.
Aplicação da Matemática Discreta:
Tópico de Matemática Discreta / Aplicação em Ciência da Computação
Lógica e Conjuntos / Sistemas Especialistas (IA)
Relações e funções / Bancos de dados relacionais, Algoritmos distribuídos
Análise combinatória / Análise de algoritmos
Grafos não-dirigidos / Linguagens e “parsing”
Grafos dirigidos / Algoritmos de roteamento em redes
Álgebra booleana / Projeto de circuitos digitais
Teoria de grupo / Teoria da informação
Autômato de estados finitos / Modelo computacional para resolução de problemas
em geral
Probabilidade / Análise de algoritmos
Pré-requisitos: não tem
Conteúdo: Conceitos básicos de matemática discreta e de lógica para computação. Técnicas de provas, indução matemática. Relações e conceitos de teoria de grafos. Modelagem de problemas usando grafos.
Alternativas: não tem
Cálculo Numérico
Univesp – Leônidas de Oliveira Brandão
Porque fazer: O objetivo central do Cálculo Numérico é estudar técnicas (ou métodos) numéricas para obter soluções de problemas que possam ser representados por modelos matemáticos.
Estudar Cálculo Numérico pressupõe escrever algoritmos e analisá-los, claro, mas também implementá-los, executá-los, testá-los com diferentes conjuntos de dados.
O Cálculo Numérico pode ser uma área profunda mas, em seu nível mais simples, pode ajudar a resolver problemas matemáticos que aparecem quando você desenvolve diferentes tipos de software. Alguns exemplos são:
- Sistemas que predizem coisas
- Simulações
- Sistemas que analisam o comportamento do usuário
- Sistemas que calculam a decisão mais segura a ser tomada com base em dados numéricos
- Alguns algoritmos relacionados à computação gráfica
- Alguns algoritmos usados em videogames para fazer a IA tomar decisões inteligentes
As aplicações não são tão comuns quanto os casos de “construir um site / aplicativo móvel”, mas quando aparecem, são muito interessantes.
Pré-requisitos: Introdução à Programação
Conteúdo: Aritmética de Ponto Flutuante; Zeros de Funções Reais; Sistemas Lineares; Interpolação Polinomial; Integração Numérica; Quadrados Mínimos Lineares; Tratamento Numérico de Equações Diferenciais Ordinárias.
Alternativas: não tem
Estatística
Porque fazer: Estatística é a ciência que utiliza as teorias probabilísticas para explicar a frequência da ocorrência de eventos, tanto em estudos observacionais quanto em experimentos para modelar a aleatoriedade e a incerteza, de forma a estimar ou possibilitar a previsão de fenômenos futuros, conforme o caso.
A estatística é uma ciência que se dedica à coleta, análise e interpretação de dados. Preocupa-se com os métodos de recolha, organização, resumo, apresentação e interpretação dos dados, assim como tirar conclusões sobre as características das fontes donde estes foram retirados, para melhor compreender as situações.
Algumas práticas estatísticas incluem, por exemplo, o planejamento, a sumarização e a interpretação de observações. Dado que o objetivo da estatística é a produção da melhor informação possível a partir dos dados disponíveis, alguns autores sugerem que a estatística é um ramo da teoria da decisão.
Em tempos de big data, não precisamos falar mais nada sobre a importância dessa disciplina.
Pré-requisitos: não tem
Conteúdo: Fundamentos da Estatística; Coleta e Apresentação de Dados; Medidas de Posição e Dispersão, População e Amostra; Séries; Distribuição de Frequência; Correlação e Regressão; Estimação; Técnicas de Amostragem; Probabilidades; Testes de Hipóteses; Aplicações.
Alternativa:
Disciplinas da Área de Software
Sistemas de Informação (opcional)
Porque fazer: Essa disciplina mostra de forma bem abrangente os diferentes tipos de Sistemas de Informação e vários outros temas relacionados à Computação. Embora esteja classificada como opcional, o conteúdo é bastante interessante e útil para quem quer conhecer melhor essa área.
Pré-requisitos: não tem
Conteúdo: Contextualização dos Sistemas de Informação: Visão da Administração e da Informática; Sistemas de Informações Gerenciais; Sistemas de Apoio à Decisão; Arquitetura e Componentes; Arquitetura Cliente-Servidor; Segurança em Sistemas de Informação; Sistemas Virtuais: Armazenagem e Processamento em Nuvem; Negócios na Era da informação; Impactos na Sociedade; Ética e Aspectos Jurídicos; Avaliação; Análise e Projeto de Sistemas.
Alternativas: não tem
Introdução à Programação
Este curso também está disponível no Coursera, onde você pode desfrutar do material didático completo e da correção automática de quizes e exercícios de programação em Python. Se quiser, pode pagar um valor simbólico e receber um certificado após concluir com sucesso os exercícios:
Introdução à Ciência da Computação com Python (Parte 1) – USP – Fábio Kon
Introdução à Ciência da Computação com Python (Parte 2) – USP – Fábio Kon
Porque fazer: É aqui que a festa começa. Nem é preciso explicar porque você deve fazer essa disciplina, né?
OBS: O curso do Fábio Kon também é oferecido no Coursera, indicado abaixo como alternativa.
Pré-requisitos: não tem
Conteúdo: Instalação do Python; Variáveis e Scripts; Valores e tipos; Tipos booleanos e precedência de valores; Condicionais; Repetições; Funções; Testes automatizados; Coleções; Listas; Objetos na memória; Matrizes; Strings; Programação orientada a objeto; Busca sequencial; Algoritmos e comparação de desempenho; Busca binária; Recursão.
Alternativas:
Programação de Computadores com Java – Univesp – Norton Trevisan Roman e Luciano Digiampietri
Introdução à Programação com Java – UFPE – Ricardo Massa F. Lima e Sérgio C. B. Soares
Estrutura de Dados
Univesp – Luciano A. Digiampietri
Porque fazer: Estrutura de dados é o ramo da computação que estuda os diversos mecanismos de organização de dados para atender aos diferentes requisitos de processamento.
As estruturas de dados definem a organização, métodos de acesso e opções de processamento para a informação manipulada pelo programa.
Nem pense na remota hipótese de não fazer essa disciplina. Absolutamente fundamental para entender como a mágica funciona.
Pré-requisitos: Introdução à Programação
Conteúdo: Estruturas básicas para representação de informações: listas, árvores, grafos e suas generalizações. Algoritmos para construção, consulta e manipulação de tais estruturas. Desenvolvimento, implementação e testes de programas usando tais estruturas em aplicações específicas.
Alternativas: não tem
Programação Orientada a Objetos
Univesp – Karina Valdivia Delgado
Porque fazer: A Programação Orientada a Objetos (POO) não é uma linguagem de programação, mas é um paradigma de programação. O que muda é a forma de programar, representando objetos que possuem características e ações.
Atualmente, a maioria das tecnologias utilizadas no mercado usa os conceitos de POO, tais como: Java, C#.NET, VB.NET, JavaScript, Python, PHP, entre outras, por isso é tão importante conhecer os conceitos desse paradigma.
Pré-requisitos: Introdução à Programação; Estrutura de Dados
Conteúdo: Conceitos básicos e avançados de programação orientada a objetos. Aplicação dos conceitos usando uma linguagem orientada a objetos.
Alternativa:
Laboratório de Programação Orientada a Objetos – USP – Fábio Kon
Banco de Dados
Univesp – Sarajane Marques Peres
Porque fazer: Um banco de dados é uma coleção de dados que se relacionam entre si. Entre as principais habilidades adquiridas num curso sobre esse assunto estão: modelar conceitos e a lógica de bancos de dados; gerenciar o sistema e interligá-lo com a linguagem de programação.
A modelagem do banco de dados pode definir o sucesso ou o fracasso de um projeto. Lembre-se disso.
Pré-requisitos: Introdução à Programação; Estrutura de Dados
Conteúdo: Modelagem de dados: modelos conceituais, modelo E-R e suas variações. O modelo relacional: normalização e manutenção da integridade. Linguagens: cálculo e álgebra relacional. Arquitetura de sistemas de bancos de dados. Mecanismos de proteção. Recuperação. Segurança. Controle de concorrência. Noções de bancos de dados distribuídos.
Alternativa:
Engenharia de Software
Porque fazer: Nesta disciplina você aprende sobre as etapas do desenvolvimento de software, o que o software deve fazer, a definição da solução computacional para esse software e a programação do software propriamente dito, além de testes e manutenção.
Pré-requisitos: Introdução à Programação; Estrutura de Dados
Conteúdo: Paradigmas da Engenharia de Software. Levantamento de Dados. Técnicas e ferramentas de especificação dos requisitos do usuário e do sistema. Métodos de análise e projeto de sistemas de informação. Implementação de sistemas de informação.
Alternativas: não tem
Análise de Algoritmos
Univesp – Karina Valdivia Delgado
Porque fazer: A análise de algoritmos estuda a correção e o desempenho de algoritmos. Em outras palavras, a análise de algoritmos procura respostas para perguntas do seguinte tipo:
- Este algoritmo resolve o meu problema?
- Quanto tempo o algoritmo consome para processar uma ‘entrada’ de tamanho n?
“Programar um computador” não é simplesmente colocar alguns comandos expressos na sintaxe de uma linguagem de programação, modificá-los e rearranjá-los até que se obtenha algum resultado esperado. A essência da programação e da computação é a elaboração e análise de algoritmos.
Pré-requisitos: Introdução à Programação; Estrutura de Dados; Matemática Discreta
Conteúdo: Técnicas de projeto e análise de algoritmos. Algoritmos de ordenação. Algoritmos em grafos. Redução entre problemas. Complexidade computacional. Classes de problemas. Problemas NP-completos.
Alternativas: não tem
Sistemas Operacionais
Porque fazer: Sem um sistema operacional, um computador é inútil. O sistema operacional gerencia todos os recursos do computador, ou seja, tanto os programas (software) quanto as partes que o compõe (hardware).
Entre os sistemas operacionais mais comuns que existem estão o Microsoft Windows, o Mac OS X e o Linux.
Imagine então o quanto é fundamental para um estudante da área de computação aprender detalhadamente como funciona um sistema operacional.
Matéria obrigatória em qualquer currículo de curso de computação.
Pré-requisitos: Introdução à Programação; Estrutura de Dados; Organização de Computadores
Conteúdo: Conceito de processos: concorrências, regiões críticas, escalonamento. Conceitos de espaços de endereçamento e de gerenciamento de memória virtual, paginação, segmentação. Sistemas de arquivos: hierarquia, proteção, organização, segurança. Gerenciamento de Entrada/Saída. Estudos de casos.
Alternativas: não tem
Compiladores
Univesp – Ricardo Luís de Azevedo da Rocha
Porque fazer: Um compilador é um tradutor. É um programa de computador (ou um grupo de programas) que, a partir de um código fonte escrito em uma linguagem de programação, cria um programa semanticamente equivalente, porém escrito em linguagem de máquina, o código objeto.
Essa disciplina mostra como funciona esse programa, a gramática usada na construção de um compilador, como funcionam as fases de análise léxica, sintática e semântica.
Pré-requisitos: Introdução à Programação; Estrutura de Dados; Organização de Computadores; Sistemas Operacionais; Programação Orientada a Objetos
Conteúdo: Linguagens de programação e análise léxica; Análise sintática descendente e ascendente; Código intermediário; Ambientes de execução; Geração de código; Otimização
Alternativas: não tem
Redes de Computadores
Porque fazer: Rede de computadores é um conjunto de dois ou mais dispositivos eletrônicos de computação interligados por um sistema de comunicação digital, guiados por um conjunto de regras (protocolo de rede) para compartilhar entre si informação, serviços e, recursos físicos e lógicos.
Nesse curso você vai aprender como as redes funcionam e como são projetadas.
Pré-requisitos: Introdução à Programação; Estrutura de Dados; Organização de Computadores; Sistemas Operacionais
Conteúdo: Rede de Computadores e a Internet. Modelo OSI. Protocolo TCP/IP: Camada de aplicação; Camada de transporte; Camada de rede; Camada de enlace e redes locais. Redes sem fio e redes móveis. Tecnologias xDSL. Equipamentos e cabeamento de uma rede de computadores. Planejamento e Metodologia de Projeto de Rede de Computadores. Requisitos e Avaliação de um Estudo de Caso. Seleção de Infraestrutura. Gerenciamento e Segurança de Rede. Prova de conceito e revisão do projeto. Plano de implementação. Atividades práticas envolvendo o projeto, a operação, a configuração e o gerenciamento de redes de computadores.
Alternativas: não tem
Disciplinas da Área de Hardware
Organização de Computadores
Porque fazer: Mescla conteúdo das disciplinas Organização Básica e Assembly (software) e Arquitetura de Computadores (hardware). Isso vai aprofundar seu conhecimento sobre o funcionamento dos computadores, de forma a melhorar suas habilidades de desenvolvedor de software.
Pré-requisitos: Introdução à Programação; Estrutura de Dados
Conteúdo: Introdução à organização de computadores e representação de informação na memória. Estudo do conjunto de instruções de processadores RISCs e CISCs. Desenvolvimento, implementação e testes de programas usando linguagens e montagem.
Alternativas: não tem
Circuitos Lógicos
Porque fazer: Circuitos lógicos são definidos como circuitos eletrônicos que empregam a utilização de sinais elétricos em apenas dois níveis de corrente para definir a representação de valores binários.
Tais circuitos baseiam seu funcionamento na lógica binária, que consiste no fato de que toda informação deve ser expressa na forma de dois dígitos: 0 (zero) ou 1 (um).
Nesta disciplina você vai entender como funciona o cérebro do computador.
Pré-requisitos: Introdução à Programação; Estrutura de Dados
Conteúdo: Conceitos lógicos. Circuitos básicos. Minimização de funções Booleanas. Sistemas de numeração. Aritmética binária. Códigos. Circuitos a contato. Síntese de circuitos combinacionais. Circuitos de memória. Circuitos sequenciais. Projeto de circuitos sequenciais. Considerações sobre a velocidade de operação dos circuitos digitais. Experimentos correlatos.
Alternativa:
Disciplinas Complementares
Sistemas Distribuídos
Porque fazer: Um sistema de processamento distribuído ou paralelo é um sistema que interliga vários nós de processamento (computadores individuais, não necessariamente homogéneos) de maneira que um processo de grande consumo seja executado no nó “mais disponível”, ou mesmo subdividido por vários nós.
A principal vantagem desse tipo de solução é o fato de que uma tarefa qualquer, se dividida em várias subtarefas, pode ser realizada em paralelo.
Nesta disciplina você vai aprender os conceitos básicos sobre sistemas distribuídos, como as diferentes partes (processos) se comunicam, e como controlar esses processos.
Pré-requisitos: Introdução à Programação; Estrutura de Dados; Organização de Computadores; Sistemas Operacionais
Conteúdo: Sistemas Distribuídos. Comunicação entre processos. Sistemas de arquivos. Serviços de nomes. Coordenação. Replicação. Segurança.
Alternativas: não tem
Segurança da Informação
Porque fazer: Segurança da informação é fundamental para garantir a segurança de dados armazenados ou em trânsito na Internet contra ataques cibernéticos.
Pré-requisitos: Introdução à Programação; Estrutura de Dados; Organização de Computadores; Sistemas Operacionais
Conteúdo: Definição de serviços de segurança da informação; Modelos de segurança; Política de segurança; Caracterização da segurança como um processo e não como um produto; o ciclo contínuo de uma política de segurança: Análise de risco, requisitos de segurança, definição da política, implantação da política, acompanhamento e auditoria; Mecanismos criptográficos de segurança; Criptografia de chaves públicas: seu uso em certificação Digital; ICP-Brasil; Mecanismo de autenticação: senhas e segredos, tokens e cartões, Biometria; Vírus e sistemas Antivírus; Sistemas de detecção de intrusão (IDS); Arquitetura de sistemas de Firewall; Redes Privadas Virtuais (VPN).
Alternativas:
Information Security (legendas em português) – University of London
Interação Humano/Computador
USP – Artur Vilas Boas e André Leme Fleury
Porque fazer: A Interação Humano/Computador é o estudo da interação entre pessoas e computadores. É uma matéria interdisciplinar que relaciona a ciência da computação, artes, design, ergonomia, psicologia, sociologia, semiótica, linguística, e áreas afins.
A interação entre humanos e máquinas acontece através da interface do utilizador, formada por software e hardware.
O foco em qualidade tem sido uma diretriz bastante utilizada por empresas de software, de forma que a satisfação do usuário e a usabilidade dos produtos de software são requisitos primordiais nos processos de qualidade, como parte da estratégia empresarial para criação de valor e potencial competitivo.
Pré-requisitos: Introdução à Programação; Estrutura de Dados
Conteúdo: Como conhecer o seu usuário; Usabilidade e Prototipação rápida; Arquitetura de informação e wireframe; Princípios de design; Acessibilidade e multi plataforma; Elementos de interface do usuário; Linguagem da empresa, lidando com o cliente e copyright; Monitoração, Mensuração e Teste
Alternativa: não tem