Provides the fundamentals of computer science with an emphasis on applying programming skills to solve problems and increase human efficiency. Topics include variables, data types, expressions, control flow, functions, input/output, data storage, networking, security, selection, sorting, iteration and the use of aggregate data structures such as lists and more general collections. No previous programming experience required.