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 data science 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) element attributes (src, height, value, innerHTML, style) event handling (onclick, onmouseover, onmouseout) variables & assignments data types & expressions functions & libraries conditional execution & repetition counters & sums General Concepts Computer basics von Neumann architecture, hardware vs. software History of science & computing scientific method, generations (relays, vacuum tubes, transistors, IC, microprocessors, ULSI) 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, related fields Data Representation analog vs. digital, number/text/sound/image/video representations Computers & Society positive impact, potential dangers Applications in science biology/bioinformatics: computer tools, modeling, biological databases data science: supervised (e.g., neural networks) vs. unsupervised (e.g., clustering) modeling & simulations: Monte Carlo methods, random walks, random sequences, dice, slots