The problem of synthesizing switching circuits which compute a given, completely specified switching function is considered.A new point-of-view, in which Switching circuits are considered to be realizations of p.lgorithms rather than interpretations of truth-functional formulae, is adopted.A restricted class of algorithms, called the cascade algorithms, is identified and it is suggested that tree and collapsed-tree, iterative, multiple-iterative, sequential, and cascaded-sequential switching circuits may be viewed as realizations of cascade algorithms.Those circuits are called, therefore, cascade circuits.Three basic techniques, functional decomposition, merging, and skipping, which permit the synthesis of efficient cascade algorithms to compute a given function are described.It is then shown how those techniques may be applied so as to synthesize a collapsed-tree, iterative, multiple-iterative, sequential, or cascaded-sequential switching circuit which computes a given switching function.Examples are drawn from the technology of curre nt-steering devices, such as relays and cryotrons, but the method is applicable to other technologies.The procedures appear to be well-adapted to execution on contemporary digital computers.