The paper describes some scheduling methods in the high-level synthesis. They are divided into two groups: basic and generalized. The first group consists of algorithms such as as soon as possible, as late as possible, integer linear programming, force-directed scheduling, and list-based scheduling. These algorithms require some simplification of the data-flow graph. The second group, that is applicable under any condition, consists of evolutionary algorithms (simulated annealing algorithm and genetic algorithm), technology-based scheduling, pipelined scheduling, etc. The paper ends with a comparison of some algorithms. The main interest is laid on the differences between heuristic-constructive and transformational algorithms.