Signal flow graphs are an alternative to block diagrams for graphically describing systems. They consist of nodes to represent signals and branches to represent system blocks labeled with transfer functions. To convert a block diagram to a signal flow graph, identify and label all signals, place a node for each, connect nodes with branches in place of blocks while maintaining direction, and label branches with transfer functions. Mason's rule provides a formula to calculate the overall transfer function of a system represented by a signal flow graph based on terms like forward path gains, loop gains, and non-touching loop gains. Controller design uses feedback to modify a system's response to meet performance specifications by placing the closed-loop poles through selection of controller parameters.