What is programming?

When learning how to play a musical instrument, a lot of your time needs to be spent practicing: actually playing that instrument. Learning to program is very similar; most of the time learning to program should be spent actually programming.

Each week in this class, I will assign some readings and/or videos for you to read (watch). This is mostly the only homework for this class, but it is very important that you do it. We will not spend time in class discussing these readings; instead we will assume that you know them and will spend the time in class practicing what you are learning.

This week, we get started with our first steps toward programming. It helps to try to understand some important concepts that we will then use during programming. You can program without these concepts, but the programs will be easier and make more sense if you’ve heard of these concepts and have a basic understanding of them.

That’s why we have some readings each week. These readings will help you understand better what you are trying to do as you program. You can program without them, but it will be much much harder. Spending a little bit of time reading and trying to understand what you are reading will make it much easier to actually do programming during class.

For this week, please read and/or watch about programming:

Additionally, please read the following. These readings cover how to get python to do some things, including using it as a calculator and getting it to output things. To understand the concepts, read these online book chapters:

Yes, I know that there is overlap in these chapters; they sometimes talk about the same things. Please read all of them. This won’t take long, and having heard the concepts in different places and in different ways will help them make more sense to you.


Summary + Question

Don’t spent a lot of time going back through these readings. It is important to read them, but don’t read them multiple times right now. If there are things in them that don’t quite make sense yet, that’s OK; you’ll get a chance to actually do some programming in class where you use many of these concepts, and that will hopefully help those concepts make more sense.

After reading and/or watching the week’s assignment, you need to write up what I am calling a “Summary + Question”. This has two parts (obviously :):

Summary

Sometimes, you will be asked to do an “open summary”, where you summarize what you understand about the concept of the week. Other times, you will be asked to do a “guided summary” where I specifically give you a question or two and ask you to answer them. Either way, the summary should be more than one sentence long, but no longer than one-two paragraphs. Either way, this is your opportunity to really think about the topic for the week and try to wrap your brain around it. Don’t quote from the readings; instead try to integrate across them and use your own words to explain the concept.

For this week, we will do a guided summary. I want you to summarize your thinking about these readings by answering the question “Why do I want to learn computer programming?” Use the readings to help you think about this question, and really give it some thought. It is easy to give a flip answer to this question like “so-and-so told me to”, or “it will help me get a job”. But that’s not enough; many people tell you to take classes that you don’t end up taking, and lots of different things might be useful for jobs. Why programming?

Question

Second, I would like you to think carefully and ask a thoughful question about the readings. That’s right – YOU ask the question. The instructor and the TAs will read through these questions before class, and use them to help tailor the class to the things that you are interested in and to help make sure that you are able to learn the things that you found confusing.

There are three types of questions that you can ask (though you only have to ask one question):

  • A confusion question asks about something that you are still confused about even after reading and watching the assigned material. It can be confusion about a specific point or a more general confusion about the topic overall. Confusion is OK an normal when learning a new skill.
  • A curiousity question asks about something that makes you want to learn more about. The readings and/or videos may have gotten you to think about something else that is related, but not really discussed in the material that you don’t understand; that is, it got you to be curious about something else. This is a great chance to express that curiousity.
  • A connection isn’t a question; instead, it is an example that applies the concept that your are learning to some other aspect of your life or some other interesting thing in the world.

After reading the material, come up with one question; it can be of any of these three types.

The question+summary should be submitted on Canvas.


This site uses Just the Docs, a documentation theme for Jekyll.