diff --git a/projects/Assignments/homework1/SnellConsoleOutput.png b/projects/Assignments/homework1/SnellConsoleOutput.png
new file mode 100644
index 0000000000000000000000000000000000000000..4badd29f60cb8e49fb513dc7744f03a5a027e1e6
Binary files /dev/null and b/projects/Assignments/homework1/SnellConsoleOutput.png differ
diff --git a/projects/Assignments/homework1/SnellHW2UmlDiagram.pdf b/projects/Assignments/homework1/SnellHW2UmlDiagram.pdf
new file mode 100644
index 0000000000000000000000000000000000000000..9185dd6a68fb098cc2a69338ad802537bbc10530
Binary files /dev/null and b/projects/Assignments/homework1/SnellHW2UmlDiagram.pdf differ
diff --git a/projects/Assignments/homework1/SnellPositionClient.java b/projects/Assignments/homework1/SnellPositionClient.java
new file mode 100644
index 0000000000000000000000000000000000000000..5c6f860e44facd49d340d822bc3369f3502d3674
--- /dev/null
+++ b/projects/Assignments/homework1/SnellPositionClient.java
@@ -0,0 +1,39 @@
+//package PositionClient;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.PrintWriter;
+import java.net.Socket;
+import java.net.UnknownHostException;
+
+/**
+ *
+ * @author AJSNELL
+ */
+public class SnellPositionClient {
+    /**
+     * @param args the command line arguments
+     * @throws java.io.IOException
+     */
+    public static void main(String[] args) throws IOException {
+        String hostName = args[0];
+        try (Socket clientSocket = new Socket(hostName, 8005);
+                PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
+                BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));
+                BufferedReader stdIn = new BufferedReader(new InputStreamReader(System.in))) {
+                    String userInput;
+                    out.println("unit id: 1\nunit pos: 11S MS 4859 9849");
+                    while ((userInput = stdIn.readLine()) != null) {
+                        out.println(userInput);
+                        System.out.println("from client: " + in.readLine());
+                    }
+        } catch (UnknownHostException e) {
+            System.err.println("Don't know about host " + hostName);
+            System.exit(1);
+        } catch (IOException e) {
+            System.err.println("Couldn't get I/O for the connection to " + hostName);
+            System.exit(1);
+        }
+    }
+}
\ No newline at end of file
diff --git a/projects/Assignments/homework1/SnellPositionServer.java b/projects/Assignments/homework1/SnellPositionServer.java
new file mode 100644
index 0000000000000000000000000000000000000000..85577572671a01a2e653e127c045122977e4d6e5
--- /dev/null
+++ b/projects/Assignments/homework1/SnellPositionServer.java
@@ -0,0 +1,30 @@
+//package positionserver;
+
+import java.io.BufferedReader;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.net.ServerSocket;
+import java.net.Socket;
+import java.io.PrintWriter;
+
+public class SnellPositionServer {
+    /**
+     * @param args the command line arguments
+     * @throws java.io.IOException
+     */
+    public static void main(String[] args) throws IOException {
+        try (ServerSocket serverSocket = new ServerSocket(8005);
+                Socket clientSocket = serverSocket.accept();
+                PrintWriter out = new PrintWriter(clientSocket.getOutputStream(), true);
+                BufferedReader in = new BufferedReader(new InputStreamReader(clientSocket.getInputStream()));) {
+            System.out.println("Client connected on port 8005");
+            String inputLine;
+            while ((inputLine = in.readLine()) != null) {
+                System.out.println("Received message: " + inputLine + " from " + clientSocket.toString());
+                out.println(inputLine);
+            }
+        } catch (IOException e) {
+            System.out.println("Exception when trying to listen on port 8005");
+        }
+    }
+}
\ No newline at end of file