I have usually been using the Cormen algorithm format to teach some introductory courses in Programming. I mean something like this:TreeSearch(k,n)1. if x==NIL or k==x.key2.     return x3. if k<x.key4.     return TreeSearch(k.left,n)5. else return TreeSearch(k.right,n)Actually I have not agree with a couple of lecturers in my institution that they insist to put the type of the variable that they are using in the algorithm. I mean, to do that, will it not be to make a bias toward the programming language and not to focus on the algorithm? For example what would happen if the student grab other programming language, like R or Python, that really do not care about the type of variable.The other issue that I have is how to represent OOP algorithms in a nice algorithmic way. For example when I make a constructor should I put something like:Class: carAttributes: wheelsConstructor car()or something likeClass: carFunction car()also when I come to the part of inheritance, one of my colleages put the word super() to define inheritance in an algorithmic way, but again I think that is too Java-way to do this part. Usually they teach in that way because the practical part is made in Java, but again I think that the algorithm should be more freely, directly towards the logic, and not to an specific programming language.Does anybody knows some standard to represent algorithms for OOP?
How to represent OOP concepts in algorithms in a standard way?
algorithms;terminology;education;object oriented;didactics