Description
We all need internet connectivity in this age of lockdowns. What steps should you go through when you do not have connectivity?
Assignment Description |
Build an application that will step through some possible problems to restore internet connectivity. Assume that your computer uses wi-fi to connect to a router which connects to an Internet Service Provider (ISP) which connects to the Internet.
Concepts tested by this assignment |
- Creation of a driver class
- Pseudo-code
- Java fundamentals, including decision structures
- Following a flow-chart
- Command-line processing
Classes |
- Class – WiFiDiagnosis
- Source code – WiFiDiagnosis.java
Assignment Details |
- Write a program based on the following flow-chart
- This class should contain a main method.
- The diagnosis will be based on the following flow-chart:
Prompt the user at each step, and if they respond that the step they took fixed the problem, exit the program.
You are required to run the application from the command line and from an IDE (like Eclipse). Take screenshots of two runs of your program with different inputs, one from the command line and one from your IDE.
Examples/Sample Runs |
If you have a problem with internet connectivity, this WiFi Diagnosis might work.
First step: reboot your computer
Are you able to connect with the internet? (yes or no)
no
Second step: reboot your router
Now are you able to connect with the internet? (yes or no)
no
Third step: make sure the cables to your router are plugged in firmly and your router is getting power
Now are you able to connect with the internet? (yes or no)
yes
Checking the router’s cables seemed to work
If you have a problem with internet connectivity, this WiFi Diagnosis might work.
First step: reboot your computer
Are you able to connect with the internet? (yes or no)
yes
Rebooting your computer seemed to work
If you have a problem with internet connectivity, this WiFi Diagnosis might work.
First step: reboot your computer
Are you able to connect with the internet? (yes or no)
no
Second step: reboot your router
Now are you able to connect with the internet? (yes or no)
no
Third step: make sure the cables to your router are plugged in firmly and your router is getting power
Now are you able to connect with the internet? (yes or no)
no
Fourth step: move your computer closer to your router
Now are you able to connect with the internet? (yes or no)
no
Fifth step: contact your ISP
Make sure your ISP is hooked up to your router.
Deliverables |
Deliverables / Submissions and Deliverable format:
Design: pseudo-code (algorithm)
Implementation:
The Java application must compile and run correctly, otherwise Project grade will be 0.
The deliverables will be packaged as follows. Two compressed files in the following formats:
- zip, a compressed file in the zip format, with the following:
- Source Code: WiFiDiagnosis.java
- Word document that includes (use provided template):
- Final Design: revised pseudo-code from initial design if necessary
- Test Plan (test cases, for each test case provide screenshot of the running application)
- Screenshots:
-
-
-
-
- One screenshot of the application running from the command prompt.
- One screenshot of the application running in your IDE.
- Screen shot of Java file (WiFiDiagnosis.java) in your GitHub repository
-
-
-
- Lessons Learned: Provide answers to the questions listed below:
-
-
-
-
- Write about your Learning Experience, highlighting your lessons learned and learning experience from working on this project.
- What have you learned?
- What did you struggle with?
- What would you do differently on your next project?
- What parts of this assignment were you successful with, and what parts (if any) were you not successful with?
- Provide any additional resources/links/videos you used to while working on this assignment/project.
-
-
-
- FirstInitialLastName_Assignment1_Moss.zip, a compressed file containing one or more Java files (This folder should contain Java source file only):
- Source Code: WiFiDiagnosis.java
-
-
- Documentation within a source code should include
-
-
-
-
- comments for each method.
- additional Comments to clarify a code.
- one block comment at the top of each program containing the course name, the project number, your name, the date, and platform/compiler that you used to develop the project, for example:
-
-
/*
* Class: CMSC203
* Instructor:
* Description: (Give a brief description for each Class)
* Platform/compiler:
* I pledge that I have completed the programming assignment independently.
I have not copied the code from a student or any source.
I have not given my code to any student.
Print your Name here: __________
*/
Grading Rubric
CMSC203 Grading Rubric – Template | Possible total Grade: 100 | Points Earned: |
Name | ||
TESTING | ||
Project must compile. If it doesn’t compile | 0 | |
Project must run. If it’s run time error | 0 | |
Follows assignment document instructions | 25 | |
Passes private instructor tests | 75 | |
Possible Sub-total | 100 | |
REQUIREMENTS (Subtracts from TESTING total) | ||
Documentation: | ||
Documentation within a source code is missing or incorrect | ||
Header comments at the top of the program are missing | -5 | |
Comments for each method are missing | -5 | |
Additional comments should be provided to clarify a code | -5 | |
Description of what class is missing | -5 | |
Design: Pseudocode/algorithm missing or incorrect | -5 | |
Javadoc is mission (if Applicable) | -5 | |
Required output screenshots are missing | -5 | |
Lessons Learned are missing or incomplete | -10 | |
MOSS zip file is missing | -5 | |
GitHub screenshot is missing | -5 | |
Programming Style: | ||
Incorrect use of indentation, naming convention, etc: | -5 | |
see coding/style standards | ||
User interface | ||
Not clear to user how data is to be entered | -4 | |
Output is not easy to understand | -4 | |
Design: | ||
Does not follow the given flow-chart | -6 | |
Does not print application header | -4 | |
Does not print the Programmer’s name at the end | -4 | |
Possible decrements: | -82 | |
Possible total grade: | 100 | Points Earned: |