computational techniques