Understanding Data-Centric AI via Effective Data Programming