diff --git a/assignments/src/MV3500Cohort2021JulySeptember/homework3/package-info.java b/assignments/src/MV3500Cohort2021JulySeptember/homework3/package-info.java
new file mode 100644
index 0000000000000000000000000000000000000000..08be8b4231027e92f2966cb033babcc99976f1ba
--- /dev/null
+++ b/assignments/src/MV3500Cohort2021JulySeptember/homework3/package-info.java
@@ -0,0 +1,10 @@
+/**
+ * Final project assignments supporting the NPS MOVES MV3500 Networked Graphics course.
+ * 
+ * @see <a href="https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500/-/tree/master/assignments">networkedGraphicsMV3500 assignments</a>
+ * @see java.lang.Package
+ * @see <a href="https://stackoverflow.com/questions/22095487/why-is-package-info-java-useful">StackOverflow: why-is-package-info-java-useful</a>
+ * @see <a href="https://stackoverflow.com/questions/624422/how-do-i-document-packages-in-java">StackOverflow: how-do-i-document-packages-in-java</a>
+ */
+
+package MV3500Cohort2021JulySeptember.homework3;
diff --git a/assignments/src/MV3500Cohort2021JulySeptember/homework4/package-info.java b/assignments/src/MV3500Cohort2021JulySeptember/homework4/package-info.java
new file mode 100644
index 0000000000000000000000000000000000000000..7a6e627be7b8d8931f487ca94175b74e4d2fcbbc
--- /dev/null
+++ b/assignments/src/MV3500Cohort2021JulySeptember/homework4/package-info.java
@@ -0,0 +1,10 @@
+/**
+ * Final project assignments supporting the NPS MOVES MV3500 Networked Graphics course.
+ * 
+ * @see <a href="https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500/-/tree/master/assignments">networkedGraphicsMV3500 assignments</a>
+ * @see java.lang.Package
+ * @see <a href="https://stackoverflow.com/questions/22095487/why-is-package-info-java-useful">StackOverflow: why-is-package-info-java-useful</a>
+ * @see <a href="https://stackoverflow.com/questions/624422/how-do-i-document-packages-in-java">StackOverflow: how-do-i-document-packages-in-java</a>
+ */
+
+package MV3500Cohort2021JulySeptember.homework4;
diff --git a/assignments/src/MV3500Cohort2023MarchJune/homework1/README.md b/assignments/src/MV3500Cohort2023MarchJune/homework1/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..e5bd42a3887286271cc8c591aea01fa2b56f783c
--- /dev/null
+++ b/assignments/src/MV3500Cohort2023MarchJune/homework1/README.md
@@ -0,0 +1,11 @@
+## Homework 1: Unicast Networking
+
+Welcome everybody! This is where your homework goes.
+
+Deliverables:
+
+* Update unicast sockets sender/receiver, modifying provided code, test via telnet.
+* Demonstrate ability to build, run and document Java programs that perform networking tasks.
+
+Please see the [README.md](../../../README.md) in the parent
+[assignments](../../../../assignments) directory for detailed instructions.
diff --git a/assignments/src/MV3500Cohort2023MarchJune/homework1/package-info.java b/assignments/src/MV3500Cohort2023MarchJune/homework1/package-info.java
new file mode 100644
index 0000000000000000000000000000000000000000..c65b281e1319b994cd75bb19990c9c5e74dfe79c
--- /dev/null
+++ b/assignments/src/MV3500Cohort2023MarchJune/homework1/package-info.java
@@ -0,0 +1,10 @@
+/**
+ * TCP Unicast homework assignments supporting the NPS MOVES MV3500 Networked Graphics course.
+ * 
+ * @see <a href="https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500/-/tree/master/assignments">networkedGraphicsMV3500 assignments</a>
+ * @see java.lang.Package
+ * @see <a href="https://stackoverflow.com/questions/22095487/why-is-package-info-java-useful">StackOverflow: why-is-package-info-java-useful</a>
+ * @see <a href="https://stackoverflow.com/questions/624422/how-do-i-document-packages-in-java">StackOverflow: how-do-i-document-packages-in-java</a>
+ */
+
+package MV3500Cohort2023MarchJune.homework1;
diff --git a/assignments/src/MV3500Cohort2023MarchJune/homework2/README.md b/assignments/src/MV3500Cohort2023MarchJune/homework2/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..228562ae0d89582d6abd41d3032178341acdac32
--- /dev/null
+++ b/assignments/src/MV3500Cohort2023MarchJune/homework2/README.md
@@ -0,0 +1,24 @@
+## Homework 2: Client/Server Networking
+
+Deliverables:
+
+* Modifying provided code for a multicast sockets sender/receiver.
+* Demonstrate proficiency to build, run and document software that performs networking tasks.
+
+Approach:
+
+0. Think of a simple challenge/response protocol that you wish to portray.
+1. Apply your own customized version of Assignment 2 showing both Server and Client programs.
+  1. Challenge/response scenarios
+  2. IPv4 versus IPv6
+  3. Joke telling and riddles?
+  4. [Message of the Day (MOTD)](https://en.wikipedia.org/wiki/Motd_(Unix))
+  5. Variations on a theme, protocol handshaking
+  6. Connecting two different hosts - chat
+  7. Something for your thesis!
+2. Include comments describing your modifications (aka Documentation).
+3. Include repeatable documentation of one or more sessions, including operation.
+4. Create a simple illustration of the communications exchange in a [UML Sequence Diagram](https://en.wikipedia.org/wiki/Sequence_diagram).
+
+Please see the [README.md](../../../README.md) in the parent
+[assignments](../../../../assignments) directory for detailed instructions.
\ No newline at end of file
diff --git a/assignments/src/MV3500Cohort2023MarchJune/homework2/package-info.java b/assignments/src/MV3500Cohort2023MarchJune/homework2/package-info.java
new file mode 100644
index 0000000000000000000000000000000000000000..9bc214a28b64601949cea61e29090ec61cceab42
--- /dev/null
+++ b/assignments/src/MV3500Cohort2023MarchJune/homework2/package-info.java
@@ -0,0 +1,10 @@
+/**
+ * TCP Unicast homework assignments supporting the NPS MOVES MV3500 Networked Graphics course.
+ * 
+ * @see <a href="https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500/-/tree/master/assignments">networkedGraphicsMV3500 assignments</a>
+ * @see java.lang.Package
+ * @see <a href="https://stackoverflow.com/questions/22095487/why-is-package-info-java-useful">StackOverflow: why-is-package-info-java-useful</a>
+ * @see <a href="https://stackoverflow.com/questions/624422/how-do-i-document-packages-in-java">StackOverflow: how-do-i-document-packages-in-java</a>
+ */
+
+package MV3500Cohort2023MarchJune.homework2;
diff --git a/assignments/src/MV3500Cohort2023MarchJune/homework3/README.md b/assignments/src/MV3500Cohort2023MarchJune/homework3/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..78951850a827c40841985693863e8d7fd7849b4a
--- /dev/null
+++ b/assignments/src/MV3500Cohort2023MarchJune/homework3/README.md
@@ -0,0 +1,31 @@
+## Homework 3: Example Simulation Recording OpenDIS Network Streams
+
+### Assignment
+
+* Adapt the functionality for [OpenDIS ExampleSimulationProgram](../../../../examples/src/OpenDis7Examples/ExampleSimulationProgram.java), modifying provided code
+* Result streams are recorded/saved/replayed using [PduRecorder](https://savage.nps.edu/opendis7-java/javadoc/edu/nps/moves/dis7/utilities/stream/PduRecorder.html), [Wireshark](https://www.wireshark.org) or [X3D-Edit](https://savage.nps.edu/X3D-Edit).
+
+This assignment  presents a Problem Prototyping opportunity.
+While some minimal functionality is expected, the general outline of
+a networking problem and proposed solution holds great interest.
+Think of it as a warmup preparation for your final project.
+
+This is also a freeplay opportunity. 
+You have the option to pick one or more of the provided course example programs 
+and adapt the source to demonstrate a new client-server handshake protocol of interest.
+
+Be sure to provide a rationale that justifies why the networking choices you made
+(TCP/UDP, unicast/multicast, etc.) are the best for the problem you are addressing.
+
+Refer to [homework2 README](../homework2/README.md) and [assignments README](../../../README.md)
+for further details on what specific deliverables are expected in each homework assignment.
+
+Team efforts are encouraged, though if you choose a team approach be sure to justify why.
+This is a good warmup prior to final projects. Have fun with Java networking!
+
+### Prior Assignment, August 2019
+
+In 2019, students worked together on a single project to check wireless multicast connectivity recently deployed on NPS campus.  
+
+See their experimental results in the [NPS Multicast Connectivity Report](../../MV3500Cohort2019JulySeptember/homework3).
+
diff --git a/assignments/src/MV3500Cohort2023MarchJune/homework3/package-info.java b/assignments/src/MV3500Cohort2023MarchJune/homework3/package-info.java
new file mode 100644
index 0000000000000000000000000000000000000000..8022bef21bf0262e7ebd3b4f188f29fc2334cec5
--- /dev/null
+++ b/assignments/src/MV3500Cohort2023MarchJune/homework3/package-info.java
@@ -0,0 +1,10 @@
+/**
+ * Final project assignments supporting the NPS MOVES MV3500 Networked Graphics course.
+ * 
+ * @see <a href="https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500/-/tree/master/assignments">networkedGraphicsMV3500 assignments</a>
+ * @see java.lang.Package
+ * @see <a href="https://stackoverflow.com/questions/22095487/why-is-package-info-java-useful">StackOverflow: why-is-package-info-java-useful</a>
+ * @see <a href="https://stackoverflow.com/questions/624422/how-do-i-document-packages-in-java">StackOverflow: how-do-i-document-packages-in-java</a>
+ */
+
+package MV3500Cohort2023MarchJune.homework3;
diff --git a/assignments/src/MV3500Cohort2023MarchJune/homework4/README.md b/assignments/src/MV3500Cohort2023MarchJune/homework4/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..587911d33c740f7341226132a1c7c6fa78a94cfb
--- /dev/null
+++ b/assignments/src/MV3500Cohort2023MarchJune/homework4/README.md
@@ -0,0 +1,20 @@
+## Revised Homework 4: DIS Specification Review and Feedback
+
+Deliverables:
+* read descriptions for each PDU family and type
+* consider which hold potential use for your thesis and your warfare community
+* consider whether any message types of interest might be missing
+
+A form is being prepared to facilitate collection of responses.
+
+
+## (prior) Homework 4: DIS Behavior Modeling
+
+Deliverables:
+
+* Write a DIS program that has a simple but meaningful behavior.
+* Include DIS enumerations for specific player platforms of interest.
+* Document the behavior and save the stream for possible future use. 
+
+Please see the [README.md](../../../README.md) in the parent
+[assignments](../../../../assignments) directory for detailed instructions.
diff --git a/assignments/src/MV3500Cohort2023MarchJune/homework4/package-info.java b/assignments/src/MV3500Cohort2023MarchJune/homework4/package-info.java
new file mode 100644
index 0000000000000000000000000000000000000000..95c1bd75d608c606e433ddd6197d4b74215d2e84
--- /dev/null
+++ b/assignments/src/MV3500Cohort2023MarchJune/homework4/package-info.java
@@ -0,0 +1,10 @@
+/**
+ * Final project assignments supporting the NPS MOVES MV3500 Networked Graphics course.
+ * 
+ * @see <a href="https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500/-/tree/master/assignments">networkedGraphicsMV3500 assignments</a>
+ * @see java.lang.Package
+ * @see <a href="https://stackoverflow.com/questions/22095487/why-is-package-info-java-useful">StackOverflow: why-is-package-info-java-useful</a>
+ * @see <a href="https://stackoverflow.com/questions/624422/how-do-i-document-packages-in-java">StackOverflow: how-do-i-document-packages-in-java</a>
+ */
+
+package MV3500Cohort2023MarchJune.homework4;
diff --git a/assignments/src/MV3500Cohort2023MarchJune/projects/README.md b/assignments/src/MV3500Cohort2023MarchJune/projects/README.md
new file mode 100644
index 0000000000000000000000000000000000000000..4556bd7fd5d17158459b06a8acf47e47e1b1a3af
--- /dev/null
+++ b/assignments/src/MV3500Cohort2023MarchJune/projects/README.md
@@ -0,0 +1,25 @@
+## Final Projects Summary
+
+Multiple outstanding projects across a range of theory and practice were delivered by this year's cohort.
+
+* Programming projects are providing positive benefit to applied research and future course work.
+* Point-paper projects are providing positive benefit to NPS...Next strategic efforts.
+
+Congratulations to all students on superlative work produced during our most network-challenged conditions yet.
+
+## Final Course Project Assignments 2021JulySeptember
+
+Create a dedicated subdirectory for each individual or team project.
+
+Example:  `SmithJones`
+
+See the [course syllabus](../../../../MV3500NetworkedGraphicsSyllabus2021JulySeptember.pdf) for details on how to document your project.
+
+Typical final project deliverables:
+* `README.MyProject.md` providing a basic description of goals, running the project, files, etc.
+* Source code, screen shots, console text log, and any other assets
+* Simple flowchart, simple event sequence diagram
+* DIS packet capture (text or XML, plus Wireshark pcap)
+* Powerpoint presentation, video capture of class section in Teams
+
+These deliverables have excellent value going forward, hopefully benefiting your thesis efforts as well.  Questions welcome, keep going!
diff --git a/assignments/src/MV3500Cohort2023MarchJune/projects/package-info.java b/assignments/src/MV3500Cohort2023MarchJune/projects/package-info.java
new file mode 100644
index 0000000000000000000000000000000000000000..d28f57b2b5ff2e5cbb8222a7640166fbe73be7db
--- /dev/null
+++ b/assignments/src/MV3500Cohort2023MarchJune/projects/package-info.java
@@ -0,0 +1,10 @@
+/**
+ * Final project assignments supporting the NPS MOVES MV3500 Networked Graphics course.
+ * 
+ * @see <a href="https://gitlab.nps.edu/Savage/NetworkedGraphicsMV3500/-/tree/master/assignments">networkedGraphicsMV3500 assignments</a>
+ * @see java.lang.Package
+ * @see <a href="https://stackoverflow.com/questions/22095487/why-is-package-info-java-useful">StackOverflow: why-is-package-info-java-useful</a>
+ * @see <a href="https://stackoverflow.com/questions/624422/how-do-i-document-packages-in-java">StackOverflow: how-do-i-document-packages-in-java</a>
+ */
+
+package MV3500Cohort2023MarchJune.projects;