An Introduction to Computer Science
CSE Studies How Computers Work and How to Make Them Work Better Architecture Designing machines Programming languages and compilers Telling them what to do Operating systems and networks Controlling them and communicating between them Graphics, vision, music, human-computer interaction, information retrieval, genomics,...: Using them Artificial intelligence and machine learning Making them smarter Algorithms, complexity What are the limits and why
Computer Science vs Computer Engineering Computing Systems are Cyber-physical systems Physical Part: hardware, stored software and data Cyber Part: active (running) software, behavior Computer Engineering is how to engineer the physical part to have best performance (speed, efficiency etc). Computer Science is how to engineer the cyber part to best fit the purposes: optimize resources (time, hardware), optimize human-computer interaction etc.
Breathe Life Into Matter Golem (Jewish mythology) “Automata”, (South Germany or Spain, c. 1560) Also, chess automata Frankenstein (Mary Shelley, 1818) Robot (Karel Capek, 1921)
Breathing Life: A Modern Perspective “Matter”: Atoms, molecules, quantum mechanics, relativity … “Life”: Cells, nucleus, DNA, RNA, … “Breath life into matter”: Computation One interpretation: Make matter do useful, interesting things on its own
Computational Universe
Important Distinctions Computer Sciencevs. Computer Programming (Java, C++, etc.) Notion of computation vs. Concrete Implementations of Computation (Silicon chips, robots, Xbox, etc.)
Example: Web crawler Start with a base list of popular Web sites Download the Web pages and extract hyperlinks Download these Web pages, too And repeat, and repeat, and repeat… Web indexing Identify keywords in pages Identify popular pages that many point to Web searching Respond in less than a second to user queries
Example: Computational Biology Old Biology New Biology Microarrays Pathways