Any computer that connects to the Bitcoin network is called a node. Nodes that fully check all Bitcoin rules are called full nodes. The most common software implementation of full nodes is Bitcoin Core. Full nodes download each blocks and transactions and check against the Bitcoin consensus rules. If a transaction or block violates consensus rules, then it is absolutely rejected, even if all other nodes in the network think it is valid. This is one of the most important features of full nodes: they do what is right. Running a full node is the only way to use Bitcoin reliably. You’ll know for sure that all the rules of Bitcoin are respected, for example that no bitcoin is spent without belonging to the owner, no coin has been spent twice, no inflation occurs outside the program and that all necessary rules to make the system work, difficulty for example, are followed. A mining node is a full node that also uses ASIC hardware or a rented machine to guess the combinations of numbers needed to validate and verify a block. A mining node can associate with other nodes and send assumptions to a common  mining pool to increase the chances of guessing it, but then counts for only one node. A mining node is a node that contributes to the network by guessing the combinations needed to seal the transaction blocks and confirm them, producing new bitcoins in the process. A full node is a node that validates this information, verifies its veracity, and forwards it to other nodes, thereby allowing the transfer of the monetary value from location A to location B. The mining nodes are a subset of the full nodes. The mining node is also a full node.