BigThinking.io

Using Pseudocode to Solve Complex Problems

Pseudocode is a great method for uncovering unclear decisions, hidden side effects, and for defining all inputs, outputs and interactions needed to effectively solve a problem.
The art of successfully executing great ideas involves becoming better at problem solving, listening & communicating. Pseudo-coding is often used by programmers. Writing a program in pseudocode is a program language-agnostic technique that involves describing the function to be written in a high level, plain-English (natural language).Pseudocode is not just for novice programmers, It is an excellent problem solving tool, particularly for writing complex algorithms. It also works well as a follow-up to creating well thought-out user scenarios and user stories. It is a great method for uncovering unclear decisions, hidden side effects, and for defining all inputs, outputs and interactions needed to effectively solve a problem.

  1. Describe the problem to be solved/function to be implemented. Break large problems into sub groups of problems.
  2. Determine the root cause of the problem or the reason for the function. What is the expected outcome for solving the problem? What is the impact of not solving this problem? Understanding “why” will keep you rooted in the bigger picture.
  3. Indicate what you need to know to solve the problem.
  4. Describe the environment where the solution will exist. Describe the people, places and things that are impacted? How does the environment interact with your solution? How is it impacted by your solution? This will help you to evaluate the larger impact and to also uncover any assumptions or pre-conditions that you’re assuming will be present or active.
  5. Document the high-level solution. Writing it out is the next best thing to talking (or walking) it out.  This is an excellent way to communicate your intent.
  6. Detail the steps for executing the solution. “When <the problem> occurs, First <an actor will> do this, then  <an actor will> do that, then <this solution will> do this other thing”
  7. For each step, evaluate & indicate the outcomes. What do you need to know to perform the step? What are the results of performing the step? This is how you communicate the expected outputs & post-conditions.
  8. Now how many steps did that take? How can you make it faster, better, smarter? (similar process to editing a story). You may uncover some unnecessary steps, redundant procedures or methods for more efficiently solving the problem.
  9. Rinse & repeat.

 

Kishau Rogers

Kishau Rogers is an award-winning technology entrepreneur specializing in wrangling complexity using computer science, systems thinking, creativity, and common sense. She is the Founder & CEO of Time Study, Inc., a high-growth startup offering solutions for using machine learning, advanced natural language processing, and data science to automatically tell a story of how enterprise employees spend their time and its impact on the areas that matter. As the Founder and CEO of Time Study, Kishau is one of the first Black women in Virginia to raise millions in venture capital to scale her tech startup. She is also the owner of Websmith Studio and the editor of the bigThinking project, a resource for promoting the principles of systems thinking.

Kishau’s work is featured in Forbes, The Wall Street Journal, Entrepreneur, and Black Enterprise. In addition, she is a recipient of many awards, including the VCU Distinguished Alumni (in Computer Science), NAWBO Wells Fargo STEM award, the Lyn McDermid Community Impact Award, and the MBL Entrepreneur of the Year Award.

In her commitment to using technology as a tool for social good, she also serves as an advisor to organizations and initiatives like AI for Afrika, Think Of Us, WAAW Foundation, Level Up Ventures, Virginia Commonwealth University Department of Computer Science, the first U.S. White House Hackathon for Foster Care and SheHacks Africa, a software engineering intensive providing training to women & girls across Africa.

She holds a Computer Science degree and has over twenty-five years of experience in the technology industry and more than 15 years of entrepreneurial leadership.

Subscribe

Join our community of bigThinkers! Subscribe to learn, share and receive resources to apply to wicked problems.

Follow us

Don't be shy, get in touch. We love meeting interesting people and making new friends.