Skip to main content

IE 509: Computer Programming

Prerequisite:  Instructor's permission


  • Introduction to problem solving with computers using a modern language such as Java or C/C++ or Python.
  • Introduction to programming basics: conditional statements, loops, simple data structures, inputs & outputs.  
  • Creation and manipulation of data structures: arrays, lists, etc. File reading and writing, working with data. Dynamic aspects of operations on data, analysis of algorithms. User interface and interactions.
  • Implementation of various algorithms, including searching, sorting, computational analysis, graphs & networks, and recursive algorithms .
  • Testing and Debugging, Notions of algorithmic complexity.
  • John Zelle (2016) Python Programming an Introduction to computer science, 3rd edition, Franklin, Beedle Publishers
  • John V. Guttag (2016) Introduction to Computation and Programming Using Python – with Application to Understanding Data, 2nd edition, The MIT Press
  • G. L. Heileman (2002) Data Structures Algorithms and Object Oriented Programming, Tata Mcgraw Hill.
  • Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein (2003) Introduction to Algorithms and Java, 2nd edition, McGraw-Hill.
  • Other online resources such as