At the end of this course, the students; 1) Explain the basic concepts of algorithm design and programming. 2) Creates and codes appropriate solution algorithm for functions, scoping and abstraction, global variables, modules, files, structural types, mutable and high-level functions and codes with Python programming language. 3) Learns basic data structures. 4) Learns to implement data structures. 5) Gains the ability to analyze algorithms. 6) Monitors a written program and finds errors.