CS 170 in summer.
If you are considering taking CS 170 in summer, you probably have a few concerns and questions. I’ll try to address some of those here.
The course is an introduction to computer science, using Python, a popular programming language.
First, it’s an online class. We will be covering approximately the same material as an on-campus, in-person course. However, there are no lectures, so more of the burden of learning is on you. There’s no text, so you will have to read the notes I will distribute, watch some videos, and you will have to write and run more pieces of code than you would in a regular semester. That’s the way you learn how things work. I would write and run things in class; you will have to do that for yourself.
You will need a computer, of course, and internet access. Python will run on most PC and Mac platforms. Some of the things work better on PC than on Macs, but there is a workaround for most of it. It’s good if you have access to a second computer in case something happens to your primary system. If you sign up, you will probably want to download and install Python before you leave campus. All of the software is downloadable for free.
ChromeBook isn’t a good choice, nor is any other platform in which you can only install things from an app store. You can connect to a virtual Truman desktop and run Python on that, but I don’t consider that a great option.
Another consideration is that summer term is shorter than Fall or Spring semesters. We have eight weeks to cover the material. That’s about half the time of a regular semester, so things will be coming at you fast. If you have never taken a summer course, you will have to adjust. I will break things up into a week’s worth of material, and chunks will be due at 5:00 pm Kirksville time, each week. Don’t start a few hours before the deadline and expect to finish; you will find problems that take time to find and fix. You may not be able to contact me to assist you with problems in time to beat close deadlines.
You don’t have lectures or labs to attend, so you will have to pace yourself. Figure on at least three hours a day, five days a week. It’s a lot better to finish a week’s work early than work frantically to beat a deadline – and maybe get it in late. This material is easier for some people than others; you will have to find out how easy or hard it is for you.
There are about 49 modules, some optional so you can follow your interests. Each has an accompanying assignment intended to illustrate small points. These will usually be directed; you will be expected to make a modification or add a small piece of code, answer a few questions, or do some small task. Each week there will also be a program that is somewhat more extensive, requiring you to put together several things we have covered and add some new things, or explore a new concept. Things will get more complex later in the semester as you have more knowledge with which to work.
This course will probably take more of your time than most four-credit courses. Computer programming can take a lot of time. I expect that you will get stuck on assignments from occasionally. Finding and fixing problems in programs is part of the experience of programming. I will be your resource for help on programs and assignments. Email usually works okay, but online chats are sometimes more effective. I am not going to set fixed hours to be available, but I will usually be around most evenings and intermittently during the day. I work largely from home, and thunderstorms can take me offline without warning. If you need to chat with me, we will find a time we can agree on. I will rarely be on campus, and may not even be in the state. Phone calls don’t work with programming problems; there are just too many things that show up better in text form.
If you have serious problems that prevent you from working or emailing me, like a dead computer, let me know as soon as feasible – a phone call to 660-785-4547 (CS Department Office) will get to me.
Let me be explicit about what does not work. Every year, I have students who think they don’t need to read my notes, who wait until the last minute to start working, or who rely on Google. Their experience has been uniformly negative. Things are going at double speed since this is a summer class anyway. If you get behind, it is hard to get caught back up.
I generally prefer that you get code to work, rather than give partial credit. Partial credit is rather difficult to assess; sometimes one very small thing may be the only change needed, yet represent a large gap in understanding, and sometimes a minor misunderstanding may result in a lot of incorrect code. When I tell you to fix something, I expect you to work on it quickly, as in a couple days.
I am willing to be a little flexible on deadlines if necessary, if you lose internet access or have other technical issues. If you will be unable to access your email, or, worse, your computer, let me know in advance if you can. Mostly, I prefer that you work ahead if you know you will have a problem. I have no flexibility on the end of the semester; that’s a hard deadline.