To my knowledge, computer science cannot just be described in a few sentences. We touched briefly on defining computer science the other night in class. There were some very good points brought up by many students. There is an ongoing debate, between many people, whether or not computer science is even a science at all. Instead of trying to define computer science broadly, I will describe the topics that do define computer science. I believe that most institutions have a good, solid curriculum for computer science. For the most part I think today's computer science curriculum defines computer science on its own. Computer science curriculum starts with algorithm and programming classes. These topics are the very foundation of computer science. Programming allows students to see how computers process information. After the foundation classes are completed students then are allowed to take advanced courses. The advanced courses include the following: Database Management Systems, Networking and Security, Operating System Concepts, Software Engineering, Artificial Intelligence, Discrete Mathematics and Web Design. I have just defined a typical computer science curriculum that most universities/colleges use. I feel that this type of curriculum is best for people who want practical experience for real work simulation. I am not a supporter of curriculum that focuses on the theory of computer science. I think that computer theory should be an option for CS curriculum but not the focus CS curriculum. One thing I would like added to CS curriculum is more focus on the hardware aspect. Hardware is very important to the field of CS because without hardware, software doesn't exist. I cannot count how many fellow undergraduates I knew that had no clue about hardware. It is a necessity to know when hardware has failed or if it is working improperly. Overall I am very happy with the curriculum that I was involved with as an undergraduate. The theory part of computer science was an option to students but it was not required. I do not think that theory should be the focus of computer science. If that is desired it should not be called computer science, it should be called computer psychology. It should be called computer psychology because that is exactly what computer theory is. I also believe that computer science is a science. It may not be a hard, defined science like chemistry or biology but it is a science. I feel that I can truly be called a computer scientist because I have extensive knowledge in software and hardware. I have developed software, I have assembled many custom built machines and I have administered many types of environments. I am not saying that I know all there is to know about computer science. I am just saying that someone who has knowledge of both hardware and software is better off than someone who has knowledge in just one. Maybe that is what I think defines computer science. The science of the hardware and the science of the software makes up the science of the computer.