A survey of computers, programming, and computational techniques for the natural sciences. Physical foundations of computation, binary arithmetic, computer architecture, programming languages, operating systems, UNIX shell and filesystems. Programming tools, variables and data structures, expressions, control flow, files, functions and scoping, objects, error handling, debugging, graphics, text processing, networking, data acquisition and transfer. Mathematics and algorithms for data processing and analysis, numerical methods, random numbers and simulation.