Coder Social home page Coder Social logo

carlosavieira / self-study Goto Github PK

View Code? Open in Web Editor NEW
18.0 2.0 1.0 298 KB

Self study files based on "What every computer science major should know" from matt.might.net

License: GNU General Public License v3.0

Haskell 100.00%
computer-engineering self-study study-plan

self-study's Introduction

self-study

Self study files based on "What every computer science major should know" from matt.might.net

Progress

  • Haskell
  • Latex
  • Emacs

General

  • Portfolio
  • Resume
  • Technical Communication
  • LaTeX
  • Emacs
  • Vim

###Systems administration

###Programming Languages

  • C
  • Haskell
  • C++
  • Assembly
  • JavaScript
  • Java
  • Squeak
  • Standard ML
  • Prolog
  • Scala
  • Racket

###Discrete mathematics

###Data structures and algorithms

  • hash tables
  • linked lists
  • trees
  • binary search trees
  • directed and undirected graphs

###Theory

  • finite-state automata
  • regular languages (and regular expressions)
  • pushdown automata
  • context-free languages
  • formal grammars
  • Turing machines
  • the lambda calculus
  • undecidability
  • P, NP, NP-Hard and NP-Complete.

###Architecture

  • transistors, gates, adders, muxes, flip flops
  • ALUs, control units, caches and RAM
  • GPU model of high-performance computing
  • caches
  • buses
  • hardware memory management
  • design and simulate a small CPU

###Operating systems

  • how kernels handle system calls, paging, scheduling, context-switching, filesystems and internal resource management.
  • runtime systems
  • print "hello world" during the boot process;
  • design their own scheduler;
  • modify the page-handling policy; and
  • create their own filesystem.

###Networking

  • 802.3 and 802.11;
  • IPv4 and IPv6; and
  • DNS, SMTP and HTTP.
  • an HTTP client and daemon;
  • a DNS resolver and server;
  • a command-line SMTP mailer.

###Security

  • social engineering;
  • buffer overflows;
  • integer overflow;
  • code injection vulnerabilities;
  • race conditions; and
  • privilege confusion.

###Criptography

  • symmetric-key cryptosystems;
  • public-key cryptosystems;
  • secure hash functions;
  • challenge-response authentication;
  • digital signature algorithms; and
  • threshold cryptosystems.
  • create their own digital certificate and set up https in apache
  • write a console web client that connects over SSL.
  • how to use GPG;
  • how to use public-key authentication for ssh;
  • how to encrypt a directory or a hard disk.

###User experience design

  • HTML
  • CSS
  • JavaScript

###Parallelism

  • multicore, caches
  • buses, GPUs
  • CUDA and OpenCL
  • MPI
  • map-reduce

###Databases

  • LAMP stack

###Software engineering

  • SVN
  • Git
  • gdb
  • valgrind

###Formal methods

  • theorem prover

###Machine Learning

  • Bayesian networks
  • Clustering
  • Decision-tree learning

That's all folks!

self-study's People

Contributors

carlosavieira avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

Forkers

vpidaparthi

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.