Python Journal Template
Directions: Follow the directions for each part of the journal template. Include in your response
all the elements listed under the Requirements section. Prompts in the Inspiration section are
not required; however, they may help you to fully think through your response.
Remember to review the Touchstone page for entry requirements, examples, and grading
specifics.
Name: Thiri
Date: /Aug/2026
Final IDE Program Share Link: [Link]
Complete the following template. Fill out all entries using complete sentences.
Python Journal Template 1
PART 1: Defining Your Problem
Task
State the problem you are planning to solve.
Requirements
● Describe the problem you are trying to solve for.
● Describe any input data you expect to use.
● Describe what the program will do to solve the problem.
● Describe any outputs or results the program will provide.
Inspiration
When writing your entry below ask yourself the following questions:
● Why do you want to solve this particular problem?
● What source(s) of data do you believe you will need? Will the user need to supply that data,
or will you get it from an external file or another source?
● Will you need to interact with the user throughout the program? Will users continually need to
enter data in and see something to continue?
● What are your expected results or what will be the end product? What will you need to tell a
user of your program when it is complete?
JobTracker is a simple program to organize and track my job applications, deadlines and application
status. The problem to solve is that without a tracking system, it is difficult to remember details
regarding high volumes of applications especially at entry level.
The program will use user-entered information such as company name, job position, application
status, and application deadline. It will allow users to add and store job applications, view saved
applications, and organize application information.
The program will display a list of job applications with details, helping users monitor their application
progress and deadlines.
Python Journal Template 2
PART 2: Working Through Specific Examples
Task
Write down clear and specific steps to solve a simple version of your problem you identified in Part 1.
Requirements
Complete the three steps below for at least two distinct examples/scenarios.
● State any necessary input data for your simplified problem.
● Write clear and specific steps in English (not Python) detailing what the program will do to
solve the problem.
● Describe the specific result of your example/scenario.
Inspiration
When writing your entry below ask yourself the following questions:
● Are there any steps that you don’t fully understand? These are places to spend more time
working out the details. Consider adding additional smaller steps in these spots.
● Remember that a computer program is very literal. Are there any steps that are unclear? Try
giving the steps of your example/scenario to a friend or family member to read through and ask
you questions about parts they don’t understand. Rewrite these parts as clearly as you can.
● Are there interesting edge cases for your program? Try to start one of your examples/scenarios
with input that matches this edge case. How does it change how your program might work?
Scenario 1: Adding a new job application
Input Data: Company name, Job position, Application status, Deadline date
Step 1. Ask the user to enter job application details.
Step 2. Create a new job application record using the entered information.
Step 3. Store the record in the application list.
Result: The new job application is saved to be viewed later.
Scenario 2: Viewing saved job applications
Input Data: List of stored job applications
Step 1. Retrieve all saved job applications from the list.
Step 2. Go through each application one by one.
Step 3. Display the company, position, status, and deadline.
Result: The user sees all tracked job applications with current details.
Python Journal Template 3
PART 3: Generalizing Into Pseudocode
Task
Write out the general sequence your program will use, including all specific examples/scenarios you
provided in Part 2.
Requirements
● Write pseudocode for the program in English but refer to Python program elements where they
are appropriate. The pseudocode should represent the full functionality of the program, not just
a simplified version. Pseudocode is broken down enough that the details of the program are no
longer in any paragraph form. One statement per line is ideal.
Help with writing pseudocode
● Here are a few links that can help you write pseudocode with examples. Remember to check
out part 3 of the Example Journal Template Submission if you have not already. Note:
everyone will write pseudocode differently. There is no right or wrong way to write it other than
to make sure you write it clearly and in as much detail as you can so that it should be easy to
convert it to code later.
○ [Link]
○ [Link]
Inspiration
When writing your entry below ask yourself the following questions:
● Do you see common program elements and patterns in your specific examples/scenarios in
Part 2, like variables, conditionals, functions, loops, and classes? These should be part of your
pseudocode for the general sequence as well.
● Are there places where the steps for your examples/scenarios in Part 2 diverged? These may
be places where errors may occur later in the project. Make note of them.
● When you are finished with your pseudocode, does it make sense, even to a person that does
not know Python? Aim for the clearest description of the steps, as this will make it easier to
convert into program code later.
Scenario 1: Adding a new job application
Start program
Ask user for company name
Store company name in variable
Ask user for job position
Store position in variable
Ask user for application status
Store status in variable
Ask user for deadline
Store deadline in variable
Create application using entered information
Add application to application list
Display "Application added"
Return to main menu
Python Journal Template 4
Scenario 2: Viewing saved job applications
Start program
Check the application list
FOR each job application in the list
Display company name, position, status, and deadline
END FOR
Return to main manu
Python Journal Template 5
PART 4: Testing Your Program
Task
While writing and testing your program code, describe your tests, record any errors, and state your
approach to fixing the errors.
Requirements
● For at least one of your test cases, describe how your choices for the test helped you
understand whether the program was running correctly or not.
For each error that occurs while writing and testing your code:
● Record the details of the error from your IDE. A screenshot or copy-and-paste of the text into
the journal entry is acceptable.
● Describe what you attempted in order to fix the error. Clearly identify what approach was the
one that worked.
Inspiration
When writing your entry below ask yourself the following questions:
● Have you tested edge cases and special cases for the inputs of your program code? Often
these unexpected values can cause errors in the operation of your program.
● Have you tested opportunities for user error? If a user is asked to provide an input, what
happens when they give the wrong type of input, like a letter instead of a number, or vice
versa?
● Did the outcome look the way you expected? Was it formatted correctly?
● Does your output align with the solution to the problem you coded for?
First, I created the two main classes for my project in Python.
Python Journal Template 6
Then, I teste it to see if it works but I got an indentation error which was fixed after I removed an extra
indentation.
However, when I typed ‘1’ to choose an option in Terminal, nothing happened.
I have yet to add actual instructions for each option so, I added instructions for what happens if option
1 is selected which is working now.
Python Journal Template 7
Next, I added instructions for option 2 in the same way and tested. The main errors I got were
indention errors. I checked each line to make sure I did not miss any funtion, made sure I saved the
file and also, if I have multiple files open for testing and is running the right one.
PART 5: Commenting Your Program
Task
Submit your full program code, including thorough comments describing what each portion of the
program should do when working correctly.
Requirements
● The purpose of the program and each of its parts should be clear to a reader that does not
know the Python programming language.
Python Journal Template 8
Inspiration
When writing your entry, you are encouraged to consider the following:
● Is each section or sub-section of your code commented to describe what the code is doing?
● Give your code with comments to a friend or family member to review. Add additional
comments to spots that confuse them to make it clearer.
class JobApplication:
# Creates a new job application object using information provided by the user.
def __init__(self, company, position, status, deadline):
[Link] = company
[Link] = position
[Link] = status
[Link] = deadline
# Converts the job application information into a readable format for displaying.
def __str__(self):
return (
[Link] + " | " +
[Link] + " | " +
[Link] + " | " +
[Link]
)
class JobApplicationManager:
# Creates an empty list when the program starts.
def __init__(self):
[Link] = []
# Adds a new job application to the list.
def add_application(self, application):
[Link](application)
# Displays all saved job applications.
def display_applications(self):
# Checks whether there are any saved applications.
if len([Link]) == 0:
print("No applications saved.")
else:
for app in [Link]:
print(app)
# Returns the total number of saved applications.
def get_application_count(self):
return len([Link])
Python Journal Template 9
def main():
# Creates the manager that will store applications.
manager = JobApplicationManager()
# Controls whether the program continues running.
running = True
# Repeats the menu until the user chooses Exit.
while running:
print()
print("===== Job Application Tracker =====")
print("1. Add Application")
print("2. View Applications")
print("3. Exit")
# Gets the user's menu choice.
choice = input("Choose an option: ")
print("You chose:", choice)
# Option 1: Add a new job application.
if choice == "1":
company = input("Company: ")
position = input("Position: ")
status = input("Status: ")
deadline = input("Deadline: ")
# Creates a new JobApplication object.
application = JobApplication(
company,
position,
status,
deadline
)
# Stores the new application.
manager.add_application(application)
print("Application added!")
# Option 2: Display saved applications.
elif choice == "2":
manager.display_applications()
# Option 3: Exit the program.
elif choice == "3":
running = False
print("Goodbye!")
Python Journal Template 10
# Handles invalid menu choices.
else:
print("Invalid option.")
# Starts the program.
main()
PART 6: Your Completed Program
Task
Provide the IDE share link to your full program code.
Requirements
● The program must work correctly with all the comments included in the program.
Inspiration
● Check before submitting your touchstone that your final version of the program is running
successfully.
[Link]
Python Journal Template 11