Many problems in science and engineering are better understood as a dynamical system with internal mechanisms to evolve in time. This course illustrates how theories from dynamical systems can help analyze and interpret data with some recent developments. Particular emphasis will be given to the scenario where we have limited observations of a system consisting of a large number of variables, such as in the brain. We will first review classic stability and bifurcation theories and then discuss topics Including: theory and application of chaos, data-driven modeling and DMD, and fitting and Interpreting RNNs. The students will also have ample opportunity for hands-on practice of the discussed algorithms. The course is suited for both postgraduate and advanced undergraduate students. There is no formal prerequisite. However, the students are expected to be familiar with linear algebra, multivariable calculus, ordinary differential equations, basic probability, and statistics, and have experience in some programming language (e.g. python, MATLAB).