This course explores the models, numerical methods and algorithms that are used for simulation and optimization of circuits. The course begins with coverage of the algorithms that are used in the ubiquitous SPICE program and its many variants. This is followed by an overview of the numerous analog and digital simulation techniques that have followed since the introduction of SPICE. The course further covers some of the most recent modeling and simulation work including, but not limited to, model order reduction, harmonic balance methods, nonlinear macromodeling, compact device modeling, and statistical timing analysis. Finally, the use of circuit simulation algorithms for non-circuit problems will be explored. 4 hrs. lec. Prerequisites: 18-320, 21-241 and 18-660 or equivalent, and graduate standing.