Udacity CS 101: Ambiguity, Grammar and Backus Naur form

The subsequent video explains why we do not use English or Mandarin to communicate with computers. It might seem natural to want to use a language we are all familiar with to talk to a computer, but there are problems with how computers work that will make it even more difficult to make the computer understand English than to write a new language to speak to computers.

The first point brought up is that of ambiguity, just check out the meaning of biweekly on the dictionary and perhaps you will understand why. It has two meanings, first being occurring twice a week, and second being occurring once every two weeks. Computers are designed to follow instructions strictly, and you can only guess what the computer will do if it encounters such words.

The second point is that our natural language is verbose. Like we have learned, the computer follows sequences of instructions very strictly, and to describe programs in a precise manner such that computers can understand and execute as we want it to, we will have to write long lines of text just to do a simple function.

Now that we understand the reasons behind having a language entirely for communicating with computers, lets get down to learning this new language. Python has its own grammar, just like English, that we will learn and eventually be comfortable with. There is a mention of FORTRAN programming language, which is a language developed in the 1950s for mainly engineering and scientific computing.

Professor Evans introduces something called the Backus-Naur form, which is a way of describing the grammar (or we will call it syntax from now on) of a programming language. Basically the few keywords here are non-terminal, which are terms that can be replaced by what is aptly named replacements, and the replacements themselves can be non-terminal terms (which will continue the cycle) or the terminal terms. Terminal terms end the replacement cycles. This entire process is known as a derivation, and the process ends when only terminals are left in the original sentence.

Guess what, CS 101 just taught me something about English that I have never learned before! Or maybe I just wasn’t paying attention during grammar lessons.

The Eat Quiz that follows tests if you have been paying attention to the video of Backus-Naur form, (I’m starting to like the quizzes). Nothing too challenging here. If you happen to get it wrong just re-watch the video, or just skip to the answer video and Professor Evans will explain the flow of the entire concept.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s