Pular para o conteúdo

Zanatta Desenvolvimento

Zanatta
Início » Sem categoria » 10 melhores cursos de informatica em 2023

10 melhores cursos de informatica em 2023

curso de informatica

Você está procurando as melhores introduções à ciência da computação? Classifiquei os melhores cursos disponíveis online, seguindo uma metodologia robusta. E todos eles são livres para auditar. Você pode ler sobre isso abaixo.

Mas se você estiver com pressa, aqui estão as minhas principais escolhas. Clique em um para pular para os detalhes do curso:

Classificação e CursoCarga de trabalhoem resumo
1. Introdução à Ciência da Computação do CS50 (Harvard)100-200 horasPesquisa abrangente e de alta qualidade do CS.
2. Pensamento Computacional para Resolução de Problemas (Penn)70 horasObtendo a mentalidade e métodos de resolução de problemas.
3. Introdução à Ciência da Computação e Programação Usando Python (MIT)80-140 horasPesquisa abrangente de CS através das lentes do Python.
4. Princípios de Computação (Arroz)40 horasVisão geral prática dos fundamentos do CS, como probabilidades.
5. Ciência da Computação 101 (Stanford)36 horasLevantamento dos principais tópicos de CS, incluindo networking.
6. Como os computadores funcionam no Coursera (UoL)40 horasVista de baixo para cima do funcionamento do computador.
7. Entendendo a Tecnologia do CS50 (Harvard)36 horasNoções básicas de tecnologia, se você não estiver pronto para o CS50 principal.
8. Introdução à Ciência da Computação Teórica (Udacity)25 horasTeoria da complexidade e da computabilidade.
9. Matemática para Ciência da Computação (UoL)40 horasVisão geral matemática abrangente para CS.
10. Matemática para Ciência da Computação (Universidade de Hull)9 horasÓtima introdução matemática se você está começando do zero.

O que é Ciência da Computação?

A definição de ciência da computação é quase tão ampla quanto a definição de física. Então, dizer que a ciência da computação é o estudo de computadores e conceitos de computação é tão ‘útil’ quanto dizer que a física é o estudo da natureza e seus fenômenos.

Em vez disso, direi a você os principais subcampos da ciência da computação que a maioria das universidades inclui em seus programas.

  • A arquitetura e organização de computadores ingenuamente pondera: ‘Como faço para projetar um computador?’
  • A programação avança e questiona: ‘Mas como o computador entenderá o humano?’
  • Sistemas operacionais intervém: ‘Espere, como o humano deve interagir com o computador?’
  • Estruturas de dados e algoritmos perguntam: ‘Depois de descobrir isso, como armazenamos e computamos dados com eficiência?’
  • A rede e a comunicação esperam educadamente antes de perguntar: ‘Então está tudo bem, mas como podemos fazer os computadores falarem uns com os outros?’

Você começa a essência. Tenho certeza de que você já teve um desses pensamentos intrigantes em sua mente antes. Felizmente, essas são as perguntas que a ciência da computação tenta responder.

Ao estudar ciência da computação, você pode se tornar um programador melhor. Assim como é provável que um veterinário entenda os animais melhor do que o dono médio de um animal de estimação, ao estudar ciência da computação, você pode obter uma melhor compreensão dos recursos, habilidades e limitações dessas incríveis máquinas de execução de código que chamamos de ‘computadores’.

Metodologia de classificação do curso

Eu segui um processo de três etapas para construir este ranking:

Primeiro , deixe-me apresentar-me. Faço parte do Class Central , o principal mecanismo de busca de cursos online. Eu ( @elham ) construí este ranking em colaboração com meu amigo e colega @manoel , seguindo a mesma abordagem que usamos com algum sucesso em nossos rankings anteriores dos melhores cursos de Python e melhores cursos de aprendizado de máquina . Neste ponto, eu diria que é um método bastante robusto.

Começamos a construir esse ranking analisando nosso banco de dados de mais de 50 mil cursos online . Estávamos interessados ​​em coisas como classificações, avaliações e marcadores de cursos. Isso nos permitiu fazer uma seleção inicial. Portanto, esta fase foi puramente orientada por dados.

Esse primeiro passo provisório ajudou rapidamente a trazer à tona algumas das melhores opções disponíveis. O boca a boca é muito eficaz no aprendizado online. Bons cursos são notados. E os melhores chamam muita atenção e elogios.

Dito isto, as revisões nem sempre contam toda a história. Na verdade, alguns cursos são tão bons em chamar a atenção desde o início que outros recursos excelentes podem passar despercebidos. Então, o próximo passo foi trazer nosso conhecimento pessoal de educação online para a mistura.

Em segundo lugar , usamos nossa experiência como aprendizes on-line para avaliar cada uma de nossas escolhas iniciais.

Ambos temos formação em ciência da computação e somos aprendizes online prolíficos, tendo completado cerca de 45 MOOCs entre nós. Além disso, Manoel é bacharel online em Ciência da Computação , e atualmente estou concluindo minha formação em Ciência da Computação.

Manoel reuniu os cursos enquanto eu escrevia o artigo que você está lendo. Ao longo desse processo, trocamos ideias e fizemos melhorias iterativas no ranking até ficarmos ambos satisfeitos com o resultado final.

Terceiro , durante nossa pesquisa, encontramos cursos que pareciam bem feitos, mas não eram muito conhecidos. Se adotássemos uma abordagem puramente centrada em dados, teríamos que deixar esses cursos fora do ranking, mesmo que apenas porque tivessem menos matrículas e classificações.

Mas não. Este ranking é deliberadamente opinativo e holístico. Quando nos sentimos confiantes de que valia a pena incluir um curso, mesmo quando o curso ainda não tivesse tantas avaliações quanto alguns de seus concorrentes, seguimos nosso instinto e o incluímos.

Também incrementamos a lista incluindo uma ampla variedade de cursos de ciência da computação que esperamos atender a uma gama diversificada de alunos, seja você um verdadeiro iniciante ou alguém com alguns fundamentos em ciência da computação ou interesse em tópicos específicos como matemática .

Depois de passar por esse processo – combinando dados do Class Central, nossa experiência como aprendizes ao longo da vida e muita edição – chegamos à nossa classificação final. Até agora, passamos mais de 10 horas construindo esse ranking e pretendemos continuar atualizando-o no futuro.

Estatísticas de classificação do curso

Aqui estão algumas estatísticas agregadas sobre o ranking:

  • No total, os cursos deste ranking acumularam mais de 5 milhões de matrículas, com 2 cursos com mais de 1 milhão de matrículas cada.
  • O curso mais popular da lista tem 3,5 milhões de matrículas.
  • Todos os cursos neste ranking são totalmente gratuitos ou gratuitos para auditoria.
  • Com 4 cursos cada, edX e Coursera estão empatados no fornecedor mais representado neste ranking.
  • Cerca de 480 mil pessoas estão participando dos Cursos de Ciência da Computação no Class Central .

Sem mais delongas, vamos às principais escolhas.

1. Introdução à Ciência da Computação do CS50 (Universidade de Harvard)

Banner-2
Instrutor do curso Prof. Malan com seus alunos

Minha primeira escolha deve ser a Introdução à Ciência da Computação do CS50 , oferecida pela Universidade de Harvard no edX. Lançado na edX em 2012, o CS50 é o curso de informática na internet. É famosa por sua esplêndida qualidade de produção e suas atualizações anuais de currículo.

Ele fornece uma visão geral sucinta, mas abrangente, do que é a ciência da computação. Se você é um novato que nunca ouviu falar de ‘Hello World!’, ou um programador que sabe uma ou duas coisas sobre computadores, você sairá deste curso tendo aprendido algo novo.

Uma coisa a notar

Embora os exercícios do curso venham em duas versões, fácil e desafiador, descobri que mesmo os exercícios fáceis podem ser um pouco complicados. Se você não sabe nada sobre programação, eu recomendo que você encontre alguém para estudar este curso.

Felizmente, o CS50 tem uma das maiores e mais ativas comunidades de cursos online: verifique o Discord deles .

Ou se você estiver procurando por um curso mais curto e prático, você pode querer dar uma olhada no meu ranking Python , que inclui algumas rampas mais suaves para o mundo da programação.

O instrutor

Não podemos discutir CS50 sem mencionar David J. Malan , o professor de Harvard que ministra o curso. Raramente um instrutor foi tão importante para o sucesso de um curso.

Além de ser um excelente educador, o Prof. Malan é um verdadeiro animador, com entrega quase perfeita. E quando você está lidando com um curso acadêmico que pode levar dezenas de horas para ser concluído, ter um instrutor capaz de capturar a atenção do aluno faz uma enorme diferença.

Portanto, se, apesar de um desejo sincero de aprender, você adormecer enquanto faz cursos on-line, esse pode ser o curso para você. A energia do Prof. Malan é contagiante!

O que você vai aprender

O curso começa com a premissa de que a ciência da computação é, em sua essência, a resolução de problemas. Ele apresenta o binário, a linguagem fundamental dos computadores, e explica como sequências de 1s e 0s podem de alguma forma representar texto, imagens, vídeos e até sons.

Você aprenderá que os algoritmos são instruções passo a passo projetadas para resolver um problema. Os tipos mais comuns de algoritmos com os quais você lidará ao longo do curso são algoritmos para classificação e pesquisa , como classificação por bolha, classificação por mesclagem e pesquisa binária.

Você pode se perguntar: ‘Qual é o sentido de ter muitos algoritmos diferentes se todos eles fazem a mesma coisa?’. É quando você aprenderá a medir a eficiência de um algoritmo com a notação Big O .

A primeira linguagem de programação que o curso ensina é a linguagem amigável para iniciantes Scratch. Através da codificação baseada em blocos, você usará o Scratch para ilustrar conceitos fundamentais de programação como funções, instruções condicionais, expressões booleanas, loops e variáveis.

Mais adiante no curso, você notará que esses conceitos fundamentais continuam surgindo repetidamente, pois podem ser encontrados em praticamente todas as linguagens de programação que o CS50 ensinará a você.

O curso então remove suas rodinhas e o arrasta para as profundezas das linguagens de programação de baixo nível. Por “baixo nível”, não quero dizer “menos valioso”. Em ciência da computação, linguagens de programação de baixo nível são linguagens que estão próximas do código de máquina: quanto mais próximas estão do código de máquina, mais “inferiores” elas são.

A linguagem assembly é o mais próximo que chegamos do binário, e o curso irá discuti-la brevemente. Mas nosso primeiro mergulho profundo na programação tradicional (escrever linhas de código em vez de organizar blocos coloridos como no Scratch) será com C, uma linguagem de programação de baixo nível onde você gerenciará a memória manualmente e implementará suas primeiras estruturas de dados.

Você aprenderá que os computadores armazenam dados em sequências de locais na memória e como os computadores podem localizar e acessar dados com endereços e ponteiros. Você também aprenderá sobre as diferentes maneiras pelas quais podemos criar e armazenar listas de valores, como matrizes, listas vinculadas e árvores.

Você comparará as vantagens e desvantagens de cada estrutura de dados. Por exemplo, tabelas de hash podem ser acessadas em tempo constante, mas exigem a redução do risco de colisão de dados.

Você será trazido de volta à superfície para a programação de “nível superior”, onde poderá respirar confortavelmente enquanto começa a trabalhar com Python e continua pulando de tópico em tópico.

Você explorará o SQL, a linguagem de programação de muitos bancos de dados. As semanas finais do curso culminam na construção e design de um site interativo com HTML, CSS, JavaScript e uma estrutura Python chamada Flask.

Como você vai aprender

O curso tem dez semanas de duração, além de um projeto final aberto que pode levar uma semana extra (ou mais, se você quiser trabalhar em algo realmente ambicioso).

O curso é gravado anualmente no campus de Harvard antes de ser lançado online na primavera seguinte. Enquanto a gravação estiver em andamento, você poderá participar por transmissão ao vivo com centenas de outros alunos ou, se morar perto do campus, até comparecer pessoalmente – embora a pandemia possa impedir isso no futuro próximo. Caso contrário, você terá acesso a gravações sob demanda no edX ou via Harvard OCW .

Em relação às avaliações, você completará dez conjuntos de problemas, oito laboratórios e um projeto final de final de curso que você terá que projetar e criar você mesmo ou com uma equipe. Você poderá codificar e enviá-los por meio de um conveniente editor baseado em VS Code no navegador.

InstituiçãoUniversidade de Harvard
FornecedoredX
InstrutoresDavid J. Malan, Brian Yu
NívelPrincipiante
Carga de trabalhoTotal de 100 a 200 horas
Inscrições3,4 milhões
CertificadoGratuito e pago (veja abaixo)

Linha CS50

Muitas pessoas já ouviram falar da Introdução à Ciência da Computação do CS50, mas poucos percebem que existem outros 10 cursos sob a marca CS50. Alguns cursos complementares que merecem destaque são:

  • Introdução à Inteligência Artificial com Python
  • Introdução ao desenvolvimento de jogos
  • Programação Web com Python e JavaScript

O que é ainda melhor: muitos desses cursos oferecem certificado gratuito. Se você quiser saber mais sobre os cursos CS50 e como obter um certificado gratuito, você pode ler o guia CS50 do Manoel .

Curiosidades

  • O instrutor do curso David J. Malan ensina CS50 há 15 anos , primeiro no campus em Harvard e no edX desde 2012 .
  • O CS50 foi marcado cerca de 30 mil vezes e tem mais de 100 avaliações no Class Central.
  • Todos os anos, a CS50 organiza o Puzzle Day , uma competição amigável de resolução de problemas onde você terá a oportunidade de colaborar com alunos de todo o mundo.
  • O CS50 faz parte da nossa lista dos cursos mais populares de todos os tempos e dos melhores cursos gratuitos de todos os tempos .
  • David J. Malan foi o fundador e presidente da Diskaster, uma empresa de recuperação de dados de discos rígidos e cartões de memória. Um dos exercícios do curso é uma referência ao seu trabalho anterior .
  • O CS50 é o curso mais longo deste ranking, devido à sua abrangência.

Se você estiver interessado neste curso, você pode encontrar mais informações sobre o curso e como se inscrever aqui .

2. Pensamento Computacional para Resolução de Problemas (Universidade da Pensilvânia)

Banner-7
Os instrutores do curso, Susan Davidson e Chris Murphy

Minha segunda escolha seria Pensamento Computacional para Resolução de Problemas da Universidade da Pensilvânia no Coursera.

Este curso se concentra nas habilidades subjacentes à ciência da computação – pensamento computacional.

O pensamento computacional é o processo de dividir um problema em partes e, em seguida, chegar a um método de resolução que pode ser realizado por um computador.

Depois de adotar o pensamento computacional, você estará na mentalidade certa para enfrentar cursos adicionais de ciência da computação. Então você pode ver este curso como uma fundação antes da fundação. Dito isto, se o seu interesse está na resolução de problemas em si, em vez de CS como um todo, este curso também deve ser uma ótima opção.

Você não precisa de nenhuma experiência prévia com ciência da computação ou programação para fazer este curso, embora alguma matemática básica do ensino médio seja útil.

O que você vai aprender

O curso abrange quatro tópicos principais: pensamento computacional, algoritmos, arquitetura de computadores e Python.

Primeiro, o curso descreve os quatro pilares do pensamento computacional. Você começará com a decomposição, dividindo um problema complexo em problemas menores e mais simples. Então, por meio do reconhecimento de padrões, você comparará o problema com outros problemas semelhantes que foram resolvidos anteriormente.

Depois, durante a representação e a abstração de dados, você simplificará ainda mais o problema, identificando quais características do problema são importantes e filtrando aquelas que não são.

O último pilar do pensamento computacional, algoritmos, forma a segunda seção do curso. O curso define algoritmos como um conjunto de instruções passo a passo para resolver um problema. Com algoritmos, você pode ensinar ao computador como resolver problemas sem dizer explicitamente como. Em vez disso, seu algoritmo poderá lidar com vários casos diferentes, desde que eles satisfaçam algumas pré-condições.

Você explorará uma variedade de algoritmos, como pesquisa linear e binária. Você aprenderá a representar algoritmos com fluxogramas, analisar a complexidade dos algoritmos (Big O) e calcular o número de soluções possíveis para um problema de otimização. Por fim, você comparará os benefícios e as limitações das abordagens algorítmicas comuns para a solução de problemas.

A terceira parte do curso dá uma breve história dos computadores, antes de se estabelecer na arquitetura de computadores usada pelos computadores modernos – a Arquitetura Von Neumann. 

Ele consiste em três unidades fundamentais: a memória, CPU e E/S. Você aprenderá como dados e instruções são armazenados e acessados ​​em computadores como bits e bytes, e também como a execução de código equivale a mover pedaços de dados na memória e operar neles na CPU.

Na quarta e última seção, o curso irá instruí-lo sobre os fundamentos da programação Python. Você explorará iterações, classes e depuração. E você terminará o curso codificando seu próprio programa Python, onde poderá implementar os algoritmos que aprendeu anteriormente em código.

Como você vai aprender

O curso tem 4 semanas de duração, com cada semana tendo cerca de 18 horas de material do curso. Você aprenderá principalmente com palestras em vídeo e, após cada vídeo, haverá um pequeno questionário para testar sua memória. Há material suplementar disponível sobre matemática, para aqueles não tão confiantes em suas habilidades matemáticas.

No final de cada semana, você verá um estudo de caso onde verá exemplos de pensamento computacional usados ​​para resolver problemas da vida real. Depois, você concluirá um projeto no qual aplicará o que aprendeu. Observe que as avaliações neste curso são para alunos verificados.

InstituiçãoUniversidade da Pensilvânia
FornecedorCoursera
InstrutoresSusan Davidson e Chris Murphy
NívelPrincipiante
Carga de trabalho70 horas totais
Inscrições74K
Avaliação4,7 / 5,0 (1K)
CertificadoPago

Curiosidades

  • Este curso é endossado pelo Google , que decidiu torná-lo parte de sua Garagem Digital, uma coleção de cursos e recursos para alunos que desejam adquirir habilidades tecnológicas.
  • A professora da Penn, Susan Davidson, instrutora do curso, foi nomeada Fellow da Associação Americana para o Avanço da Ciência em 2021.
  • O Prof. Davidson também ministra alguns dos cursos do Mestrado em Computação e Tecnologia da Informação (MCIT) da Penn, que é oferecido online através do Coursera.

Se você estiver interessado neste curso, você pode encontrar mais informações sobre o curso e como se inscrever aqui .

3. Introdução à Ciência da Computação e Programação Usando Python (Massachusetts Institute of Technology)

Banner-8
Prof. Eric Grimson, instrutor do curso

Minha terceira escolha para o melhor curso de ciência da computação é Introduction to Computer Science and Programming Using Python , oferecido pelo MIT no edX.

Este curso aborda o campo da ciência da computação e programação através do Python. O curso se concentra na amplitude e não na profundidade, dando aos alunos conhecimentos básicos sobre as inúmeras aplicações da computação.

Portanto, este curso é semelhante à nossa primeira escolha , pois é um curso de pesquisa: cobre muito, mas não em muitos detalhes. Mas é diferente porque se concentra inteiramente em uma linguagem de programação, Python, enquanto o curso de Harvard envolve várias linguagens.

Dependendo de seus objetivos, esse foco no Python pode ser visto como positivo ou negativo. Para o que vale a pena, acredito que Python é uma excelente primeira linguagem de programação.

Atenção! Este curso tenta espelhar a experiência do MIT no campus, então não espere que seja uma moleza. Você não precisará de nenhuma experiência anterior com ciência da computação ou programação para fazer isso, mas precisará de experiência em matemática do ensino médio.

O que você vai aprender

Os principais tópicos que o curso explora são pensamento computacional, estruturas de dados, iteração e recursão, decomposição, abstração e algoritmos e complexidade.

Você receberá uma breve introdução à computação e ao pensamento computacional. Você aprenderá o que são computadores, como funcionam e quais são suas limitações.

Ao entender que os computadores só sabem o que você diz a eles (e o que eles podem inferir do que você diz), você perceberá que para que o computador realize uma tarefa, eles precisam de uma ‘receita’ contendo uma sequência de instruções que eles deve seguir. Isso é o que os cientistas da computação chamam de algoritmo.

Sua jornada de programação começa aprendendo Python e sua sintaxe básica. Com o Python, você explorará conceitos comuns à maioria das linguagens de programação. Isso inclui variáveis, instruções condicionais e fluxos de controle.

Além disso, você será apresentado às funções e ao papel que elas desempenham na decomposição, abstração e recursão, que são conceitos fundamentais para a resolução de problemas em ciência da computação.

Até então, você deve ser capaz de codificar programas simples que podem apresentar soluções aproximadas para equações matemáticas difíceis por meio de um método de adivinhação e verificação.

Por fim, você aprenderá sobre as diferentes maneiras pelas quais podemos representar informações em Python, chamadas estruturas de dados. Você trabalhará com listas, tuplas e dicionários e entenderá quando usar uma estrutura de dados em detrimento de outra.

Como você vai aprender

O curso tem 9 semanas de duração com carga horária prevista de 14 a 16 horas por semana. O principal modo de aprendizado são as aulas em vídeo, e o curso inclui muitas atividades para colocar em prática suas habilidades conquistadas com muito esforço. Você também terá acesso a um fórum de alunos, onde poderá discutir com outros alunos.

Existem 3 conjuntos de problemas contendo exercícios de codificação desafiadores que ajudarão você a solidificar seu conhecimento. Se você for um aluno verificado, terá que concluir um exame intermediário e final cronometrado para receber seu certificado.

InstituiçãoInstituto de Tecnologia de Massachusetts
FornecedoredX
InstrutoresJohn Guttag, Eric Grimson, Ana Bell
NívelIntermediário
Carga de trabalho80–140 horas no total
Inscrições1,5 milhão
CertificadoPago

Curiosidades

  • Este curso tem mais de 18 mil marcadores e 120 avaliações no Class Central.
  • É o primeiro de um programa XSeries de dois cursos no edX. O segundo é Introdução ao Pensamento Computacional e Ciência de Dados , que pode ser um bom acompanhamento.
  • Um dos instrutores, o professor John Guttag, lidera o Data Driven Inference Group no lendário Laboratório de Ciência da Computação e Inteligência Artificial (CSAIL) do MIT.

Se você estiver interessado neste curso, você pode encontrar mais informações sobre o curso e como se inscrever aqui .

4. Princípios de Computação (Parte 1) (Universidade Rice)

Banner-4
Prof. Scott Rixner, instrutor do curso

Princípios de Computação (Parte 1), da Rice University no Coursera, é minha quarta escolha para a melhor introdução à ciência da computação. O curso enfatiza o fazer em vez de assistir, exigindo que você conclua muitas tarefas de codificação.

Este curso tem como objetivo ajudá-lo a aprimorar suas habilidades de programação, ensinando a resolução de problemas computacionais, uma habilidade subjacente à ciência da computação e que também foi o foco da nossa segunda escolha . Isso envolverá o aprendizado de importantes práticas de programação e o desenvolvimento de uma base matemática para a resolução de problemas.

Para fazer este curso, você precisará se sentir confortável em escrever programas pequenos (mais de 100 linhas) em Python, além de ter alguma experiência em matemática do ensino médio. Portanto, este não começa do zero e, portanto, é voltado para alunos que também têm algumas noções básicas.

Se você estiver procurando por um curso de resolução de problemas com menos pré-requisitos, talvez queira dar uma olhada na nossa segunda escolha .

O que você vai aprender

O curso inclui atualizações sobre Python, teste de código, probabilidade e aleatoriedade, combinatória e crescimento de função.

Após uma breve revisão do Python, o curso explicará como construir testes e por que ter testes para seus programas em Python pode ser útil.

Muitos programadores não gostam ou simplesmente não se preocupam em escrever testes para seu código, mas como um dos instrutores explica, é uma prática recomendada que vale a pena tratar como parte integrante do processo de programação.

Escrever testes irá ajudá-lo a economizar tempo e esforço, e serve como uma verificação de sanidade reutilizável de que seu programa realmente faz o que deveria fazer. Para seu primeiro miniprojeto, você recriará o conhecido jogo 2048 em Python.

Em seguida, o curso passa para o papel da probabilidade e aleatoriedade na ciência da computação. Você aprenderá a identificar resultados irracionais em probabilidade, além de calcular o valor esperado de vários resultados.

Por exemplo, qual é a chance de um dado rolar sete seis em dez lançamentos? E se isso acontecesse, até que ponto poderíamos concluir que o dado é ponderado – isto é, que as jogadas foram injustas?

Você também verá como podemos usar o Python para simular a probabilidade de resultados, uma ferramenta valiosa usada na modelagem estatística. E para o seu segundo mini-projeto, você trabalhará com probabilidades para criar um oponente que poderá enfrentar em um jogo de Tic-Tac-Toe.

O curso também aborda a combinatória, que lida com enumerações, permutações e combinações. Você descobrirá como calcular o número total de maneiras que um evento pode acontecer.

Isso ajuda muito no cálculo do número de etapas que um algoritmo levaria, permitindo estimar o tempo de execução do algoritmo e, por sua vez, determinar se vale a pena implementar o algoritmo. Você pode ver por que a combinatória desempenha um papel importante na segurança de senhas e computadores. Para seu terceiro miniprojeto, você codificará o familiar jogo de dados Yahtzee .

Na parte final do curso, você aprenderá a importância de contar na resolução de problemas complexos. A contagem responde à questão de quanto tempo um algoritmo pode levar para executar uma determinada tarefa. Outro nome para contar com o qual você pode estar mais familiarizado é “complexidade de tempo”.

Você também aprenderá sobre funções de ordem superior em Python, ou seja, funções que usam outras funções como algoritmos, como a mapfunção. Em seu último miniprojeto, você usará esses conceitos para criar sua própria versão do Cookie Clicker .

Como você vai aprender

O curso é dividido em 5 semanas, com cada semana envolvendo 7 a 10 horas de estudo. Você aprenderá principalmente por meio de palestras em vídeo e tarefas avaliadas, embora o curso forneça notas e atividades complementares para leitura e prática adicionais.

Você codificará e enviará a lição de casa e os miniprojetos no site complementar CodeSkulptor e no editor de código no navegador que evitará a necessidade de configurar um ambiente de codificação local.

InstituiçãoUniversidade do Arroz
FornecedorCoursera
InstrutoresScott Rixner, Joe Warren, Luay Nakhleh
NívelIntermediário
Carga de trabalho40 horas totais
Inscrições30K
Avaliação4,7 / 5,0 (600)
CertificadoPago

Curiosidades

  • O curso tem cerca de 15 mil marcadores no Class Central.
  • Este curso é o terceiro dos sete cursos que compõem a especialização Fundamentos da Computação . Ao receber o certificado de especialização, você terá concluído mais de 20 projetos, incluindo um projeto final.
  • Se você não estiver interessado em fazer uma especialização completa após este curso, mas gostaria de aprender mais sobre o tema do curso, como o nome do curso indica, há um curso de acompanhamento: Princípios de Computação (Parte 2) .
  • O instrutor do curso, Prof. Scott Rixner, é diretor do corpo docente de dois programas de graduação on-line na Rice University. Portanto, sua dedicação à educação online vai além do escopo de seus próprios MOOCs.

Se você estiver interessado neste curso, você pode encontrar mais informações sobre o curso e como se inscrever aqui .

5. Ciência da Computação 101 (Universidade de Stanford)

Banner-5
Prof. Nick Parlante, instrutor do curso

Computer Science 101 visa desmistificar a magia dos computadores, demonstrando que eles funcionam seguindo alguns padrões relativamente simples.

Este curso irá ajudá-lo a se familiarizar com esses padrões. Ele fornecerá insights sobre como os computadores funcionam e quais são suas limitações.

Além disso, o curso se aprofunda em redes e outros tópicos importantes dentro do CS. Não é necessário conhecimento prévio de informática!

O que você vai aprender

O curso começa com a equação fundamental dos computadores: Computador = Poderoso + Estúpido. Os computadores são poderosos porque podem realizar bilhões de operações por segundo. Mas eles são estúpidos porque precisam de alguém que lhes diga o que fazer. É aqui que os programadores entram em cena.

Este curso usa pequenos trechos de JavaScript para apresentar a programação e outros conceitos de ciência da computação. Você aprenderá conceitos de programação como variáveis, loops e iterações, instruções condicionais e assim por diante. Posteriormente, o curso abrange linguagens de baixo e alto nível, bem como compiladores e intérpretes.

O computador é uma ferramenta e o programador empunha a ferramenta. Portanto, para programar com eficiência, é importante entender como a ferramenta funciona. O curso abrange muitos aspectos da referida ferramenta, incluindo hardware. Você aprenderá sobre as partes que compõem um computador e verá como os computadores podem representar diferentes formatos de informação.

O principal formato com o qual você trabalhará são as imagens. Uma das coisas que você fará são imagens em “tela verde”, bem como transformar imagens coloridas em escala de cinza, operando no nível de pixel individual.

Outro tópico que o curso aborda são as redes de computadores, que é como os computadores se comunicam entre si. Você aprenderá sobre os diferentes tipos de redes.

Você estudará o que são endereços IP e como eles permitem que os computadores localizem uns aos outros. O curso discute como os computadores transmitem informações por meio de pacotes de dados e também o protocolo de comunicação em que a Internet é executada — TCP/IP.

O curso também cobre brevemente uma variedade de outros tópicos, como bancos de dados e planilhas, segurança de computadores e dados analógicos e digitais.

Como você vai aprender

O curso tem 6 semanas de duração, com cada semana levando de 4 a 6 horas para ser concluído. As aulas são ministradas por meio de videoaulas e complementadas com notas e avaliações. No entanto, você precisará ser um aluno verificado para acessar as avaliações.

InstituiçãoUniversidade de Stanford
FornecedoredX
InstrutorNick Parlante
NívelPrincipiante
Carga de trabalho36 horas totais
Inscrições100 mil
CertificadoPago

Curiosidades

  • O instrutor agradece ao Google por apoiar sua pesquisa inicial sobre a criação da turma. Acho que isso vale para todos nós!
  • Este curso tem 3k marcadores no Class Central.
  • O interesse atual do instrutor do curso, Nick Parlante, é o CodingBat Java , uma ferramenta experimental de prática de código online.

Se você estiver interessado neste curso, você pode encontrar mais informações sobre o curso e como se inscrever aqui .

6. Como funcionam os computadores (Universidade de Londres)

Banner-6
Dr. Marco Gillies, instrutor do curso

Este curso conciso ministrado pela Universidade de Londres no Coursera aborda alguns tópicos importantes da ciência da computação, mas está principalmente interessado em ajudá-lo a construir uma compreensão fundamental do hardware. Está no título mesmo: ao final do curso, você saberá como os computadores funcionam.

E através desse entendimento, você também formará uma imagem mais clara de como os computadores podem ser aproveitados para ajudar a resolver problemas cotidianos.

O curso é tão adequado para alguém que deseja construir bases sólidas para um estudo mais aprofundado em CS, quanto para alguém simplesmente curioso sobre como os computadores funcionam e deseja explorar alguns tópicos-chave de CS, mas não necessariamente um mergulho profundo.

Você não precisa ter nenhum conhecimento prévio de ciência da computação para fazer este curso.

O que você vai aprender

Este curso abrange hardware de computador, abstração, modularidade, redes de computadores e comunicação.

O curso começa com a abstração – a arte de chamar a atenção para os detalhes importantes enquanto filtra o ruído. Muitas disciplinas dependem da abstração, e a ciência da computação o faz fortemente, tanto nos níveis de hardware quanto de software.

Este conceito se tornará evidente quando o curso começar a discutir o hardware do computador, como memória, CPU e outros dispositivos. Você usará máquinas nocionais como meios para capturar essas abstrações.

Depois, você passará para outra ideia-chave: estado e modularidade. Isso o ajudará a responder à pergunta: ‘Por que desligar e ligar meu computador resolve a maioria dos problemas?’

Usando máquinas fictícias, você explicará como os aplicativos de computador funcionam ao fazer a transição entre diferentes estados e como a modularidade permite que eles interajam com outros aplicativos. Você aprenderá a depurar coisas, uma habilidade muito útil.

Continuando, você aprenderá como os computadores se comunicam pela Internet por meio de redes e protocolos de comunicação. Você também aprenderá sobre os tipos de ameaças de segurança que os computadores (e usuários) enfrentam e como se proteger de agentes mal-intencionados.

Por fim, você explorará o desenvolvimento básico da Web. Ao aplicar seu novo conhecimento de abstração, estado e modularidade, você poderá entender claramente como os sites funcionam.

Como você vai aprender

O curso tem 4 semanas de duração, com 10 horas de material por semana. Consiste em palestras em vídeo e questionários para testar seus conhecimentos sobre o material. Você terá a chance de compartilhar seus pensamentos em prompts de discussão.

InstituiçãoUniversidade de Londres
FornecedorCoursera
InstrutorMarco Gillies
NívelPrincipiante
Carga de trabalho40 horas totais
Inscrições25K
Avaliação4,6 / 5,0 (440)
CertificadoPago

Curiosidades

  • O instrutor do curso, Prof. Marco Gillies , é o Diretor Acadêmico de Ensino a Distância da Goldsmiths, University of London.
  • Este curso é uma introdução ao Bacharelado em Ciência da Computação da Universidade de Londres , oferecido no Coursera.
  • É o curso dois de três da Introdução à Ciência da Computação e Especialização em Programação , sendo o primeiro curso Introdução à Programação de Computadores .

Se você estiver interessado neste curso, você pode encontrar mais informações sobre o curso e como se inscrever aqui .

7. Entendendo a tecnologia do CS50 (Universidade de Harvard)

Banner-1-1
Prof. Malan (de novo!), instrutor do curso

Este é mais um curso da família CS50. Mas ao contrário da nossa primeira escolha, que é o curso principal do CS50, este curso é para quem trabalha com tecnologia todos os dias, mas não entende como tudo funciona nos bastidores ou como resolver problemas quando algo dá errado. E é também para aqueles que (ainda) não trabalham com tecnologia – principalmente computadores – mas gostariam de entender seu funcionamento.

O curso visa preencher as lacunas em seu conhecimento de hardware, internet, multimídia, programação e desenvolvimento web, preparando você para a tecnologia de hoje e de amanhã.

Este curso não tem pré-requisitos.

O que você vai aprender

O curso começa com uma introdução à linguagem dos computadores, binário. Ele explica como os computadores usam o binário para representar texto e outras informações. Em seguida, você passará para o hardware do computador: CPU, RAM e memória principal. Você aprenderá sobre as funções de cada um desses componentes.

O curso discute Internet e multimídia e as tecnologias que os sustentam. Ele lhe dirá como os computadores podem encontrar e conversar uns com os outros. Você aprenderá sobre o protocolo TCP/IP comum da Internet e muito mais.

Você aprenderá sobre as diferentes representações de dados de multimídia, como áudio, imagens e vídeo. Existem muitos formatos de arquivo e técnicas de compressão – o curso lhe dará uma visão geral de alguns dos principais.

Em seguida, você aprenderá como se manter seguro na Internet. Você descobrirá várias maneiras de proteger seus dados e privacidade. Esta seção incluirá lições sobre cookies, senhas, autenticação de dois fatores, criptografia e muito mais.

Você continuará com os fundamentos do desenvolvimento web. Você aprenderá como os navegadores da Web acessam a Web com solicitações HTTP. Você já viu um erro 404 ou 500 ao tentar visitar uma página da web? Você provavelmente tem. Bem, neste curso, você aprenderá o que esses erros significam. Uma breve visão geral sobre as linguagens que nos permitem construir e estilizar páginas da web, HTML e CSS, é fornecida.

Por último, não menos importante, você descobrirá os fundamentos da programação. Você usará principalmente a linguagem baseada em blocos Scratch para explorar conceitos comuns a praticamente todas as linguagens de programação, como variáveis, expressões, loops e assim por diante.

Além disso, para demonstrar o que é um algoritmo (e mais especificamente o paradigma de dividir e conquistar ), você verá o instrutor dividir uma lista telefônica ao meio… Eu tive que mencionar isso porque é muito instrutivo e memorável!

Como você vai aprender

O curso tem 6 semanas de duração, com cada semana levando de 2 a 6 horas para ser concluído, dependendo de sua familiaridade prévia com o conteúdo. Cada semana contém pelo menos uma hora de aula.

Em relação às avaliações, você terá que concluir uma tarefa para cada um dos seis tópicos apresentados no curso para obter um certificado.

InstituiçãoUniversidade de Harvard
FornecedoredX
InstrutorDavid J. Malan
NívelPrincipiante
Carga de trabalho36 horas totais
Inscrições100 mil
CertificadoGratuito e pago (veja abaixo)

Curiosidades

  • Depois de fazer este curso, você estará mais do que pronto para enfrentar o CS50, nossa escolha nº 1 .
  • Este curso tem 1,6 mil marcadores no Class Central.
  • Outro fato sobre David J. Malan, o instrutor do curso: ele é um membro ativo do SIGCSE , o braço da ACM voltado para o ensino de ciência da computação.

Se você estiver interessado neste curso, você pode encontrar mais informações sobre o curso e como se inscrever aqui .

8. Introdução à Ciência da Computação Teórica (Udacity)

Banner-2-1
Captura de tela do curso

Para aqueles que têm alguma familiaridade com programação e algoritmos e desejam aprofundar sua compreensão da resolução de problemas em ciência da computação, este curso rigoroso, mas perspicaz, pode ser o que você está procurando.

Oferecido pela Udacity, Intro to Theoretical Computer Science explora o que torna um problema ‘difícil’ de resolver, mesmo para um computador. Em seguida, mostra como reduzir e simplificar esses problemas ‘difíceis’ para torná-los mais fáceis de resolver por meio da computação.

O que você vai aprender

O curso abrange duas áreas principais da ciência da computação teórica: teoria da complexidade e computabilidade.

A teoria da complexidade pergunta quanto de seus recursos, como tempo ou memória, um computador precisará para resolver um problema. A computabilidade, por outro lado, pergunta se um computador pode resolver um problema, mesmo com mais tempo e memória.

O curso apresenta uma variedade de problemas do mundo real de telecomunicações, bioinformática e finanças. Você reconhecerá o que torna um problema desafiador e o valor de reconhecer esses problemas. Isso irá prepará-lo para entender o que é NP-completude. Então, você entenderá o que torna um problema ‘difícil’ de resolver e poderá prová-lo.

O resto do curso discute o que fazer com o problema depois de provarmos que é difícil (ou mesmo impossível de resolver).

Uma das formas de superar esse obstáculo é empregar algoritmos eficientes e inteligentes. Outra maneira é aceitar que o problema pode não ser perfeitamente solucionável e, em vez disso, encontrar uma solução aproximada. E ainda outra maneira é usar aleatoriedade e probabilidade para bisbilhotar e encontrar uma solução.

Você será capaz de descrever e usar essas técnicas em situações práticas: o curso discute a teoria, mas também é prático.

Por fim, você passará para problemas que nenhum computador pode resolver em teoria. Você aprenderá sobre indecidibilidade e reconhecerá os limites da computabilidade.

Como você vai aprender

O curso tem 8 semanas de duração, com um total de 14 horas de videoaulas. Alguns vídeos têm um questionário para ajudá-lo a praticar a memorização do que aprendeu. Existem 7 capítulos e, no final de cada capítulo, você completará um conjunto de problemas para colocar suas habilidades recém-descobertas em bom uso.

Finalmente, há um exame somativo no final do curso.

FornecedorUdacity
InstrutoresSebastian Wernicke, Sean Bennett, Sarah Norell
NívelIntermediário
Carga de trabalho25 horas
CertificadoNenhum

Curiosidades

  • Este curso tem 2,2 mil marcadores no Class Central.
  • Um dos instrutores do curso, Sebastian Wernicke, falou várias vezes no TED .
  • Para abordar este curso, você pode querer aprender sobre algoritmos primeiro. Os instrutores recomendam outro curso da Udacity sobre algoritmos como uma atualização. Além disso, bons fundamentos matemáticos também seriam úteis. Verifique nossas escolhas abaixo, se necessário.

Se você estiver interessado neste curso, você pode encontrar mais informações sobre o curso e como se inscrever aqui .

9. Matemática para Ciência da Computação (Universidade de Londres)

Banner-3
Dra. Sara Santos, co-instrutora do curso

Oferecido pela Universidade de Londres, este curso apresenta a matemática e o pensamento matemático que os cientistas da computação usam em seu trabalho. O que diferencia este curso de outros cursos de matemática é sua ludicidade, com exercícios divertidos e interativos.

Mais especificamente, o curso combina elementos de álgebra, análise e geometria – tópicos cuidadosamente escolhidos para servir como a espinha dorsal de sua educação em ciência da computação.

O curso aborda, entre outros, as bases numéricas, um tópico essencial para entender o binário, e a conversão entre o binário e outras bases, como o hexadecimal. Explora progressões numéricas, como a conhecida sequência de Fibonnaci. E vai tocar em geometria e gráficos de funções.

Ao final do curso, você terá adquirido a base necessária para entender a matemática que sustenta outros cursos de ciência da computação e estará pronto para abordar tópicos matemáticos mais avançados.

O curso pressupõe que você conheça um pouco de matemática do ensino médio, bem como programação básica em Python.

O que você vai aprender

O curso investiga cinco tópicos principais: bases numéricas, aritmética modular, sequências, séries, esboços de gráficos e cinemática.

O curso começa com o estudo das bases numéricas. Você deve saber que o binário é a base numérica usada pelos computadores. Mas você sabia que os cientistas da computação também usam hexadecimais?

Você abordará os principais conceitos de valores de posição e sistemas numéricos, que envolverão a conversão entre binário, hexadecimal e decimal, além de somar, subtrair e multiplicá-los. Ah, uma coisa legal que o curso te ensina é a esteganografia, a arte de esconder mensagens em imagens!

Em seguida, você abordará aritmética modular. Você já se perguntou o que significa “módulo 7”? Você aprenderá sobre a utilidade da congruência e operações aritméticas modulares em ciência da computação (psst, pode ser usado para criptografia).

Você identificará, descreverá e calculará sequências de números e suas somas. Você estudará uma família especial de sequências chamadas progressões, que consiste em progressões aritméticas e geométricas. Você aprenderá como as sequências podem ser usadas para gerar números aleatórios. Além disso, você poderá dizer quando uma série converge (se encontra em um ponto) ou diverge (se aproxima do infinito)

Por fim, o curso descreve como representar e descrever o espaço numericamente usando coordenadas e gráficos. Você verá como os gráficos podem nos ajudar a visualizar e transformar funções como linhas retas, quadráticas, cúbicas, recíprocas e muito mais. Um exemplo de modelagem de movimento será dado: o campo da matemática chamado cinemática.

Como você vai aprender

O curso tem 6 semanas de duração, com cerca de 40 horas de material. Cada semana vem com um ou mais questionários, permitindo que você aprenda fazendo. No entanto, você precisará pagar pelo certificado do autoclassificador do curso para marcar suas respostas.

InstituiçõesUniversidade de Londres
FornecedorCoursera
InstrutoresMatthew Yee King e Sara Santos
NívelPrincipiante
Carga de trabalho40 horas totais
Inscrições22K
Avaliação4,1 / 5,0 (200)
CertificadoPago

Curiosidades

  • É o terceiro e último curso da Especialização em Introdução à Ciência da Computação e Programação .
  • A Dra. Sara Santos gosta de matemática busking , que procura surpreender e divertir as pessoas nas ruas com performances enraizadas na matemática.

Se você estiver interessado neste curso, você pode encontrar mais informações sobre o curso e como se inscrever aqui .

10. Matemática para Ciência da Computação: Habilidades Essenciais (Universidade de Hull)

Banner-9
Laura Broddle, instrutora do curso, ensinando diagramas de Venn

Se você deu uma olhada nos dois cursos anteriores, mas ainda não tem os fundamentos matemáticos para fazê-los, este curso pode ajudá-lo com o básico.

Este curso é um curso de curta duração sobre habilidades matemáticas para ciência da computação, oferecido pela Universidade de Hull no FutureLearn.

Destinado a alunos que estão começando ou considerando estudar ciência da computação em nível universitário, este curso abrange diagramas de Venn e teoria dos conjuntos, técnicas de álgebra e vetores e matrizes – todos os conceitos fundamentais onipresentes na ciência da computação.

O curso não pressupõe nenhum conhecimento matemático prévio. Você está começando do zero.

O que você vai aprender

Começando com diagramas de Venn e teoria dos conjuntos, você aprenderá como “conjuntos” (sacos de objetos, se preferir) podem ser formalizados e operados. Você aprenderá a raciocinar sobre cálculos e objetos de computação. Os diagramas de Venn ajudarão você a visualizar esse tipo de raciocínio.

Você então passará para a álgebra e suas técnicas. Você terá uma visão geral da álgebra (que pode ser descrita como fazer matemática usando variáveis ​​em vez de números explícitos) e seu uso em algoritmos e computação científica. O curso ensinará como resolver equações lineares e equações quadráticas usando álgebra.

O curso termina com uma visão geral de vetores e matrizes. Você aprenderá o que são vetores e por que eles são especialmente importantes na programação gráfica. Você aprenderá como podemos representar vetores como matrizes e como modificar, transformar e inverter matrizes para resolver problemas complexos.

Como você vai aprender

Este curso tem 3 semanas de duração, com cerca de 3 horas de material por semana. Você aprenderá principalmente por meio de material de vídeo, embora existam fóruns de discussão onde você pode discutir problemas com outros alunos.

No final de cada semana, há um questionário que o ajudará a fortalecer sua compreensão dos conceitos e aplicações matemáticas.

InstituiçãoUniversidade de Hull
FornecedorFutureLearn
InstrutorLaura Broddle
NívelPrincipiante
Carga de trabalho9 horas no total
Inscrições1,2K
CertificadoPago

Curiosidades

  • A instrutora do curso, Laura Broddle , ingressou na Universidade de Hull em 2015 como professora de matemática básica.
  • Ela também visitou uma escola irmã em Uganda e foi classificada como uma excelente professora pela Ofsted em 2013.

Se você estiver interessado neste curso, você pode encontrar mais informações sobre o curso e como se inscrever aqui .

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *