This course will focus on tools and techniques in modern algorithm design (mostly from continuous optimization and analysis), and their applications to the design of fast algorithms for fundamental problems in theoretical computer science, and numerical linear algebra. Topics covered will include basic matrices associated with graphs, connections between eigenvalues of these matrices and combinatorial structure of the graph, studying graphs as resistive networks, connections between random walks on graphs and resistive networks, and fast algorithms for solving resistive networks and Laplacian systems.