> For the complete documentation index, see [llms.txt](https://computational-thinking-in-room11.gitbook.io/room112-textbasedprogrammimg/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://computational-thinking-in-room11.gitbook.io/room112-textbasedprogrammimg/unit-2/writing-algorithims.md).

# Writing Algorithims

Learning the functions and syntax in text based language is NOT the hard part. Writing efficient algorithims to solve a problem is the hard part because it requires abstract thinking about both the problem and the possible solution.

Before we start programming, either creatively or to solve a problem, we should plan or visualize our program code. We can use this plan to develop specific instructions for the computer

We can use flowcharts or psuedoce in planning - in this class we will focus more on psuedocode. However, visual thinkers should feel free to use flowcharts if they produce better investigative thinking or program design. Programming styles are individual!

![](https://537336712-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-MRkck3YtWvrksjZO3Z7%2F-MRkfc6eppiUFYCVZhFn%2F-MRkh6o1qmRjG2jdXv_B%2Fimage.png?alt=media\&token=e82656b2-eced-4ae3-ac06-e2113c309d0c)
