Computer Technology Department, ITMO University, 2014-present.
- C++.
Big initeger arithmetics library and custom
std::list<std::string>
implementation from exam. - Programming paradigms. Implementation of arithmetic expression parsing and evaluation in Java, JavaScript, and Clojure using different programming paradigms.
- Mathematical logic. Formal proof validators, deduction theorem, a proof generator for tautologies, and generator of a+b proof in formal arithmetics implemented in Haskell.
- C++.
Custom implementation of
optional
and proxy server, written in modern C++. Latter includes low-level RAII wrappers for Linux networking interface for C, asynchronous I/O API backed by epoll, basic incremental HTTP request parser, multithreaded DNS-resolver for lower latency, and colorful log. - Android course project. Android application for playing chess via Bluetooth. Team project.
- Type Theory course. Lambda calculus homework includes normalization algorithm and type inference algorithms for simply typed lambda calculus and Hindley-Milner type system, all implemented in Haskell. Idris code includes various formal proofs based on dependent types and Curry-Howard correspondence. Course notes in LaTeX (in Russian) which are worth many sleepless nights spent on them.
- Repository for Operating Systems course starring rshd server in (almost) pure C.
- Java technologies. Deeper Java course with homework covering different parts of Java API, including concurrency (HW 8 "web crawler") and reflection API (HW 3 "implementor", an application which generates dummy implementations of provided classes and interfaces).
- Computational geometry. Working with Delaunay triangulation in C++.
- Translation methods. Parser generator for LL(1) grammars and formula translator from TeX to MathML, implemented in Haskell.