This course provides an introduction to programming concepts. Emphasis will be placed on algorithms, test-driven design, development and structured programming in the Python language. Topics include program development, modularity, variables and data types as numbers, strings, arrays and lists, plus the basic programming concepts as conditionals and Boolean algebra, loops, I/O operations, classes and objects, abstract data types, sorting algorithms and recursion.