Project 1 Plan
How do you start work on a large programming project? It can feel like a daunting task, but with careful planning and time-management the process is more manageable.
Objective
Understand Project 1 requirements. Build class diagrams and pseudocode.
Instructions
Take Your Time!
Give yourself time to let your brain process everything. It won't all make sense immediately; give yourself time to "chew" on all the information.
If you have any questions about the requirements, please post your question in the #help
Slack channel so everyone can benefit.
Review project requirements
Take 2-3 days to complete this step by thoroughly doing the following. Take notes, draw, diagram, write down questions; whatever helps you process the requirements.
-
Read the Project 1 Requirements multiple times! I suggest rereading them at least 3 times over the course of 2-3 days.
-
Watch the Project 1 Overview Video under Week 3 videos.
Review the class diagram
A class diagram is a visual representation of the different classes of a program and how they work together. Each class (represented below in blue) contains three key components: the class name, instance variables, and methods.
- Prefixing an instance variable or method with a plus (+) sign indicates it is public.
- Prefixing an instance variable or method with a minus (-) sign indicates it is private.
- An instance variable is followed by a semicolon and the data type.
- A method indicates its parameters in parenthesis, followed by a semicolon and the return type.
Below is the start of a class diagram for Project 1. A copy of this class diagram has been provided for you as a FigJam.
Complete the Class Diagram
Identify Instance Variables & Methods
-
Based on the project requirements, what other instance variables and methods do you think the program will need? Recall that to follow Java best practices each method should only be responsible for one task.
-
Add any missing instance variables and methods to the class diagram in the FigJam file. If you don't want to use FigJam, you are also free to create your class diagram in another tool, or with paper and pencil.
Pseudocode for the FileAnalysis class
In preparation for coding the FileAnalysis class, it is essential to create clear and well-structured pseudocode for each of its methods. Programmers often use pseudocode as a reference before writing the actual code for a program. This allows them to determine the optimal way to write their algorithms and plan the layout of a large software project without worrying about the language syntax. Having this type of recipe, not only makes your coding work easier, but it also provides an easy way to get feedback from others on your solution. Here, it’s a great way to confirm with your instructor that you’ve understood the program requirements.
-
Write Pseudocode for Each Method:
- For every method identified in the FileAnalysis class, develop pseudocode that outlines the step-by-step logic and functionality of the method. This pseudocode should be detailed enough to guide your coding process.
-
Use Plain English:
- Ensure that your pseudocode is written in plain English, devoid of any specific programming language syntax or code snippets. Focus on describing the logical flow and actions to be taken within the method.
-
Reference Pseudocode Resources:
- If you're unfamiliar with pseudocode or want to improve your pseudocode writing skills, consider referring to external resources such as this article: Pseudocode: What It Is and How to Write It.
-
Save Pseudocode Document:
- Create a text document of your choice for writing the pseudocode. Name this document
plan-pseudocode
. Save the document in the designated directory:projects/screenshots/project-1/plan
.
IMPORTANT: If your pseudocode is in a .txt file, avoid adding the .txt file extension to the filename. GitHub is configured to ignore .txt files in the upload process, so it should be saved as plan-pseudocode without the extension.
- Create a text document of your choice for writing the pseudocode. Name this document
Screenshots
Save a screenshot of the class diagram in the projects/screenshots/project-1/plan
directory as plan-classDiagram.png
.
Submit Project Plan
- Add, commit, and push!
- Verify the screenshot and your pseudocode are visible in GitHub.
- Create a new issue in GitHub: "Project 1 plan ready for review".
-
Copy the below text and paste it into the "Add a description" textarea. Answer the reflection question in the space provided.
@kkschumacher #### How will you use this plan to start the coding process for Project 1?
-
Click "Submit new issue"
Rubric
All of the following must be satisfied to achieve a "Met" status
- Demonstrates a thorough understanding of the Project 1 requirements.
- Plan is shared in a such a way that instructor can understand the design and provide feedback.
- The class diagram provides the necessary classes, instance variables, and methods.
- Pseudocode for each method in the FileAnalysis class accurately describes the logic step-by-step.
- Pseudocode is written in plain English, avoiding specific programming language syntax or code snippets.
- The plan is visible in GitHub with an issue.
- Thoughtful response to the reflection question in the GitHub issue.
Making Corrections
I will provide feedback in the GitHub issue on your project plan. If you received a "not yet", simply make the necessary corrections and reply to the GitHub issue when you are ready for me to reassess your work.