Student placement and skill ranking predictors for programming classes using class attitude, psychological scales, and code metrics | Synapse