Citizen Science: Theory and Practice