Prolog as Description and Implementation Language in Computer Science Teaching