CS3910 Science of Computer Programming

Introduction to computational thinking and basic concepts related to systematic problem solving assisted by computers. Imperative, functional and concurrent programming. Identifying languages for problem modeling and solving. Software analysis and generation using design structures, embedded knowledge, systematic reasoning for computer systems and software applications using computational thinking, machine learning and big data. Implications for agile/reliable software systems and military applications of AI.


Prerequisites: Automata Theory CS3101, Algorithms C3150 and Software methodology SW3460

Lecture Hours


Lab Hours


Quarter Offered

  • Fall
  • Spring