CSC151 2003F, Class 1: Welcome to CSC151 * What is computer science? * Exercise: PBJ Algorithm * Reflection * A little bit about the course Challenge: Define Computer Science The combination of operating system, language/methods, programs, and hardware that computers use Contrast with a "textbook definition": The application of Mathematical and Scientific Concepts to create computer programs that solve real-life problems. What the science: The study of particular field. A logical and objective approach to deducing answers: The scientific method. * (Optional problem) * Background research/observation * Hypothesis * Design an experiment that can be used to test the hypothesis. * Run the experiment and analyze the data * If the data seems to match the hypothesis, we "support" the hypothesis. * If the data doesn't match, we decrease our confidence in the hypothesis. Problem: Program doesn't work Hypothesis: A virus infected my computer Experiment: ??? Is most of our work "science"? What is a computer? * A complex network of electrical components made to crunch numbers * A machine that takes input and gives output * A complex machine that takes input and manipulates it to create things * It must be told how to manipulate "information" The focus of Computer Science is the instructions that tell how to manipulate information More formally, Compuer Science is the study of Algorithms and Data Structures * An algorithm is like a plan for doing something: A set of instructions * A data structure is a strategy for organizing information We study these issues in a variety of ways: * As scientists * As mathematicians: Prove our algorithms "correct" in formal systems * As humanists (or at least social scientists) * As engineers: Once we have the instructions, we *implement* them (in hardware or in software) The biggest problem we face: Either computers are (a) really stupid or (b) sentient and malicious -- Goal: Write some instructions for a sentient and malicious and clueless creature.