programming knowledge accumulation