# 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](../../Lectures/CDM-L01.md) and [Lecture 2 — Set algebra](../../Lectures/CDM-L02.md) by turning the definitions into running code.