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;