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 static (HTML) vs. dynamic (JavaScript) pages dynamic elements (images, buttons, boxes, divs, spans) event handling (onclick, onmouseover, onmouseout, onload, setInterval) variables & assignments data types & expressions functions & libraries conditional execution (if statements) counters & sums 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 Data Representation analog vs. digital, number/text/sound/image/video representations Applications in science biology/bioinformatics: computer tools, modeling, biological databases artificial intelligence: neural networks, genetic algorithms modeling & simulations: random sequences, random walks, prisoner's dilemma Computers & Society positive impact, potential dangers