1. Objective / Мета роботи
Implement the foundational operations on finite sets without using any pre-built set libraries or classes.
By the end of the work the student should be able to:
- represent a finite set in a chosen programming language using only basic data structures (arrays/lists), enforcing the defining property that a set contains no duplicate elements;
- implement and test the core constructors and queries — creation from a raw list, insertion, deletion, and membership testing;
- implement the binary set operations — union, intersection, and difference — and the complement with respect to a universal set, matching the formal definitions from Lectures 1–2;
- parse and evaluate a simple symbolic expression over named sets that combines the above operations;
- reason about the correctness and order-independence of a set implementation and about the time complexity of each operation.
The work consolidates the material of Lecture 1 — Set theory and Lecture 2 — Set algebra by turning the definitions into running code.