Princeton University
Computer Science Department

Computer Science 111
Computers and Computing

Professor Jaswinder Pal Singh 

Spring 2003


Course Summary

This course is intended for students from the humanities and social sciences who want a one-course introduction to computers, and have little or no computer experience. No mathematics or science background is assumed. The course is a broad introduction to computer science. Emphasis is on understanding how computers really work and what they can and cannot do. This includes discussions of the technology that gives online access to the world's knowledge and the intellectual property this brings, future prospects for artificial intelligence and essential limitations of the computer, such as undecidability. Many of the motivating examples for course topics will come from the student's experience, e.g. navigating the World Wide Web.

The laboratory is complementary to the classroom work, uses PCs, and is based on the Internet and the World Wide Web. Students will ``surf'' the internet and construct their own home pages in the first few weeks. They will add to their home pages throughout the semester, while exploring a broad spectrum of practical applications, including graphics, digital sound and spreadsheets. There will also be labs that provide a gentle introduction to programming in Visual Basic. 

Comparison of 100-level Computer Science Courses

The Department of Computer Science offers three 100-level courses: 109, 111 and 126. COS109 and COS111 are both intended for students from the humanities and social sciences who want a one-course introduction to computers, and who have little or no computer experience beyond word processing and Web surfing. Overall, the two courses will cover similar material. However, the courses have different emphases, and many topics will receive significantly different treatments. The average technical depth is greater in 111 than in 109. The courses will share early labs, but diverge thereafter. The workload is intended to be about the same. No mathematics or science background is assumed.

COS111 is a broad introduction to the fundamental ideas of computer science and the influence of these ideas on modern technology. Classic computer science questions will be investigated: How is information represented? How do modern computer systems work? How are computational tasks accomplished through algorithms? What are the limits of computation? Examples are taken from current widespread applications such as searching the Web and computer game playing. The goal of this course is to give students an understanding of computers and computing that will allow them to recognize and appreciate the difference between fundamental capabilities and limitations of computing and fleeting artifacts of today's technology, to quickly adapt as users to the rapid advances in technology, and to use technological understanding in the social assessment of computational solutions to a variety of problems.

COS109 will also give students an introduction to computing, but is less computer-science oriented and will spend less time on computer science per se. Topics and case studies will be motivated by current issues and events that involve computing and computers, and will include discussion of how hardware and software work; what programming is and why it is hard; how the Internet and the Web operate; usability, reliability; electronic commerce; security, privacy. It will also touch on fundamental ideas from computer science, and some of the inherent limitations of computers. Topics will be covered at sufficient depth for students to understand how technology works, how it affects the world they live in, and how to use this knowledge to make intelligent decisions about technology.

A student cannot get credit for both COS109 and COS111. Both courses satisfy the quantitative reasoning (QR) AB distribution requirement. Neither course satisfies the BSE computing requirement.

COS126 is a technical introduction to computer science. It is also a broad introduction to the fundamental ideas of computer science, but at more technical depth. Students in COS126 also develop programming skills. COS126 is the only introductory computer science course that serves as prerequisite to more advanced computer science courses and that can be used to satisfy the BSE computing requirement. It also satisfies the quantitative reasoning (QR) AB distribution requirement. COS 126 CAN be taken for credit by students who have taken either of COS111 or COS109.

Administrative Information

Lectures: MW 1:30-2:50, Room: 105 CS Building

Labs: Each student will be enrolled in one 2hr, 50min. lab section. You have priority during this lab session but may attend other lab sessions on a space available basis. It is also permissible to do the lab assignments from elsewhere if the requisite software is available.

Professor: Jaswinder Pal Singh - 423 CS Building - 258-5329
office hour: Wednesday 3-4 pm , others by appointment

Undergraduate Coordinator: Tina McCoy - 410 CS Building - 258-1746

Teaching Assistant: Ram Rangan - 004, CS Building (609) 258-1785 r a m @ c s . p r i n c e t o n . e d u office hour: Monday 3:30-4:30 pm at Friend 009

The easiest way to reach any of us to make an appointment or ask a quick question is by email. Feel free to call, but most of us check our email more often than our voice mail.