Skip to content

vbmacher/learning-kit

Repository files navigation

Learning Kit

I am software engineer, and I have started learning programming in 1996, at age of 12. My first computer was IBM PS/2 Model 55SX with Intel 80386 SX, which I got from my aunt.

NOTE: At the time, I was "observing" stuff installed on my computer without internet, and I took many journeys, experiments, which often led to "broken computer".

In years, my ways of learning had improved, but I still think that playing is the fastest way to learn. Playing should be the first experience, theory should follow next.

Who is this site for

Mostly, it serves for HRs or companies I am applying for. This repository contains sample code using various technologies or algorithms which might be required for the job.

Here I present only stuff which I developed myself, it's not copy-pasted code.

What can be found here

At root you can see several sub-directories which represent some categories. The categories are mostly online sites which offer some public online assignments (courses) or challenges. Under particular subdirectory can be found solutions for problems/courses where I have participated:

Toy projects

Directory projects contains standalone "toy" projects, which are not bound with any organization or some online course. For example:

Calculators

  • Haskell - monadic + applicative,
  • Scala - parser combinators,
  • C - YACC (bison), flex

Games

  • turbo-pong (C++, Boost, SDL, GTest) - Sample Pong game for two players
  • tsp-playing (Java, Swing) - Solving Hamiltonian cycle by "convex hull" algorithm
  • sudoku-c (C) - sudoku solver
  • sudoku-csharp (C#) - sudoku solver and experimental generator
  • cubra (Haskell) - cubra qube solver
  • game-of-life (Elm) - Game-of-life in hexagonal grid
  • clovece-nehnevaj-sa (C/C++) - "Mensch �rgere Dich nicht" (Don't get angry, man) - using OpenGL, and 3D graphics
  • snake (Python) - simple Snake game - interactive + ascii

Text

  • fixlines (Haskell) - Remove newlines inside paragraphs in text files
  • cosine-sim (Scala) - Cosine similarity of arbitrary documents
  • diffcode (Scala) - Multiple similarities between semantically similar documents (e.g. Java, plaintext, 8080 assembler)

Other

  • fast-bf (Java) - Very-fast brainfuck interpreter
  • okresy (Python, Google Maps) - Retrieve distances of villages/towns from their district cities
  • python-configstore (Python) - Memory based "configuration" store, like a map, with interesting features