Brushing Up My Computer Science Skills – A Deep(er) Dive

This blog post is about Computer Science and my current skills in it. While I started to work on side projects (such as PHPAlgorithms, Keestash or Unread News), I have neglected my theoretical knowledge (and the practice following the theory).

I want to brush them up a little and utilize this blog post as a summary for my future self and for everyone who is interested in it. If one section becomes to large, I will probably swap it out into an separate blog, let’s see.

My approach is incrementally: First, I set up a plan and denote them as headings here. Then, I will start filling up the chapters. Feel free to reach me out if you think there is something missing or not correct.

Data Structures

Possibly revisiting (maybe refactoring) PHPAlgorithms and “Cracking the Coding Interview”.

Algorithms

See “Data Structures”

Big O

Understanding / analysing source code from a Big O-Point of View (time and space complexity)

Distributed Systems / Networking / System Design Related Issues

I think the topics mentioned in the header are slightly coupled to each other. Thus, it makes sense to handle them together.

Web Technologies

  • basic structure of the internet
  • HTTP (HTTP Pipelining / Persistence)
  • TCP / IP
  • Protocols
  • Cookies (what they are and why they are useful)
  • Networking (maybe covered through the chapter above)

Object Oriented Theory / Concepts

Database Theory and SQL

  • Replication
  • Architecture
  • Commands
  • Query Design

Linux / Unix

  • Commands
  • Shell Scripting
  • Regular Expressions
  • general sysadmin skills
  • Streams
  • Sockets

Last Update: 02.12.2019 19:15. Change Description: initial document

Leave a Comment