Department of Computer Science
CS 50 - Computing: Tools and Issues

Fall 2007 Syllabus
COURSE OBJECTIVES: Computer science has insinuated itself into many aspects of our lives. What is computer science? What are it distinctions and similarities with related disciplines, especially mathematics and the sciences? What are the core elements of computer science and how do they reveal themselves in our everyday lives? What do we need to know about computer science in order to function effectively in a technological world?

This course helps prepare students to address these questions. First, we will take a first-hand look at the nature of programming and its role in computer science. Second, we will explore the nature of the Internet -- how it is designed, managed, and used effectively in commercial, academic, and governmental applications. Finally, we will examine some key social and ethical issues that have important places in a technological world; issues like intellectual property, privacy, and Internet security.

Course Web site: blackboard.bowdoin.edu

Course e-mail address: csci050@bowdoin.edu
Class meeting time (attendance required): TTh 2:30-3:55pm, Searles 223
Problem session meeting time (attendance optional): To be determined, Searles 128

PRIMARY TEXT (required): Schneider and Gersting, Invitation to Computer Science
A C++ programming tutorial -- at the course web site,
Additional readings -- at the course web site.

INSTRUCTOR: Allen Tucker, 82 Federal Street
E-mail address: allen@bowdoin.edu
Office Hours: MW 4:00-5:00 in Searles 224, or by arrangement
Phone: x3131

COURSE WORK:

The course will combine lectures, laboratory experiences, readings, and short papers that allow you to substantively engage the central themes of the course. A modest amount of programming in C++ will accompany the laboratory component. Additional laboratory work will include the use of simulators and models that add hands-on experiences to other topics encountered in the readings.

The course includes three examinations; each one is open book and non-cumulative. All assignments and examinations will contribute to your course grade. You are expected to follow the Bowdoin College Honor Code in all course work.

Many of the lab problems may be solved collaboratively. Some additional out-of-class lab sessions will be conducted by the instructor; attendance at these sessions is optional.

COURSE OUTLINE:

 
 
Week beginning Topics Lectures
Readings Labs

Aug 27, Sept 3

What is computer science?
Algorithm design
unit1.ppt
unit2.ppt
Ch 1, 2 asst1.html
Sept 10

Algorithm efficiency

unit3.ppt
Ch 3
asst2.html
Sept 17 Programming in C++
unit4.ppt
Ch 8.3-8.6
asst3.html
asst4.html
Sept 24
(*** Test #1 ***)


Oct 1, 8
C++ Functions and Graphics Programming unit5.ppt
Ch 8.7, 8.9
asst5.html

Oct 15

Computing Tools: Logic, Gates, and Circuits
unit6.ppt
Ch 4
asst6.html
Oct 22, 29

Computing Tools: the Internet

unit7.ppt
Ch 7
asst7.html
Nov 5
(*** Test #2 ***) Tuesday Nov 6


 
Nov 12
Computing Issues: Internet Security and Privacy unit8.ppt
Ch 13.4, 15.2.3 asst8.html
Nov 19, 26
Computing Tools: Databases and E-Commerce unit9.ppt
Ch 13.2, 13.3 asst9.html
Dec 3
Computing Issues: Artificial Intelligence
unit10.ppt
Ch 14
asst10.html
Dec 10
Friday Dec 14, 9:00am
(*** Test #3 ***)