Programming with
Data Structures and Algorithms

Dear Student,

Since you are in cs019, you're probably already quite knowledgeable and accomplished. That's terrific, and we're glad we have a course we can offer you.

College is, however, very different from high school. Previously, the problems you were given had neat, distilled solutions—often ones you could find on the Internet—and your job was to pin down this “correct answer”. In contrast, a college course like cs019 deals with reality, which is often messy, sometimes uncharted, and only poorly documented on the Internet. This will frustrate you sometimes, but overcoming that frustration will make your experience that much more satisfying.

One more thing.

Careful thought and hard work will get you through everything in this class, not always as quickly as cleverness, but often more thoroughly and lastingly. That said, while cleverness is a useful trait and we encourage it, being clever can also be a bane if you feel constantly compelled to demonstrate just how smart you are.

Most of all, every class is a work-in-progress, and this one even more so is a work-in-creation. You will undoubtedly find typos and perhaps even more grievous bugs in the material. Please bring them to our attention; we'll fix it, thank you for it, and think well of you. But don't try to exploit it for the purpose of doing less work. Not only will we not be impressed, we'll assume you were smarter than that and subtract points for the things you didn't do, and you'll not only be short points but also feel frustrated and misunderstood. If you legitimately do not understand something, just ask!

Welcome to cs019. We look forward to having you in it!

—The Course Staff