Hello World: An Overview of Computer Science

Sarah Lawrence College
Spring 2007


A famous computer scientist once said that computer science is no more about computers than astronomy is about telescopes. But if not about computers, then what is computer science all about? In this course, we will not only attempt to provide an answer but also discuss why it is such a fascinating question. Along the way, we will explore fundamental computer science concepts such as algorithms, programming languages, logic circuits, the basic design of a digital computer, the ultimate limits of computation, the possibility of artificial intelligence, and the social impact of computers and the World Wide Web. We will also consider the history and development of computer technology and the Internet, as well as the question of where it all may be leading in the future.

Open to any interested student.


Prof. Jim Marshall
Office: Science Center 100
Phone: 2673 (from off campus: 914-395-2673)
Email: j + my last name + @slc.edu

Class Meeting Time


Course Policies

On-time attendance in all class meetings is absolutely required. Please make sure to arrive on time as a courtesy to your classmates and instructor. If you are unable to attend class due to illness, please contact me on the day of the missed class (or sooner). If you must miss class for any other reason, you should let me know in advance.

You are expected to check your Sarah Lawrence email account at least once per day. I stress your @slc.edu account because that is what I will use to communicate with you. It is both easier to remember and more reliable (on campus). If there is a problem with campus email, then the whole class will have the problem. Obviously, if you are out of town for the weekend and cannot access your email, I will understand, but otherwise, please check both your email and the course Web page frequently.


You will be assigned problem sets each week. There will be two due dates associated with each problem set. By the start of class on the first date, you need to have seriously attempted each of the problems in the set. During that class, we will discuss some of the problems and I may give hints to others. A well-organized, clearly written (preferably typed) set of solutions to the problems will be due at the beginning of class on the later date. Occasionally I may ask you to present one of your homework solutions to the class, so come prepared to explain how you solved the problem.

Late Homework Policy

Getting Help

This course is intended to be open to everyone. Nevertheless, you may find some of the material quite daunting. Do not fear! If you find it difficult, most likely others in the class do, too. Please let me know (either in class or out) if you feel the course is moving too fast or if you are having trouble understanding a particular topic. Come talk to me as soon as possible so that we can clear up the problem, because staying confused will only make things worse later. Stop by my office, call, or email me to schedule an additional conference. You can also try to catch me on the fly, though I can't always guarantee that I'll have time to meet with you right then.

Collaboration Policy

The highest level of academic integrity is expected of every student. You are strongly encouraged to discuss ideas and approaches to solving problems, on a general level, with your fellow classmates, but unless I tell you otherwise, the work you hand in must be exclusively your own. Effective learning is compromised when this is not the case.

Accordingly, you should never read or transcribe another student's solutions or computer code, exchange computer files, or share your code or solutions with anyone else in the class, unless an assignment explicitly allows you to work with a partner. Under no circumstances may you hand in work done by someone else under your own name.

When in doubt, credit the people or sources from whom you got help. This also goes for any help obtained via the Internet. You will not lose any points for acknowledging significant help obtained in a legitimate fashion (for example, from books, Web sites, or articles). If you are ever unsure about what constitutes acceptable collaboration, just ask.

Failure to abide by these rules is considered plagiarism, and will result in severe penalties, including possible failure in the course. Please do not put me, yourself, or anyone else in this unpleasant situation.