krp / education

Repository with useful links for teaching & learning various topics.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

education

Go

Python

Rust

Lisp

Courses

Programming Language Creation

Distributed

Scalability

State Machines

Game

JavaScript

Web

Docker

Artificial Intelligence / Machine Learning / Deep Learning

Security / Reverse Engineering / Malware Analysis

Cryptography

Internet of Things (IoT)

Academic Papers:

http://lamport.azurewebsites.net/pubs/pubs.html

Books

Courses

Career

Interviews

Remote

Design

Design Tools

Misc

Conferences

Software Design

  • Jon Ousterhout - Creating Great Programmers
  • Create thick classes (small interface that hides a lot of complexity).
  • Define Errors out of existence. Define your system so that there is no error. Minimize the number of places where someone has to worry about an exception.
  • Specialization makes classes complicated. Making them generic simplifies things.
  • Students should take course as late as possible (e.g. after taking operating systems course).

Course Platforms

About

Repository with useful links for teaching & learning various topics.