diff --git a/problem-set/DropBall.java b/problem-set/DropBall.java
new file mode 100644
index 0000000..7aa2d7c
--- /dev/null
+++ b/problem-set/DropBall.java
@@ -0,0 +1,45 @@
+/*
+ * File: DropBall.java
+ * ----------------------------
+ * This program is a stub for the DropBall problem.
+ */
+
+import java.awt.Color;
+import java.awt.event.MouseEvent;
+
+import acm.graphics.GOval;
+import acm.program.*;
+
+public class GraphicsProgramSample extends GraphicsProgram {
+ /** Variables */
+ private static final int BALL_RADIUS = 25;
+ private GOval ball;
+
+ public void run() {
+ ball = createBall(BALL_RADIUS, Color.BLACK);
+ addMouseListeners();
+ while (true) {
+ ball.move(0, 2);
+ pause(10);
+ }
+ }
+
+ /**
+ * Create and return GOval object according its arguments
+ *
+ * @param radius type - integer, radius of the circle
+ * @param c type - Color, color of the circle
+ * @return type - GOval, the circle
+ */
+ private GOval createBall(int radius, Color c) {
+ GOval circle = new GOval(2 * BALL_RADIUS, 2 * BALL_RADIUS);
+ circle.setFilled(true);
+ circle.setFillColor(c);
+ return circle;
+ }
+
+ public void mousePressed(MouseEvent event) {
+ add(ball, event.getX() - BALL_RADIUS, event.getY() - BALL_RADIUS);
+ }
+
+}
diff --git a/problem-set/DropBall.md b/problem-set/DropBall.md
new file mode 100644
index 0000000..1190074
--- /dev/null
+++ b/problem-set/DropBall.md
@@ -0,0 +1,29 @@
+${\text{\color{silver} პრობლემა: }}$
+
+მაუსის კლიკზე იმავე ადგილზე ჩნდება ბურთი და იწყებს ვარდნას ძირს, თუ მაუსს სხვა
+ადგილზე ვაკლიკებ ბურთი გადადის ახალ ადგილზე და იქედან იწყებს ვარდნას
+
+${\text{\color{silver} პრობლემის გადაჭრის გზები: }}$
+
+1. თავდაპირველად, ფიქრის ლოგიკური პროცესი შემდეგნაირია: პირველ დაკლიკებაზე უნდა შევქმნათ ბურთი, რომელიც სულ დაბლა ეცემა და ყოველ ახალ დაკლიკებაზე წინა ბურთი ახალ პოზიციაზე გადავიყვანოთ. ასეთ მიდგომას დასჭირდება რაიმე `boolean` ცვლადი, რომელიც გვეტყვის ბურთი შექმნილია თუ არა.
+```java
+private boolean isBallCreated = false;
+
+public void mousePressed(MouseEvent event) {
+ if(isBallCreated == false){
+ add(ball, event.getX()-BALL_RADIUS, event.getY()-BALL_RADIUS);
+ isBallCreated = true;
+ }else{
+ ball.setLocation(event.getX()-BALL_RADIUS, event.getY()-BALL_RADIUS);
+ }
+}
+```
+2. იდეაში შესაძლებელია ამ კოდის კიდევ უფრო შემცირება. როდესაც ობიექტი უკვე დამატებულია კანვასზე, მისი ახლიდან დამატების შემთხვევაში ობიექტი უბრალოდ პოზიციას იცვლის ახალ კოორდინატებზე (ანუ ზუსტად იმას აკეთებს რაც გვინდა). ეს განპირობებულია იმით, რომ გრაფიკს პროგრამამ უნდა აღრიცხოს ყველა ობიექტის, რომლებიც ჰიპში არიან შექმნილნი, ადგილმდებარეობა, რათა შემდგომ `getElementAt()`-ის გამოყენება შეგვეძლოს. რადგან ერთ ობიექტს ორი მისამართი ვერ ექნება (ალოგიკური იქნება) ამიტომაც არ იხატება ახლიდან კანვასზე ბურთი.
+
+$\scriptsize \it იხ. \ კოდი \ DropBall.java \ ფაილში.$
+
+${\text{\color{#e55555}{შენიშვნა}}}$
+
+1. აუცილებელია `GOval`-ის გარეთ განსაზღვრა, რათა `mousePressed`-მა დააფიქსიროს.
+2. უმჯობესია `mouseClicked`-ის ნაცვლად `mousePressed` გამოვიყენოთ, რადგან უფრო ეფექტურად აფიქსირებს კლიკებს.
+3. `addMouseListeners` ბურთის ინიციალიზაციის მერე უნდა გვეწეროს, წინააღმდეგ შემთხვევაში შესაძლებელი იქნებოდა `nullpointerexception` ამოეგდო.
\ No newline at end of file
diff --git a/problem-set/MacEnvironmentSetup.md b/problem-set/MacEnvironmentSetup.md
new file mode 100644
index 0000000..c00e2ac
--- /dev/null
+++ b/problem-set/MacEnvironmentSetup.md
@@ -0,0 +1,43 @@
+პრობლემა: გარემოს გამართვის ინსტრუქცია Mac პლატფორმისთვის
+
+გარემოს გამართვა შეგვიძლია დავყოთ სამ ნაწილად:
+
+1. ჯავას დაყენება
+2. ეკლიფსის დაყენება
+3. სტენფორდის ბიბლიოთეკების დაყენება
+
+პირველი: ჯავას დაყენებისთვის კლასრუმზე არსებული `jre-8u221-macosx-x64.dmg` უნდა დააყენოთ. ეს მარტივად შესრულებადია, უბრალოდ გახსნით ფაილს და მიჰყვებით პროცესს და დააყენებს.
+
+მეორე: ეკლიფსის დაყენებისთვისაც უნდა გამოიყენოთ ან კლასრუმზე არსებული საინსტალაციო, ანდაც გადმოწეროთ [აქედან](https://www.eclipse.org/downloads/download.php?file=/oomph/epp/2022-12/R/eclipse-inst-jre-mac64.dmg)
+
+$\color{#ad2f25}\text{გაფრთხილება: }$ M1-ს მქონე ჩიპებიან მაქბუკებზე დარწმუნდით, რომ უახლესი OS გიყენიათ.
+
+დაყენების შემდეგ უნდა შევცვალოთ ეკლიფსის ფოლდერში ჯავას ვერსია. ამისთვის გახსენით `Finder`, შედით აპლიკაციებში და იპოვეთ Ecliplse, მონიშნეთ მარჯვენა ღილაკით და დააჭირეთ `Show Package Contents`. შემდგომ შედით Contents ფოლდერში და გახსენით `Info.plist`. აქ დაბლა ნახავთ შემდეგნაირ კოდს:
+```html
+
+
+ -keyring
+ ~/.eclipse_keyring
+
+```
+ჩვენ უნდა დავამატოთ აქ ერთი ხაზი კოდი `-vm/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/bin/java` და მივიღებთ შემდეგნაირ კოდს:
+
+```html
+
+ -vm/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/bin/java
+
+ -keyring
+ ~/.eclipse_keyring
+
+```
+შეინახეთ ფაილი და ამით ეკლიფსის ჩართვა შეგეძლებათ უკვე.
+
+მესამე: ჩართეთ ეკლიფსი და `help`-ში გახსენით `Install new software`. `work with`-ში ჩაწერეთ `https://web.stanford.edu/class/archive/cs/cs106a/cs106a.1174/resources/plugin/` ეს ლინკი და დააჭირეთ ენტერს. შემდგომ დააჭირეთ `Select All` და გადადით შემდეგ ეტაპზე `next` ღილაკით. `I accept the terms of the license agreement` მონიშნეთ და გადადით შემდეგ ეტაპზე და დაიწყებს დაყენებას. დაყენების შემდგომ ახლიდან ჩართვას მოგთხოვთ და ამის მერე ყველაფერი დაყენებული იქნება.
\ No newline at end of file
diff --git a/problem-set/Opening Project.mp4 b/problem-set/Opening Project.mp4
new file mode 100644
index 0000000..a4e0ff8
Binary files /dev/null and b/problem-set/Opening Project.mp4 differ
diff --git a/problem-set/OpeningProject.md b/problem-set/OpeningProject.md
new file mode 100644
index 0000000..799e26d
--- /dev/null
+++ b/problem-set/OpeningProject.md
@@ -0,0 +1,19 @@
+${\text{\color{silver} პრობლემა: }}$
+
+ეკლიფსში პროექტის გახსნის ინსტრუქცია და პროგრამის გაშვება
+
+${\text{\color{silver} პრობლემის გადაჭრის გზა: }}$
+
+${\text{\color{silver} \small პროექტის გახსნა: }}$
+1. გადმოვწეროთ პროექტი, რომლის გახსნაც გვინდა
+2. ჩავრთოთ ეკლიფსი
+3. დავაჭიროთ მოცემულ ღილაკს
+4. Select root directory-ის გასწვრივ დავაჭიროთ Browse და ავირჩიოთ გადმოწერილი პროექტი
+5. დავაჭიროთ Finish ღილაკს და მარცხენა მხარეს დავინახავთ დამატებულ პროექტს
+
+${\text{\color{silver} \small პროგრამის გაშვება: }}$
+1. დავაჭიროთ მოცემულ ღილაკს
+2. ავირჩიოთ ის კლასი, რომლის გაშვებაც გვინდა და დავაწვეთ Ok-ის
+3. ასე და ამგვარად ჩვენი პროგრამაც გაეშვება
+
+${\text{\color{#f08080}\small დეტალური ინფორმაციისთვის იხილეთ: \color{#e55555}{Opening Project.mp4}}}$
\ No newline at end of file
diff --git a/problem-set/images/Import Project.png b/problem-set/images/Import Project.png
new file mode 100644
index 0000000..1a282ef
Binary files /dev/null and b/problem-set/images/Import Project.png differ
diff --git a/problem-set/images/Run (Select Class).png b/problem-set/images/Run (Select Class).png
new file mode 100644
index 0000000..9df45d7
Binary files /dev/null and b/problem-set/images/Run (Select Class).png differ