Cohesive Subgraph Computation Over Large Sparse Graphs: Algorithms, Data Structures, and Programming Techniques