The repository to fork and complete assignments in it.
Kotlin Java
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
gradle/wrapper
src
.gitignore
.travis.yml
README.md
build.gradle
gradlew
gradlew.bat
settings.gradle

README.md

assignments

Build Status The repository to fork and complete assignments in it.

The result table.

Homework 1 (08.09 - 22.09):

  1. (4 points) Heapsort (https://en.wikipedia.org/wiki/Heapsort).
  2. (2 points) Maximum sum on paths from a root to leaves in a binary tree.
  3. (2 points) Generalized method for top-down tree traversal.
  4. (4 points) The Peano arithmetic (+, -, *, ^) in an object-oriented manner.

Homework 2 (15.09 - 29.09):

  1. (4 points) Previous homework using Unit tests and Gradle.
  2. (4 points) The computer network assignment from the spring term.

Homework 3 (22.09 - 06.10):

  1. (4 points) An AVL tree class (insertion, deletion, search). A pretty printer, which output reflects a tree structure. A lot of unit tests.

Homework 4 (29.09 - 13.10):

  1. (4 points) An set interface class (insertion, deletion, search, union, intersection). Two implementations of this interface: an AVL tree, an hash table. You are welcome to make a map interface and its implementations instead of a set.

Homework 5 (13.10 - 27.10):

In this homework you can use whatever you want for organizing concurrency.

  1. (2 points) A parallel increment without synchronization.
  2. (3 points) A parallel mergesort.

Homework 6 (20.10 - 03.11):

  1. (4 points) The tic-tac-toe game. Console and GUI interfaces. Tests for logical and console interface parts.
    • (8 points) The same task as 1st one, but on an infinity field.
  2. (4 points) Code review of 1st task.

Homework 7 (27.10 - 10.11):

  1. (4 points) A generic abstract class of an ordered list. It should implement Comparable. Two implementations: with arrays and with lists. Custom hashCode() and equals() methods must be implemented. You can't use containers from the standard library, except ordinary arrays. This task must be solved on Java.
  2. (2 point) Rewrite previous task on Kotlin using data classes.

Homework 8 (03.11 - 17.11):

  1. (4 points) An Iterable implementation for containers from the problem 4.1.

Homework 9 (17.11 - 01.12):

  1. (2 points) An interpreter for Brainfuck. It must be able to get text of a Brainfuck program and interpret it. One of tests should be hello world program.
  2. (6 points) A compiler from Brainfuck to JVM. It must be able to get text of a Brainfuck program and generate an appropriate .class file. One of tests should be hello world program.
    • (2 points) A compiler form Petooh to JVM. Same rules.
  3. ** (8 points) A converter from an ASCII text to a short Brainfuck program, which prints this text. The best work is going to be awarded.
  4. (4 points) Code review of 1st task. It should be completed till 24.11.