Key Ideas Computing and science are connected: scientists utilize computers as tools for conducting research computer-based models and a computational approach are increasingly used computer science is a rigorous field of study regarding "artificial" systems utilizes the scientific method and experimentation new scientific fields such as bioinformatics and neuroscience blur the lines Programming is a tool for: solving problems experimentation analysis Computer science is more than just programming: problem solving design & analysis of algorithms hardware design and manufacturing interface design and implementation theoretical understanding of computation Skills Developed Problem-solving skills Analytical/Empirical reasoning skills Communication skills Web page development Programming Concepts variables & assignments data types & expressions functions & libraries conditional execution (if statements) counters & sums user interfaces (textual vs. graphical interface) control vs. event-driven programming General Concepts Computer basics von Neumann architecture, hardware vs. software History of science & computers scientific method, generations (relays, vacuum tubes, transistors, IC, VLSI) Internet & the Web internet & Web histories, TCP/IP, HTTP Algorithms & programming algorithms, efficiency, high-level languages, compilers & interpreters Computer Science as a Discipline CS as science?, central themes (software, hardware, theory), subfields of CS Applications in science biology/bioinformatics: computer tools, modeling, biological databases atmospheric science: chaotic systems, weather modeling artificial intelligence: neural networks, genetic algorithms Data Representation digital vs. analog, binary numbers, ASCII code, sound & image formats Computers & Society positive impact, potential dangers