Aprenda CS e codificação
ATUALIZAÇÃO - Este repositório está sendo uma reconstrução significativa.
Créditos: imagens em quadrinhos neste repositório de xkcd
Alguns links incríveis
- Livros (programação, teoria, matemática)
- https://github.com/namvdo/cs-and-programming-books
- https://github.com/ebookfoundation/free-programming-books/
- Coisas puramente matemáticas (com links para livros didáticos)
- https://github.com/rossant/awesome-math
- Obtendo um diploma de CS, de graça
- https://teachyourselfcs.com/
- https://www.reddit.com/r/learnprogramming/comments/acuakt/ossu_or_teachyourselfcscom_for_self_learning_cs/
- https://github.com/nushackers/notes-to-cs-freshmen-from-the-future
- https://github.com/jwasham/coding-interview-university
- https://github.com/jasonsbarr/computer-science-program
- https://github.com/prakhar1989/awesome-courses
- https://github.com/cs-mohamedayman/coursera specializations
- https://www.reddit.com/r/learnprogramming/comments/akbeqk/the_open_source_computer_science_degere/
- https://github.com/salimt/courses-
- https://github.com/ossu/computer-science
- OSSU/Computer-Science#664
- OSSU/Data-Science#61
- https://functionCs.github.io/curriculum/
- http://blog.aguware.com/2014/06/online-learning-intensive-bachelors.html?m=1 e http://blog.aguware.com/2014/05/online-learning-bachelors-level.html
- https://github.com/farhankarim/my-computer-science-curriculum
- MOOCs
- https://www.coursera.org/specializations/algorithms
- https://www.coursera.org/instructor/~250165
- https://see.stanford.edu/course
- https://openlearninglibrary.mit.edu/courses/course-v1:ocw+6.042j+2t2019/about
- https://isaaccomputerscience.org/topics
- Um resumo mais útil-https://btholt.github.io/four-sesters-of-cs/
Este repositório é feito para mim como um registro pessoal da minha jornada no campo da ciência da computação, matemática e desenvolvimento de software. No entanto, para as legiões de programadores de aspirantes interessados, você pode usar esta página como ponto de partida.
O princípio orientador das minhas anotações é a criação de um registro conciso do que aprendi - por exemplo, se as definições ou explicações detalhadas de um determinado tópico puderem ser facilmente pesquisadas, não incluirei a definição ou explicação. Incluindo apenas o nome do tópico me ajudará a lembrar que aprendi esse tópico e impedirei explicações desnecessárias de atrapalhar as notas
Veja as seguintes descrições das pastas:
- Iniciantes - para os iniciantes completos para python e/ou codificar
- Coursera - Ciência da Computação: Programação com um objetivo - minhas soluções para o curso
- Hackerrank - My HackerRank Solutions + Links para soluções de outras pessoas ( incompletas )
- Linux e oses - tudo sobre Linux
- Java - meus recursos de aprendizado para Java
- Avançado - incompleto até o momento
O aviso justo para a ciência da computação não iniciada, que pode ser considerada um subconjunto de matemática, é diferente da tarefa de programação bastante mundana e agora fácil de automatizar. E se você estava se perguntando, aprender nunca para no CS. De novos idiomas a novos sistemas operacionais, a novos conceitos, como programação funcional ou kernel Linux ou arquitetura do sistema operacional ou álgebra linear, se você não se desafiar diariamente, você acabará como um macaco de código. Verdade dura.
Este repositório está na forma de amostras de código que criei ao aprender CS e codificação, e notas curtas destinadas a servir como uma plataforma de mergulho para estudos mais profundos ou para a revisão do próprio conhecimento do indivíduo sobre o assunto. Também estou postando coleções de recursos que reuni.
Meu conselho é: Comece primeiro com o Python e depois faça a transição para OOP com C ++ ou Java ou front-end com JavaScript. Em seguida, aprenda programação funcional e outros estilos de programação em Lisp, Haskell, etc. Pratique codificar e participar de competições e hackatões on -line para obter alguma experiência. Existem alguns campos de inicialização incríveis por aí, mas a programação é um campo amplamente meritocrático e os alunos podem projetar seu próprio currículo no seu próprio ritmo de graça. Acostume -se ao Linux. O terminal é o recurso mais legal e mais rápido do Linux. Período. Os programas de código aberto também são comparáveis aos proprietários!
Caminhos de aprendizado
- O mais recente e o mais quente
- AI, ML, Ciência de Dados, Robótica, Computação Quântica
- Blockchain
- Criptografia e segurança cibernética
- O maçante e o estável
- Sistemas operacionais e kernels
- Eletrônica, instrumentação, hardware
- Matemática e algoritmos
- Linguagens de programação
Riscos de programação
- RSI
- Layout do teclado alterado para Colemak! (Qwerty Max. WPM: 94, atual Max. Colemak WPM: 48)
- http://xahlee.info/kbd/emrot_effect_keyboard_layout.html
- http://xahlee.info/kbd/keyboard_remap_copy_cut_paste_undo.html
- https://www.quora.com/what-are-the-advantages-of-colemak-vs.-dvorak
- http://xahlee.info/kbd/dvorak_vs_colemak.html
- http://xahlee.info/kbd/dvorak_and_all_keyboard_layouts.html
- Compre um teclado ergonômico
- Tensão ocular
- Olhos secos
- Extensão de olhos seguros, lembra você de fazer uma pausa
- Filtro de luz azul
Idiomas que eu quero aprender em profundidade
- Script
- Bash
- Perl
- Rubi
- Python
- OOP
- Kotlin (Java aprimorado)
- Ferrugem (sexy java)
- Outros
- Haskell
- Scala
- Lisp
- TypeScript
- Frontend (bocejo)
- HTML e CSS (chato, chato, chato)
Idiomas sou decente/bom em
- Javascript (node.js, react)
- Java
- Python (Django)
- C ++
Software de computação em nuvem eu usei
- Firebase
- AWS
Lista de software de programação necessário
- Para codificação
- Ferramentas elétricas para profissionais
- Emacs (para aprender o modo de organização)
- Vim
- Para os preguiçosos e para os alunos
- Qualquer editor de texto
- Notepad (para o Windows Scrubs)
- Kate (de KDE)
- Átomo
- Sublime
- Para os homens que trabalham
- Intellij
- Vscode
- Para um produto da Microsoft, bastante sólido
- Para Markdown
- Tipopora-Mãos do melhor, mas não de código aberto
- Para látex
- Texworks
- Esses dois plugins de ideias Intellij funcionam muito bem
- Texify
- Visualizador em PDF - ou você pode usar com o Okular/qualquer outro visualizador de PDF, mas o Okular não atualiza automaticamente
- terminal
- Bash
- Uma rápida pesquisa no Google revela vários emuladores maravilhosos de terminais, cada um com suas próprias ferramentas ou animações especiais. No entanto, eu uso o konsole de Kde como um motorista diário
- Rápido
- traço
- Debian's
- peixe
- Parece bom até agora!
- Este site resume concisa por que eu gosto de peixe
- https://medium.com/better-programming/why-i-use-fish-chell-over-bash-and-zsh-407d23293839
- Ksh
- Honestamente, desisti disso, e suspeito que muitos outros iniciantes simplesmente não se incomodam
- csh
- http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/
Lista de algum software de código aberto que já usei (usei muito mais, mas esqueci e não posso me incomodar em lembrar)
- Calibre (para livros)
- Produtividade
- P3X ONENOTE (agora noção)
- LibreOffice (lol não é preciso dizer)
- Xournal ++
- Bitwarden
- ngrok
- Wireguard
- Gimp (fotos)
- Áudio e vídeo
- Edição de legenda (para legendas, duh)
- Audácia
- Handbrake
- KdenLive
- Kodi
- Vlc
- Navegadores
- Vivaldi
- Firefox
- Corajoso
- Ópera (parcialmente de código aberto devido ao cromo, mas o fator chinês é intrigante)
- Jogos
- Sgt Coleção de quebra -cabeças
- Batalha por Wesnoth (que jogo adorável)
- 0 anúncio
- Wot
- Halo: alcance
- Openttd
- Todas as aplicações KDE
- Kate (Bloody Lovely) (Atualização em outubro de 2021 - Kate em Kubuntu 21.10 é incrível)
- Sysadmin
- Mídia óptica
- CDCK
- Qpxtool
- Brasero
- testDisk
- htop
- NMAP
Lista de outros aplicativos que usei
- Spotify
- Discórdia
- Sinal
- Cromo
- sccpy
- Instaloader
- YouTube -DL (útil para baixar qualquer vídeo de blob - link 1 link 2 VLC Stream Blob Best Hack)
- Google Earth
- Tesseract-ococ
- OpenMediavault
- Anfetipo
- gitui?
Extensões do Firefox
- BypassPayWalls
- Grepper
- Integração de plasma
Extensões cromadas
- Ghostery
- Adblock
- VideoDownloadHelper
- Limitador de rede WebRTC