DEV Community

Liudmyla
Liudmyla

Posted on

Codecademy. Project #1: Software Development Concepts

Hi! I started studying a new profession for myself in the field of IT. I decided to start with a course "Introduction on IT" on the website "Codecademy". In order to receive a course completion certificate, I have to complete Software Development Concepts project.
The main task is a creation design a pattern searching algorithm. For example, we use this algorithm to search for a word in a specific body of text, like a dictionary or а website.The implementation of the project is divided into several steps. I suggest you take a closer look.

Step 1. Plan and write the algorithm

Task: "Take two string values called text and pattern. Search through the value of text to check if the value pattern can be found within text. Notify the user if pattern was found in text or not."
Solution: I will write down the algorithm and all actions related to it in a notebook:

  1. Create a string variable named "text" and input the value of the text that we plan to search through
  2. Create a string variable named "pattern" and input the value of the pattern that we are looking for in the text
  3. Create a "match_count" variable and set it to 0
  4. Decision: Have we finished searching the text value?
    • If no, continue to step 5
    • If yes, continue to step 7
  5. Iterate to the next word in the "text" variable
  6. Compare value of "text" to the value of "pattern". Decision: are they equal?
    • If yes, go to step 7
    • If no, go back to step 5
  7. If match count is equal to the length of the pattern: pattern found! otherwise: pattern not found!

Step 2. Draw a flowchart

Task: "Match each step from the previous task to an appropriate shape and then connect all these shapes together to create a flowchart."
Solution: I am attaching my flowchart.

Image description

Step 3.Test the Chart

Task: "Test your solution by going through your flowchart with the following values

  1. text = "ERROR: Invalid function arguments"; pattern = "ERROR"
  2. text = "ERROR: Out of memory"; pattern = "network"
  3. text = "ERROR: The file is write-protected"; pattern = "protected" Solution: I will conduct an analysis inputs to make sure it works as expected.

Step 4. Produce the Pseudocode

Task: "Using the finely-tuned flowchart as a guide, get more technical by creating the pseudocode that corresponds to the previous steps and flowchart."
Solution: I am creating a pseudocode that looks as shown below.

define text
define pattern
create a match_count variable and set it to 0
if the entire text hasn't been searched:
iterate to the next character of the text
if the entire pattern hasn't been searched:
if this character from the pattern is equal to the character from text:
increment the match_count variable
if match_count is equal to the length of the pattern:
pattern found!
otherwise:
pattern not found!

Thank you for reading my article to the end! This is my first project, so it is interesting and difficult for me at the same time. I would appreciate your suggestions for improving my template.

Latest comments (1)

Collapse
 
invictus476 profile image
invictus476

Great job on your project! I was able to use your template to complete my first project.