abstract data types the foundation of computer science is based on the study of algorithms an algorithm is sequence of clear and precise step-by-step instructions for solving problem in finite amount of time algorithms are implemented by translating the step-by-step instructions into computer program that can be executed by computer this translation process is called computer programming or simply programming computer programs are constructed using programming language appropriate to the problem while programming is an important part of computer sciencecomputer science is not the study of programming nor is it about learning particular programming language insteadprogramming and programming languages are tools used by computer scientists to solve problems introduction data items are represented within computer as sequence of binary digits these sequences can appear very similar but have different meanings since computers can store and manipulate different types of data for examplethe binary sequence could be string of charactersan integer valueor real value to distinguish between the different types of datathe term type is often used to refer to collection of values and the term data type to refer to given type along with collection of operations for manipulating values of the given type programming languages commonly provide data types as part of the language itself these data typesknown as primitivescome in two categoriessimple and complex the simple data types consist of values that are in the most basic form and cannot be decomposed into smaller parts integer and real typesfor exampleconsist of single numeric values the complex data typeson the other handare constructed of multiple components consisting of simple types or other complex types in pythonobjectsstringslistsand dictionarieswhich can