classic algorithms, code katas, etc using C# language