"Yuo're sundoeurrd by comepurts. Tnes of mlioinls of comepurts aer ceonnetcd to teh ineetnrt. Sitll mroe mciro-psrsooercs aer in tnhgis form aeiprlnas to soehs. Ctpmorues aer iveovnld in bsnsieus panls fro bgi cinemoaps adn hleipng fraemrs wtih their crops. Fro every cutmeopr, a psreon hsa to write prgromas to cotonrl it. Cotpmeur Scecine toady hsa a vrey fra reicanhg aecfft."

Can you read the text above?



Lecture 1 : CS does not mean Classical Studies

Were you able to read the text above? What we have there is a mild form of encryption: a means of hiding information from anyone other than the intended readers. Of course the scrambled text above isn't all that useful if most people can read it anyway. Still, what it might be good for is making you think.

At its core, the field of computer science is about thinking logically and precisely. It's about finding the best (most effective, most efficient, cheapest, correct, ...) method for doing something. Then, if you have a very detailed step-by-step method for doing something, you can usually get a computer to do it for you. So how was the text above generated? With a computer program, of course. The original text is given below. If you had to devise a step-by-step method for scrambling it (or any English text) what would your method be?

You're surrounded by computers. Tens of millions of computers are connected to the internet. Still more micro-processors are in things from airplanes to shoes. Computers are involved in business plans for big companies and helping farmers with their crops. For every computer, a person has to write programs to control it. Computer Science today has a very far reaching affect.

Basic Course Information

Also, check the Course Information page for more details about how this class will probably work, the collaboration policy, and more.

Course Topics

The mains goals of this course will be to help you gain an understanding of many different aspects of computer science, and to help you see why computer science matters to you. You've used a computer before (or someone did to get to this webpage) but that doesn't require you to be interested in computer science. Still, computer science involves some very interesting and practical information. If you're looking for a job, CNN.com seems to think that computer-related jobs aren't a bad choice either. Five of their top six choices for the "the next job boom" are computer related, and their choice for the best job in America was a computer sofware engineer. Here are some quick links to the lists without the corresponding article: Best Jobs and Next Job Boom.

Yet even with good job prospects, most indications are that American students have less interest or less experience in computer science than their overseas counterparts. Hopefully this course will get you to have some interest in computer science, even if you never take another CS course again. So what exactly will this course cover?

The Brief History of Computer Science
This field is only about 60 years old. The first graduate program only started in 1965.
What Are Algorithms and How Do You Go About Making One?
An algorithm is just a step-by-step method for doing something. You can think of it as being a recipe but without all the flour and eggs.
Basic Java Programming
Java is a powerful computer language that lets you give intructions to the computer. Basically, its a way for you to give the computer an algorithm for it to run or execute. We'll produce some neat Java programs, but nothing really complicated because that would be an entire course in itself (like CS 4 or CS 6).
The Basic Logic of Computers
You've probably heard that computers speak in 1's and 0's. That doesn't tell you much about how computers interpret those digits or how they're able to handle the myriad of tasks we use them for.
Computer Architecture and Operating Systems
The basic components that make up the laptop and desktop computers that you commonly use.
Algorithmic Complexity
All algorithms are not created equal. It's important to understand why one method for doing things might be preferred over another, why certain problems take a long time for any method to solve, and why some problems just can't be solved.
Artifical Intelligence
You've probably seen the Hollywood movies where robots walk and talk just like humans and sometimes even attack Will Smith in explosive car-chase scenes. Yet your desktop computer is still figuring out how not to crash. Perhaps we can see some reasons why there's such a difference between the promise of A.I. and the reality.
Encryption
The scrambled text at the start of this document might have been interesting, but its not going to securely hide your information. We'll look at some encryption methods that should.
But first... the internet.
The internet is actually very new. It was started by DARPA in 1973. We'll start with programming webpages that we can place on the internet. Then we'll also learn about networks and graphs and hopefully help you understand a bit more about how the whole World Wide Web works.

Last Thing

On a half sheet of paper, please write the following things and pass it forward. This should help me get a feel for what computer-related experience everyone has had.