CMU 15-110: Principles of Computing
Carnegie Mellon University
Fall 2018


Units 10
Department Computer Science
Prerequisites None
Description A course in fundamental computing principles for students with minimal or no computing background. Programming constructs: sequencing, selection, iteration, and recursion. Data organization: arrays and lists. Use of abstraction in computing: data representation, computer organization, computer networks, functional decomposition, and application programming interfaces. Use of computational principles in problem-solving: divide and conquer, randomness, and concurrency. Classification of computational problems based on complexity, non-computable functions, and using heuristics to find reasonable solutions to complex problems. Social, ethical and legal issues associated with the development of new computational artifacts will also be discussed.
Course
Goals
  • To achieve a broad understanding of:
    • what Computer Science is and to be conversant in a broad variety of CS topics (that is, to exhibit CS literacy);
    • how CS techniques can positively impact non-CS majors; and
    • what coding is and how it can be broadly used even by non-experts.
  • To achieve sufficient coding skills to:
    • read, understand, and modify existing code; and
    • solve basic problems by writing, testing, and debugging code.