Almost all universities offer introductory courses that focus on microcontroller-based systems and embedded programming. Advanced course offerings vary, and are often not availabl...
Joseph Schneider, Mikel Bezdek, Ziyu Zhang, Zhao Z...
Crosscutting concerns can hinder maintainability of a design because they do not adhere to a system's underlying modular structure. Developers, therefore, may wish to refacto...
Eduardo Figueiredo, Jon Whittle, Alessandro F. Gar...
Design-for-testability is a very important issue in software engineering. It becomes crucial in the case of OO designs where control flows are generally not hierarchical, but are d...
A fundamental part of a Computer Science degree is learning to program. Rather than starting students on a full commercial language, we favour using a dedicated "teaching lan...
Weakly consistent replication of data has become increasingly important both for loosely-coupled collections of personal devices and for large-scale infrastructure services. Unfor...
Prince Mahajan, Ramakrishna Kotla, Catherine C. Ma...