Machine learning and symbolic reasoning have been two main approaches to build intelligent systems. Symbolic reasoning has been used in many applications by making use of expressive symbolic representations to encode prior knowledge, conduct complex reasoning and provide explanations. Recently, machine learning has enabled various successful applications by learning from...
Raytracing is a long-established means to simulate physically accurate light propagation. Increasing availability and power of highly-parallel computing, such as cloud-based clusters and dedicated graphics hardware, means that rendering algorithms can produce high resolution output very quickly. This means raytracing can now be used as a forward model in optimization...
This work presents a cognitive model of argument structure construction acquisition and application based on analogy. The claims of this model are that (1) constructions, pairings of form and meaning, are a productive unit of linguistic analysis that account for a broader range of phenomena than traditional approaches; (2) human...
Modern cosmological simulations are some of the world's largest and most demanding numerical computations that are run on state-of-the-art supercomputers. The codes use N-body and mesh-based methods in gravity-only solvers, and both Lagrangian and Eulerian schemes to model gas dynamics. Even complex astrophysical effects such as of star formation and...
Social media such as Twitter has risen as a powerful new communication medium for disseminating information on news, personal interests, experiences, and opinions. On social media, people talk about their lifestyle, health conditions and symptoms, search information on treatment options, and connect with people who have been through similar medical...
Understanding electrical circuits can be difficult for novices of all ages (Grotzer & Sudbury, 2000; Osborne, 1983; Shipstone, 1984; Tarciso Borges, 1999). Research shows that novices tend to have inadequate understandings of what happens at the level of atoms and electrons, leading to difficulty predicting the outcomes of electrical circuits...
Online platforms for learning to code such as Coursera, CodeCademy, and CodeSchool attract millions of learners and significantly expand the pool of self-starting developers, yet critical gaps in knowledge and experience remain between inexperienced learners and professionals. With vast amounts of professionally-authored source code made readily available by the client-server...
Smartphone is becoming ubiquitous and its sales proportions have exceeded the sales of personal computer systems since 2012. The number of smartphones will increase and perhaps at an even higher rate in the coming years. The computational capacity and numerous mobile applications benefit end user's daily life. At the same...
Serious games that are designed for educational purposes promote acquisition of knowledge and skills that are valued in the both the virtual realm and the real world. The challenge is to design serious games that leverage meaningful play to produce positive learning outcomes in the real world. I argue that...
Embedded systems are ubiquitous. Although many aspects of embedded system design and synthesis have received significant research attention, comparatively less attention has been given to new ideas in memory hierarchy design. This dissertation presents several new operating system and architecture techniques that use elements of the virtual and physical memory...