Introductory Programming Fall 2004 For next time: 1) Read Chapter 1 of How to Think... 2) finish following the instructions in Chapter 1 of Olinux But don't spend more than two hours, total. Why are we here? ---------------- Of incoming Olin students, about 2/3 have programmed before in some general-purpose language. This class is not for them. About 1/3 haven't. Most of these have used computers, and some have done something programming-like. Some classes require programming. They usually teach it "on the fly". For some people, that works. For some people, it is better to get the basics first. Some people take to programming naturally, but For most people, programming is hard. This class is a chance to "get your feet under you". Why Python? ----------- 1) Python is a great first language pleasant syntax not too many exceptions for many tasks, there is one (natural) solution, rather than an unnecessary choice 2) but it's also powerful can handle large programs has lots of features and libraries some friendly languages are limited to small, "toy" programs 3) and it's similar to Matlab (which you will see in the ICB) This similarity might turn out to be confusing. We'll see. Why Linux? ---------- We'll be using Linux exclusively, even though you _can_ write Python programs in Windows. 1) I think Free Software is a better choice in an academic environment, and I want the chance to explain why. But I wouldn't inflict it on you unless I also thought it would benefit you. 2) It's different, and you will learn a lot by seeing a different perspective. 3) It's powerful, and I want you to have a chance to appreciate that. 4) The transition from user to programmer is smoother in Linux. And you can use programming to solve real problems. Example: generating photo thumbnails and HTML index. Digging a hole -------------- If you're building a house, you start by digging a hole. Before we start programming, we need to learn a little bit about Linux, and we need to do some maintenance. WARNING: The maintenance part of things is ugly and a little bit painful. Aaron and I will try to make it as quick as possible, and then we can get to the fun stuff! Plan for today -------------- 1) Quick look at the syllabus 2) Boot Linux!