Introduction The fundamentals of computer programming Setting up your programming environment Compilation vs. interpretation Introduction to Python Module 1
Data types and the basic methods of formatting, converting, inputting and outputting data; Literals Integers, floats, strings, Boolean, octal, hexadecimal Operators + (addition), - (subtraction), * (multiplication), / (classic division), % (modulus), ** (exponentiation), // (floor) Expressions, unary, binary, hierarchy of priorities, exponentiation Variables. Module 2
Boolean values if- elif -else instructions The while and for loops Logical and bitwise operations >, <, >=, <=, ==, >>, << and, or, not, xor -> & (ampersand), | (bar), ~ (tilde), ^ (caret) Lists and arrays Sort, operations on list Module 3
Defining and using functions built-in, pre-installed, user-defines, lambda Different ways of passing arguments Parameters, arguments, return Name scopes Tuples and dictionaries Module 4
Python modules: their rationale, function, how to import them in different ways, and present the content of some standard modules provided by Python; The way in which modules are coupled together to make packages. The concept of an exception and Python's implementation of it, including the try-except instruction, with its applications, and the raise instruction. Strings and their specific methods, together with their similarities and differences compared to lists. Module 5
The object-oriented approach - foundations Classes, methods, objects, and the standard objective features Exception handling Working with files Module 6
Language is a means (and a tool) for expressing and recording thoughts : Body language: it's possible to express your deepest feelings very precisely without saying a word. Mother tongue: which you use to manifest your will and to think about reality. Computers have their own language, too, called machine language , which is very rudimentary. A complete set of known commands is called an Instruction List (IL) Different types of computers can vary depending on the size of your ILs and the instructions can be completely different on different models. Natural languages vs. programming languages
AN ALPHABET A set of symbols A LEXIS A dictionary A SYNTAX A set of rules (formal or informal) SEMANTICS A set of rules determining if a certain phrase makes sense What makes a language?
Computer language is far from a human mother tongue. We need (both computers and humans) a language or a bridge between the two different worlds. A language in which humans can write their programs and a language that computers may use to execute the programs. Such languages are high-level programming languages. They use symbols, words and conventions readable to humans. These languages enable humans to express commands to computers A program written in a high-level programming language is called a source code (in contrast to the machine code executed by computers) or source file. What makes a language?
There are two different ways of transforming a program from a high-level programming language into machine language : Compilation vs. interpretation
https://www.youtube.com/watch?v=hPYCSu-_LPc&t=343s Video: Compilation vs. interpretation (cont.)
Compilation vs. interpretation COMPILATION INTERPRETATION ADVANTAGES The execution of the translated code is usually faster . Only the user has to have the compiler - the end-user may use the code without it. The translated code is stored using machine language, your own inventions and programming tricks are likely to remain your secret . You can run the code as soon as you complete it - there are no additional phases of translation; The code is stored using programming language, not the machine one - this means that it can be run on computers using different machine languages ; you don't compile your code separately for each different architecture. DISADVANTAGES The compilation itself may be a very time-consuming process - you may not be able to run your code immediately after any amendment; You have to have as many compilers as hardware platforms you want your code to be run on. Don't expect that interpretation will ramp your code to high speed - your code will share the computer's power with the interpreter , so it can't be really fast; Both you and the end user have to have the interpreter to run your code.
Easy to learn Easy to teach Easy to use Easy to understand Easy to obtain, install and deploy What makes Python special?
low-level programming (sometimes called "close to metal" programming): if you want to implement an extremely effective driver or graphical engine, you wouldn't use Python; applications for mobile devices : although this territory is still waiting to be conquered by Python, it will most likely happen someday. When not to use Python
Python 3 is the current version of the language. It's going through its own evolution path, creating its own standards and habits. There is more than one Python Python 2 is an older version of the original Python. Its development has since been intentionally stalled , however the updates are issued on a regular basis , but they are not intended to modify the language in any significant way.
In addition to Python 2 and Python 3, there is more than one version Versions of Python Python aka Cpython Cython Jython PyPy and RPython
https://www.python.org/downloads/ How to get Python and how to get to use it