While specialized knowledge and skills are the hallmark of modern society, the size and complexity of contemporary problems often require cooperative effort to analyze and solve. Therefore, experiences with skills, methodologies, and tools for effective interdisciplinary collaboration and structured problem solving are vital for preparing students for future academic and professional success. Meanwhile, computational systems have permeated much of modern professional and personal life, making computational thinking an essential skill for members of modern society. However, formal training in these techniques is primarily limited to students within computer science, mathematics, management of information systems, and engineering. At Iowa State University, we have designed and offered an experimental course to develop undergraduate students' abilities for interdisciplinary teamwork and to disseminate computational thinking skills to a broader range of students. This novel course was jointly designed and instructed by faculty from the Computer Science Department, Gerontology Program, and Graphic Design Program to incorporate diverse faculty expertise and pedagogical approaches. Students were required to interview real users to identify real-life problems, gather requirements, and assess candidate solutions, which necessitated communication both within the group and with technologically-disinclined users. In-class presentations and wiki-based project websites provided regular practice at disseminating domain expertise to larger interdisciplinary audiences. Workshops, group-based mentoring, peer learning, and guided discovery allowed non-CS majors to learn much more about computer programs and tools, and grading criteria held students individually accountable within their disciplines but also emphasized group collaboration.