Giter VIP home page Giter VIP logo

gopher-awesomeness's Introduction

Gopher-awesomeness

A collection of awesome stuff.

Enjoy :)

Caution: these notes by no means are guaranteed to be revised and coherent to the original materials (in fact, you could tell this from my poor writing XD). The way I see it is when I were grilled in an interview, I would go back to this repo and hopefully find out why instead of flipping through thousands of pages of pedantic materials, use them at your own risk.

I also append a list of books/courses that I think worth reading/watching. A list of my rss subscription is under /Resources/

Table of Contents

Books/Documents

Computer Science

Computer Science Fundamentals

Structure and Implementation of Computer Programs by Erald Jay Sussman and Hal Abelson

An awesome book to start with on programming/general computer science. Also refer to SICP in Python for a Python version and accompanying assignments/projects.

An Operating Systems Vade Mecum by Raphael Finkel

Although this book was written almost 20 years ago, it only covered core OS concepts hence is not that "dated". If you are looking for a one-night-to-finish material on OS, this is the right one.

The Mythical Man-Month by Fred Brooks

"Software Engineering 101".

Programming and Toolchains

The Linux Command Line by William E. Shotts, Jr.

A great material on getting started with working with Linux.

How Linux Works: What Every Superuser Should Know by Brain Ward

A bit in-depth introduction to Linux/OS internals.

The LaTeX Tutorial: A Primer by Indian TeX Group

A formal presentation on core TeX features. If you are looking for an introductory material on TeX, this is the one for you.

A Tour of C++ by Bjarne Strousturp

Concise yet in-depth overview of C++(17 and even 20) features.

500 Lines or less

If you want to read some illustrative and inspiring (especially Python) codes, this is a good one.

LearnCpp.com by Alex

A comprehensive course on C++11/14 with quality exercises.

The Python Tutorial/ The Python Reference by Guido van Rossum

THE authentic guide to Python programming.

Fluent Python by Luciano Ramalho

Including advanced Python programming techniques, clear guide to Pythonic coding and design patterns.

Effective C++/More Effective C++/Effective Modern C++ by Scott Meyers

As C++ being such a pain in the ass, this series introduces C++ programming tricks and pitfalls. Also refer to C++ Core Guidelines.

The CMake Tutorial

A step-by-step guide for using CMake.

CppCoreGuidelines

Best practice from pros.

C++ Templates: The Complete Guide by D. Vandevoorde and N.M. Josuttis

Magic behind C++ generic programming.

Computer Graphics and Computer Vision

Fluid Simulation for Computer Graphics by Robert Bridson

"Fluid animation 101".

Confluence of Computer Vision and Computer Graphics by Ales Leonardis et al.

Paper collections on CV/CG research in the beginning of 21st century.

The Art of 3D Computer Animation and Effects by Issaac Kerlow

Written by "dalao" (XD) from Disney introducing animation film industry and animation techniques. A supplementary material would be "Computer Animation: Algorithms & Techniques by Rich Parent" (but this book is a bit dated).

Nonlinear Continuum Mechanics for Finite Element Analysis by Bonet and Wood

Deformable object, elastic material simulation.

Foundations of Physically Based Modeling and Animation by Ronald House and John Keyser

"Physics modelling 101" (mass-spring systems, particle-based systems, deformable object simulations and all you need to know)

The Art of Fluid Animation by Jos Stam

"Fluid animation 102"

Real Time Collision Detection by Christer Ericson

Literally speaking, every popular game engine contains code snippets from this book.

Artificial Intelligence and Machine Learning

Reinforcement Learning by David Silver

Detailed notes and quality lecture videos with a plenty of examples and rigorous mathematical proofs.

Pattern Recognition and Machine Learning by Christopher Bishop

Recommending this book is a sort of cliche; however, I wish to remind you the exercises are not freakishly hard to solve as compared with its frequently mentioned counterpart -- The elements of statistical learning, a book written by J. Friedman, which is I believe written for statisticians not programmers.

Mathematics

Pure Mathematics

Linear Algebra and Its Applications by Peter Lax

Getting through linear algebra, abstract algebra, numerical algebra, linear functional analysis ...and more in only one book.

Principles of Mathematical Analysis by Walter Rudin

A comprehensive introduction to mathematical analysis.

A First Look at Numerical Functional Analysis by Walter Sawyer

A neat (and thin) book on introduction to mathematical analysis and linear functional analysis.

Princeton Lectures in Analysis I~IV by Elias Stein and Rami Shakarchi

Rank up to graduate level analysis through completing this book series :)

Celestial Encounters: The Origins of Chaos and Stability by Florin Diacu and Phillip Holmes

An informal presentation on the Differential Dynamical Systems. You can also find a looooot of anecdotes of those lovely mathemagitians.

Calculus on Manifolds by Michael Spivak

Awesome introductory material.

Applied Mathematics

Numerical Solution of Time-Dependent Advection-Diffusion-Reaction Equations by Jan Verwer and Williem Hundsdorfer

A comprehensive book on the Method of Lines on parabolic PDEs.

Computational Geometry: Algorithms and Applications by De Berg Mark et al.

A really nice textbook with examples on applications. You might have seen this being the textbook for several computational geometry courses, and there IS a reason for that :)

The Algebraic Eigenvalue Problem by James Wilkinson

A classical reference on numerical eigenvalue problems with plentiful examples.

Convex Optimization by Stephen Boyd

This book is derived from (an excellent course) EE364 from Stanford.

Computational Science and Engineering by Gilbert Strang

Modern computational mathematics for engineers. MIT 18.086 is also a great course on this topic.

Lecture notes, courses, and short articles

Graphics

FEM Simulation of 3D Deformable Solids: A practitioner's guide to theory, discretization and model reduction

Continuum mechanics for computer graphics.

An introduction to physically based animation

Physics simulation 101.

Physics based animation by Ladislav Kavan

Quite a contingent material if you are doing this.

The Material Point Method for Simulating Continuum Materials by Chenfanfu Jiang

MPM 101.

A Primer on the Kinematics of Discrete Elastic Rods by A. Novelia et al

Illustrative material on discrete elastic rods/ discrete viscous threads for simulating strands.

Discrete Differential Geometry: an Applied Introduction by Keenan Crane

For Geometry processing, and spoiler alert: you'll enjoy a great time reading it ::smile:

Differential Geometry for Computer Science

Surfaces, curves, exterior calculus.... and all that shit.

How does a Rendering Engine work? An overview

OpenGL shading pipeline walkthrough.

Algebraic Geometry for Computer Graphics

From Jim Blinn.

Misc.

Computer Vision IT412

Awesome material on camera models.

git from the inside out

Awesome explanation on git.

How C++ Works: Understanding Compilation

Thorough explanation on compiling/linking for C++ projects.

Synthesis Lectures on Computer Graphics and Animation

Lots of awesome course notes.

Radial Basis Interpolation

An in-depth explanation for RBF interpolation for a truly newbie.

Practical course on computing derivatives in code

Useful!

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.