COS 140 is a new course in computer science designed to help first year majors to begin to think like computer scientists, to help non-majors get a rigorous overview of the field, and to help undecided students find out if computer science is for them.
Students will be introduced to the field by learning about a series of problems that confront those designing computers and understanding how computer scientists develop techniques for meeting these challenges. The course will give students a framework for understanding the issues surrounding computers that can be used both in advanced computer science courses and in everyday life.
| Instructor: | Roy Turner |
|---|---|
| Lectures: | MWF 9:00-9:50 in 208/210 Neville Hall |
| Office: | 231 Neville Hall |
| Office Hours: | TTh 1:00-2:00 |
| Syllabus: | Revised Fall 2009 Syllabus |
| Schedule: | Revised Fall 2009 schedule |
| Textbook: | Chapters of draft textbook available |
| Teaching Assistant: | Larry Whitsel |
| TA Office Hours: | TBA (in 119 Neville Hall) |
| Recitation: | Section 1: Wednesday 11:00-11:50 in 206 Neville Hall |
| Section 2: Friday 11:00-11:50 in 206 Neville Hall | |
| Contact Email: | cos140@umcs.maine.edu |
| Homework: | on-line copies available |
We will look at five areas of computer science which work together to build usable computing platforms:
For each area, we will begin with a broad introduction, then we will examine, in detail, several techniques that are used in that area.
No experience with programming is required for this class, and programming will not be taught.
COS 140 was designed to help computer science majors in two ways:
Although COS 140 is required of all our majors, it will be especially good for:
Before COS 140 was developed, students with little or no programming experience were placed in COS 120, an introductory programming course which does not count toward the major. Starting in Fall 2005, all students will take COS 140, possibly with the new introductory programming course (COS 125). COS 140 does not teach programming, but gives students a sophistication about computers that will help prepare the student to begin programming and help them in more advanced courses in the major. COS 140 will be especially good for students who are not sure what computer science is or if it is for them.
Students often choose computer science as a major because they like to program. In many cases, this is a good choice. Programming is a necessary skill for computer science majors. And, because it is a skill shared by most computer scientists, many of the metaphors and models used to understand computer science are built on a knowledge of programming. However, computer science and computer programming are two distinct enterprises requiring distinct knowledge, skill and talent. So, in some cases, students who love to program do not enjoy the computer science major. These students then feel frustrated in their upper-level courses because they are no longer expected to focus on the programming that brought them into the major.
COS 140 will help these students decide if computer science will be as interesting to them as computer programming.