人机交互(HCI)侧重于交互式计算系统的设计,评估和实现。简而言之,我们使系统更易于使用,更高效,更具吸引力。为了实现这些目标,HCI利用了广泛的领域,包括行为科学,社会科学,视觉艺术,设计和工程。
目前的研究项目侧重于众包,公民科学,基于手势的交互,触摸输入,机器学习的新颖应用和最终用户应用中的信息检索,以及艺术与人机交互的交叉。
HCI实验室成员是GRAND数字媒体研究网络的一部分,我们与Google,Pinterest和Thalmic Labs等公司进行过往和持续的合作。微软研究院,欧特克研究院,帕洛阿尔托研究中心(PARC),理光创新和三菱电机研究实验室(MERL)等工业研究实验室; 伦敦自然历史博物馆等机构; 和学术机构,如多伦多大学,法国计算机科学与自动化研究所(INRIA),卡内基梅隆大学,哈佛大学和伦敦大学学院。
编程语言组(PLG)负责编程语言和软件工程。这些领域与基本编程语言技术的基础使用有关:组合方法,扫描,解析,符号表,类型理论,代码生成,静态/动态分析和代码管理。
编程语言
影响多核/多处理器计算机上的高性能软件的主要语言功能是语言,运行时系统和相关工具的并发支持。由于并发编程很复杂,因此需要多种支持来帮助它的组合,开发,测试,调试和调优。Peter Buhr正在开发uC ++,它使用轻量级协同程序,监视器和任务,期货,异步异常处理,异步I / O和实时规范来扩展C ++; 同时,正在开发用于分析,调试,可视化和重放并发程序的工具。Tim Brecht和Peter Buhr正在开发并发内存管理方法,无论是否使用垃圾收集。Tim Brecht和Peter Buhr正在开发非常高性能的多线程Web服务器。
OnrejLhoták正在开发面向对象和面向方面的程序的过程间程序分析技术,使用二元决策图来紧凑地表示和有效地操纵分析事实。Peter Buhr正在开发一种名为Cforall的C扩展版本,具有参数多态性和重载功能。Gor Cormack正在研究多态类型推理算法,特别是对于更高级别的类型。这包括探索多态类型系统之间的联系和半统一问题的概括。