The Von Neumann digital computer model. Architecture of a modern computer.
Digital representation of data. Binary codes for the representation of whole numbers, real numbers (floating point), characters (ASCII, Unicode), image and sound.
Numerical operations on binary data. Processors. Functioning of a CPU. Programming languages. Operating systems.
Introduction to Python programming language.
The instruction of attribution. Aliasing. The notion of pointer.
Numerical types: integers, long integers, floating point and complex numbers. Sequences (lists, tuples and character sequences). Booleans and Booleans operations. Interaction sequences and slicing operations.
Flux control instructions.
Functions. Namespace and range rules. Passage mechanism of arguments and value return.
Functional and imperative programming.
Modules: Introspection tools and metaprogramming.
Files: Formatting. Redirection of entry and exit flux channels.
Exceptions. The instructions – #raise, #try, #except, #finally.
Object-oriented programming. Notion of class and class instances.
Attributes and methods. Inheritance, Encapsulation and Polymorphism. Operator Overloading.
Resources. Iterators and generators.
Applications in Numerical Analysis applied to Physics problems.