{"id":17369827,"url":"https://github.com/carlosavieira/self-study","last_synced_at":"2026-08-07T00:30:29.772Z","repository":{"id":71107989,"uuid":"73322486","full_name":"carlosavieira/self-study","owner":"carlosavieira","description":"Self study files based on \"What every computer science major should know\" from matt.might.net","archived":true,"fork":false,"pushed_at":"2016-12-10T10:04:25.000Z","size":298,"stargazers_count":19,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-06T13:33:56.595Z","etag":null,"topics":["computer-engineering","self-study","study-plan"],"latest_commit_sha":null,"homepage":null,"language":"Haskell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/carlosavieira.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2016-11-09T21:25:26.000Z","updated_at":"2024-10-28T01:54:48.000Z","dependencies_parsed_at":null,"dependency_job_id":"c76bbf54-817f-48ee-849b-65fea7d4d21b","html_url":"https://github.com/carlosavieira/self-study","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/carlosavieira/self-study","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carlosavieira%2Fself-study","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carlosavieira%2Fself-study/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carlosavieira%2Fself-study/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carlosavieira%2Fself-study/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/carlosavieira","download_url":"https://codeload.github.com/carlosavieira/self-study/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/carlosavieira%2Fself-study/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":36354386,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-08-06T04:43:03.162Z","status":"ssl_error","status_checked_at":"2026-08-06T04:43:02.660Z","response_time":54,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["computer-engineering","self-study","study-plan"],"created_at":"2024-10-16T00:22:22.652Z","updated_at":"2026-08-07T00:30:29.760Z","avatar_url":"https://github.com/carlosavieira.png","language":"Haskell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# self-study\nSelf study files based on \"What every computer science major should know\" from matt.might.net\n\n## Progress\n- Haskell\n- Latex\n- Emacs\n\n### General\n- [ ] Portfolio\n- [ ] Resume\n- [ ] Technical Communication\n- [X] LaTeX\n- [X] Emacs\n- [ ] Vim\n\n###Systems administration\n\n###Programming Languages\n- [X] ~~C~~\n- [X] Haskell\n- [ ] C++\n- [ ] Assembly\n- [ ] JavaScript\n- [ ] Java\n- [ ] Squeak\n- [ ] Standard ML\n- [ ] Prolog\n- [ ] Scala\n- [ ] Racket\n\n###Discrete mathematics\n\n###~~Data structures and algorithms~~\n- [X] ~~hash tables~~\n- [X] ~~linked lists~~\n- [X] ~~trees~~\n- [X] ~~binary search trees~~\n- [X] ~~directed and undirected graphs~~\n\n###Theory\n- [ ] finite-state automata\n- [ ] regular languages (and regular expressions)\n- [ ] pushdown automata\n- [ ] context-free languages\n- [ ] formal grammars\n- [ ] Turing machines\n- [ ] the lambda calculus\n- [ ] undecidability\n- [ ] P, NP, NP-Hard and NP-Complete.\n\n###Architecture\n- [ ] transistors, gates, adders, muxes, flip flops\n- [ ] ALUs, control units, caches and RAM\n- [ ] GPU model of high-performance computing\n- [ ] caches\n- [ ] buses\n- [ ] hardware memory management \n- [ ] design and simulate a small CPU\n\n###Operating systems\n- [ ] how kernels handle system calls, paging, scheduling, context-switching, filesystems and internal resource management.\n- [ ] runtime systems\n- [ ] print \"hello world\" during the boot process;\n- [ ] design their own scheduler;\n- [ ] modify the page-handling policy; and\n- [ ] create their own filesystem.\n\n###Networking\n- [ ] 802.3 and 802.11;\n- [ ] IPv4 and IPv6; and\n- [ ] DNS, SMTP and HTTP.\n- [ ] an HTTP client and daemon;\n- [ ] a DNS resolver and server;\n- [ ] a command-line SMTP mailer.\n\n###Security\n- [ ] social engineering;\n- [ ] buffer overflows;\n- [ ] integer overflow;\n- [ ] code injection vulnerabilities;\n- [ ] race conditions; and\n- [ ] privilege confusion.\n\n###Criptography\n- [ ] symmetric-key cryptosystems;\n- [ ] public-key cryptosystems;\n- [ ] secure hash functions;\n- [ ] challenge-response authentication;\n- [ ] digital signature algorithms; and\n- [ ] threshold cryptosystems.\n- [ ] create their own digital certificate and set up https in apache\n- [ ] write a console web client that connects over SSL.\n- [ ] how to use GPG;\n- [ ] how to use public-key authentication for ssh; \n- [ ] how to encrypt a directory or a hard disk.\n\n###User experience design\n- [ ] HTML\n- [ ] CSS\n- [ ] JavaScript\n\n###Parallelism\n- [ ] multicore, caches\n- [ ] buses, GPUs\n- [ ] CUDA and OpenCL\n- [ ] MPI \n- [ ] map-reduce\n\n###Databases\n- [ ] LAMP stack\n\n###Software engineering\n- [ ] SVN\n- [X] Git\n- [X] gdb\n- [X] valgrind\n\n###Formal methods\n- [ ] theorem prover\n\n###Machine Learning\n- [ ] Bayesian networks\n- [ ] Clustering\n- [ ] Decision-tree learning\n\nThat's all folks!\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarlosavieira%2Fself-study","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcarlosavieira%2Fself-study","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcarlosavieira%2Fself-study/lists"}