CATE, the Circuit Analysis Tool for Education, is a web-based teaching and learning system for linear circuit analysis. It supports active, assisted and passive learning modes. Students can tackle a particular circuit analysis problem using different learning modes and different techniques. CATE provides a learner-centered environment where the path through examples and problems is driven by a student's navigational choices. This allows students to easily transition between active, assisted and passive learning.The purpose of assisted learning is to promote the development of abilities that are key building blocks for circuit analysis. These key abilities include the formation of KCL and KVL equations for nodal and mesh analysis. The goal of assisted learning is to lessen the frustration for students who might otherwise only have access to the final answers associated with a circuit analysis problem.New features of CATE include the assisted learning mode, as well as the ability to transition between different learning modes for the same circuit. Another new feature is a circuit generation algorithm that can produce billions of different AC circuit topologies. CATE can now also generate exam questions with solutions.Past student satisfaction surveys indicated a generally positive attitude towards CATE and its benefit to learning. To better examine the impact of CATE on student learning we have developed new embedded assessment tools that track students' activity longitudinally. The resolution of these data can be adjusted from a finer detail with individual clicks to more coarse versions describing runs of activity of similar type. Data sets can be augmented by uploading external assessments such as quiz grades, or by using quiz questions generated internally by CATE. Longitudinal activity and assessment data are recorded temporally in a database to form an integrated picture of student use and ability. We have also developed a feedback mechanism for an instructor that indicates which learning objectives are being investigated by students and at what difficulty level. These data describe activity in a cross-sectional fashion for a student population.To be clear, CATE provides functionality that is different from SPICE. Each does provide values for voltages and currents in a circuit. However SPICE does not present intermediate equations associated with various types of analyses. Furthermore CATE helps address some common misconceptions such as the identification of series and parallel elements. It also provides an environment that allows students to readily build on their prior abilities by scaffolding.