25.8.20
This website uses cookies to ensure you get the best experience on our website. Learn more

Computer Science Theory & Mathematics

This badge demonstrates understanding of the foundational core theoretical principles and supporting mathematics of the discipline of computer science. It covers the core construction of computer machines, the development of programming languages, the structure and flow of computational programs, and the inherent mathematics of digital computing. Learning Objectives: a. Understand and apply the use and design of common algorithms and data structures b. Understand and apply analysis of algorithms including asymptotic notation c. Understand the speed and efficiency considerations required to select the best algorithm d. Understand the basic limits of computability and algorithm design e. Understand and apply the theory of computation to complex and hard problems. f. Understand and apply basic complexity theory g. Describe and apply discrete structures and discrete mathematics h. Explain and apply basic principles of set theory, number theory, combinatorics, and logic i. Describe and apply discrete constructs and structures j. Perform Boolean logic computations and minimizations. k. Analyze, minimize and implement logic functions using a range of gates. l. Design and implement addition and subtraction circuits. m. Design and implement multiplexers, decoders, and code converters. n. Identify, design, and implement flip-flops and sequential logic. o. Design a Moore/Mealy finite state machine to meet prescribed specifications. p. Implement the state machine using JK, D, or T flip-flops. q. Design and analyze Arithmetic Logic Unit, CPU Control Circuitry, and computer memory

Skills / Knowledge

  • discrete mathematics
  • programming
  • systems programming
  • algorithm
  • automata
  • computer science theory
  • algorithmic
  • automata theory
  • digital
  • computational complexity
  • computability
  • computing
  • state machines
  • computing first principles

Earning Criteria

Required

course
1. MSCS 2013 Systems Programming
course
2. MSCS 3801 Discrete Mathematics for Computer Science
course
3. MSCS 3917 Algorithms and Automata