### Description of Course Goals and Curriculum

Computers are all around us. How does this affect the world we live in? This course is a broad introduction to computing technology for humanities and social sciences students. Topics will be drawn from current issues and events, and will include discussion of how computers work; what programming is and why it is hard; how the Internet and the Web work; security and privacy.

This course will give you an introduction to the history of computers and technology since inception, computer components, brief programming languages, as well as quantitative skills by working with computational concepts like binary and hexadecimal systems. The course is largely based on logic where you’ll be required to apply many of the computation theory concepts in word problem format. You will be tested with exams, problem sets, and self-scheduled labs—there are no precepts for this course. The course provides a solid foundation for speaking about computer history, programming languages, and how specific computational technology works.

### Learning From Classroom Instruction

### Learning For and From Assignments

The problem sets will challenge you to think in an unconventional logic, which is really what you’ll be tested on. The exams are similar to the problem sets in terms of format (word problems), however increased in difficulty. The way to do well on the exams is to understand the logic, not the format, of the problem sets, and once you’ve understood the logic you’ll be able to understand what the exam questions are really getting at. So take the problem sets as if they are mini exams and really work with Professor Kernighan through the problems so you understand the logic—this will really make the exams much easier to tackle.

### External Resources

General COS Office Hours in the Friend Center, which are generally advertised as COS 126 hours are actually available to COS 109 students as well. These are really helpful for the self-scheduled labs, especially when you begin the html and Javascript portion of the labs.

### What Students Should Know About This Course For Purposes Of Course Selection

You will learn coding for Javascript in this class, and there are 8 self-scheduled labs that you need to be cognizant of. The professor will provide you with instructions for completion, but know that you will not be taught the coding during class, and you’ll need to learn it on your own time. If you would like to learn programming in a more formal manner, it might be advisable to take COS 126 instead.