Skip to content

Commit

Permalink
Created a Topic Outline for Incremental Breakdown of Functionality in…
Browse files Browse the repository at this point in the history
… Pseudocode

 Added initial file and outline as already written in the issue.
 Added motivation for learning to the lesson
 Added lesson steps and worked the breakdown criteria into it instead of giving it its own section
 Revised "Hoopla" to "Hoopla Digital library catalogue"
 Removed redundant wording in motivation
  • Loading branch information
themagicianking authored Jan 10, 2025
2 parents 9ed348f + a243cd9 commit 205c31e
Showing 1 changed file with 27 additions and 0 deletions.
27 changes: 27 additions & 0 deletions practice/pseudocode.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Incremental Breakdown of Functionality in Pseudocode

## Motivation
Pseudocode is one of the most useful tools a programmer has. The ability to break down a problem into implementable steps saves you valuable time before digging into the code itself and also ensures that you fully understand the problem before you begin solving it.

## Objectives
- Spend 20-30 minutes analyzing a new feature from a screen recording
- Break down logic for prospective functionality of a given problem
- Revisit and analyze a new feature every week

## Additional Requirements
- Revisit time management slides weekly
- Intentionally break down work implementing features and share with trio/mentor
- Check in weekly with trio/mentor for accountability and support

## Lesson
Take a look at the following [Hoopla Digital library catalogue screen recording](https://www.dropbox.com/scl/fi/oot5swpkbiz6bvk4r0bo8/Hoopla-Digital-Screen-Recording.gif?rlkey=is70lgihzq686hcqm16lvjyu8&e=1&st=ot9djufc&dl=0). Make note of how the UI behaves when the user interacts with it. How do possible results appear when the user types? In what way might the information need to be stored so it can be displayed like this? Once the user hits enter, how are results displayed? When an item is selected, how does the UI change? What features are present on the new screen? Take note of all the features that you see in use and begin to break down how you would code that feature. For example, if you were writing pseudocode to plan out what happens when the user hits "play" on an audiobook, it might look something like this:

- When user clicks play/pause symbol, check if audio is already playing.
- If audio is playing, stop playing. change symbol to play symbol. store time when audio stopped.
- If audio is not playing, check time variable to see where to start playing. Start playing audio. Change symbol to pause symbol.

Some key questions to focus on when breaking down each feature:

- What inputs does the feature take?
- What procession occurs?
- What outputs are produced?

0 comments on commit 205c31e

Please sign in to comment.