Agent-based modeling for social scientists