Uncle Gary’s Guide to Practical Computer Science

Computer science is a broad field. Generally, it is the study of computational hardware, and systems for making the hardware do what you, as the computer scientist, want it to do for you. In about 20 hours, we are going to look at the most practical aspect this, which is often called programming or coding.

Before we get started, please watch one quick video: Josh Kaufman | 20 Hours to Learn Anything (Key Points Talk). This is a 3 minute subset of Kaufman’s TED talk about how to learn anything in 20 hours, The first 20 hours – how to learn anything, which you can watch if you have 19 minutes. Regardless, as you review and practice the upcoming material, remember the strategy for success:

  1. Deconstruct the skill - you will break down how to program a computer into rules that make sense
  2. Learn just enough to self-correct - you will identify quickly mistakes and how to fix them
  3. Remove barriers to practice - you will remove distractions to learning and have enough willpower to keep them from coming back
  4. Practice at least 20 hours - you are committed to working on the skill of computer programming for at least 20 hours

You will learn 1 and 2, how to deconstruct the skill of computer programming and how to recognize mistakes and self-correct. You must provide the willpower to succeed and the commitment to spend at least 20 hours. If you start this endeavor and find that you aren’t ready to handle 3 and 4, its best to set this learning opportunity aside and come back to it when you are ready.

Are you ready to begin?

images/ComputerScienceStudent.png

Consider that almost everything you do with a computer required a programmer, developer, or software engineer, all names for a computer scientist, to instruct the computer about what to do so that the computer does what you, the user, wants. These instructions are called code and writing code (*coding*) specifies how a computer will respond when the user makes a request. These requests at a high level, might be to add numbers together in a calculator, click the Play button to start or pause a movie, interact with a game, and so on. The calculator, movie viewer, and game are applications of a computer, often called apps, or more generally programs.

If you’ve only been a user, it may feel like the computer is telling you what to do. But in reality, the computer scientist coded instructions to tell the computer what to do and the computer is just executing these instructions.

This practical guide puts you in the role of the computer scientist and shows you how to get started writing programs using a programming language to convey instructions to the computer. Python, which you will use here, is one of many general purpose programming languages and is perhaps the most popular one in use today. After you learn one programming language, learning another one is relatively easy.

Learing to code or computer programming is the most practical way to start a study of computer science. For additional perspective on the difference between computer programming, which we will cover in this course, and the larger subject of computer science, read Difference between Computer Science and Computer Programming

Assignment

Answer the following questions:

  1. What is the difference between a User and a Programmer?
  2. What is Python in computer science?
  3. What do programmers use Python for?
  4. What does a user use Python for?
  5. In the Kaufman TED talk, what do you think will be the most difficult thing for you to do?
  6. How do you plan to overcome this difficulty?