1) Algorand smart contracts can be written in TEAL or PyTeal and deployed to the Algorand blockchain. 2) PyTeal is a Python library that compiles Python code into TEAL bytecode that can be run as smart contracts on Algorand. 3) Smart contracts have access to transaction properties, can call other contracts, and read from and write to global state stored on the blockchain.