So far we have seen how a blockchain can be used to store a simple distributed ledger. But people have built complex distributed ledgers which don't just store numbers, they can store code. That code is often called a smart contract.
A simple definition of a smart contract is a program which conditionally transfers digital assets, you can learn more about them in this video Smart contracts - Simply Explained (Nov 2017)
Another term you will hear a lot about in the blockchain world is a DAPP, or Decentralised Application. While a smart contract operates wholly inside of a blockchain, a DAPP contains some code that is in the blockchain, and some code outside of it. Difference between DAPPS and Smart Contracts (Mar 2018)
Go to github and search for a 'solidity smart contract' and an 'eos dapp' and have a look through some repositories. What do you notice?