Video: Writing pseudocodeIt's really easy for people to get stuck. They want to write a program and they start off looking at a blank text file and they're thinking so much about syntax and case sensitivity and curly braces and all the thousand other things to remember, that it is very easy to now, actually know, how do I start typing? Well, step one is don't. Step one is instead get away from the computer, grab a piece of paper or find a whiteboard and start writing what's called pseudocode instead. Now pseudocode is not a language.
- Where to go from here
Viewers: in countries Watching now:
Finally, the course compares how code is written in several different languages, the libraries and frameworks that have grown around them, and the reasons to choose each one.
- Writing source code
- Understanding compiled and interpreted languages
- Requesting input
- Working with numbers, characters, strings, and operators
- Writing conditional code
- Making the code modular
- Writing loops
- Finding patterns in strings
- Working with arrays and collections
- Adopting a programming style
- Reading and writing to various locations
- Managing memory usage
- Learning about other languages
It's really easy for people to get stuck. They want to write a program and they start off looking at a blank text file and they're thinking so much about syntax and case sensitivity and curly braces and all the thousand other things to remember, that it is very easy to now, actually know, how do I start typing? Well, step one is don't. Step one is instead get away from the computer, grab a piece of paper or find a whiteboard and start writing what's called pseudocode instead. Now pseudocode is not a language.
It's the term for writing your computer instructions in plain English to the point where it's readable by anyone who understands the problem, whether they come program or not. Let me show you a few examples. On a whiteboard or paper I might just write something like this. Ask user for email address. If email address matches accepted pattern, add them to email list, else show error message. Something like this. Pseudocode doesn't have formal rules, but this would be quite common to see.
Now where I'd said, ask user for email address, I could've said get email address or prompt for email address or if I really wanted to break it out I could even say create email variable, ask user for email address, store user's email address in email variable. Now that would be a little long. Or I could just say get email. I'm just trying to define the structure of this code, what has to happen in my problem. Now it's quite common to see programming keywords like if and else and while and for, but it's whatever makes sense. And you'll also see pseudocode often indented like I've done here, and like any indentation it just makes it easier to follow the structure.
Can you read the pseudocode? Does it make sense? Here's an example perhaps of going through a whole list of numbers and adding them together. We start off with set total to zero, get a list of numbers, loop through each number in the list, and add each number to total, remark where the loop ends. If number more than zero, print its positive message, else print its zero or last message, end if. It's the kind of thing that should make sense whether you can program or not. Now if you start worrying about pseudocode syntax, it's kind of missing the point.
The whole point of this is to get away from that, where you don't have to worry about braces, parentheses, brackets, off by one errors, naming conventions. It's whatever seems natural. Now it doesn't necessarily break down perfectly to one line of pseudocode, one line of real code. Sometimes one line of pseudocode like send email can cause several lines of real code. One of the best things about pseudocode is it lets you think about your problem without necessarily knowing exactly how to code it and it exposes where you need to go and learn something. Because I can describe a problem in pseudocode without having the necessary knowledge in that language.
Let's say I'm trying to build a game and I know how to work with images. I've been programming some of it already. So I might write some pseudocode code like this. If a missile-image touches the spaceship -image, well, I'm going to replace this spaceship-image with the explosion-image. I want to play an explosion sound and then I better check, is the remaining-lives counter zero? Because if it is, they don't have any lives left, so I'll show the "game over" message. But if it's not zero, I'll subtract one from their remaining lives.
I'll show begin message, I'll reset the spaceship to the starting position, etcetera, etcetera. Now I'm not saying this is necessarily the perfect pseudocode for a game, but we're following the steps here. But let's say I don't know how to play a sound in the language that I'm working with. It doesn't matter. I can still build my pseudocode. I can still write this problem out, because I know that sound has to happen. I can just put it on my personal task list for something to look up and find out how. I just write down "research how to play short sound effect." Go and figure that out and later I can come back and code this.
So pseudocode is not just for beginners. Many very experienced software developers I know still work out a lot of their problems in pseudocode as a way of better understanding it without worrying about syntax, and it's a great habit to get into to start sketching out your programming ideas in plain English before you write code.
Find answers to the most frequently asked questions about Foundations of Programming: Fundamentals .
Here are the FAQs that matched your search "" :
- Q: Using TextEdit with Mac OS 10.9 Mavericks?
Sorry, there are no matches for your search "" —to search again, type in another word or phrase and click search.