docs: def progress_idxs(self, idxs):
          """
          Competence progress on points of given indexes.
          
          """
          if self.progress_measure == 'abs_deriv_cov':
              if len(idxs) <= 1:
                  return 0
              else:
                  idxs = sorted(idxs)[- self.progress_win_size:]
                  return abs(np.cov(zip(range(len(idxs)), self.get_data_c()[idxs]), rowvar=0)[0, 1])
              
          elif self.progress_measure == 'abs_deriv':
              if len(idxs) <= 1:
                  return 0
              else:
                  idxs = sorted(idxs)[- self.progress_win_size:]
                  return np.abs(np.mean(np.diff(self.get_data_c()[idxs], axis=0)))
  
          elif self.progress_measure == 'abs_deriv_smooth':
              if len(idxs) <= 1:
                  return 0
              else:
                  idxs = sorted(idxs)[- self.progress_win_size:]
                  v = self.get_data_c()[idxs]
                  n = len(v)
                  comp_beg = np.mean(v[:int(float(n)/2.)])
                  comp_end = np.mean(v[int(float(n)/2.):])
                  return np.abs(comp_end - comp_beg)
          else:
              raise NotImplementedError(self.progress_measure)