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.
Fall 2008
| Instructor: | Larry Whitsel |
|---|---|
| Lectures: | MWF 10:00-10:50 in 100 Neville Hall |
| Office: | 119 Neville Hall (ACM Office) |
| Office Hours: | MW 9:00-10:00 |
| Syllabus: | Fall 2008 Syllabus |
| Teaching Assistant: | Erik Albert |
| TA Office Hours: | TR 11:00-12:00 in 119 Neville Hall |
| Recitation: | Section 1: Mondays 11:00-11:50 in 206 Neville Hall |
| Section 2: Wednesdays 11:00-11:50 in 206 Neville Hall | |
| Contact Email: | cos140@umcs.maine.edu |
Announcements
- [10/2] Erik will hold extended office hours on Tuesday the 7th from 10:00 - 1:00. He should have both homework 6 and 7 graded and ready to collect in preparation for the exam.
- [9/23] There was a mistake in the answer key for homework 3
that I didn't catch before grading. Add one point to your grade for this assignment.
The correct answer to 3b is:
- [9/23] Tutoring for COS 140 is available from the Tutor Program. They currently have a group that meets on TR from 4:00-5:00PM. If would like to request a tutor, please call 581-2351 or visit 104 Dunn Hall.
- [9/8] Erik goofed when he wrote the truth table for the three-input XOR operator in today's recitation.
The operator has the same truth table as this circuit:
XOR is a binary operation, so the 3-input gate is really a shortcut for drawing the circuit shown above. - [9/3] Erik will be off-campus from 9/11 - 9/19 and will not be able to hold his scheduled office hours. If you have any questions during this time, you may email him or see Larry during his office hours.
Course Overview
We will look at five areas of computer science which work together to build usable computing platforms:
- digital logic
- computer organization and architecture
- programming language constructs
- operating systems
- networks
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.
Frequently Asked Questions
COS 140 was designed to help computer science majors in two ways:
- It allows students to get a taste of what the major will entail, before they complete a year of programming courses.
- It helps students to think like computer scientists by showing them how to identify problems in the field and by teaching them how other computer scientists have successfully addressed these problems.
Although COS 140 is required of all our majors, it will be especially good for:
- Students with little or no programming experience - especially those who are not sure what computer science is.
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 who love to program, but who do not know what else is entailed in a computer science major.
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.