What to expect from our MSCD program...
The Master of Science in Computational Design (MSCD) program is structured on a 2-year (Fall-Spring-Fall-Spring) curriculum with an option to complete in three semesters. The MSCD program is designed for applicants with prior educational experience in architecture-related subjects with an interest in becoming more computationally savvy or those with a technology or engineering background with interest in seeing their skills applied more creatively.
The curriculum combines both the science and the art of computing, with a strong foundation in programming. Likewise, students entering the program will find that prior programming experience is beneficial. Students are encouraged to take advantage of resources both within the School of Architecture (including our state-of-the-art Digital Fabrication (dFAB) Lab) and elsewhere in the University. Past and current graduates have taken courses in Computer Science, Civil & Environmental Engineering, Mechanical Engineering, Human Computer Interaction, Robotics, Art, Design, and more.
Core Course Descriptions:
Fundamentals of Programming
This rigorous course provides a basic foundation of programming methods and principles for students with minimal programming experience. It is designed as preparation for students who intend to take additional and advanced programming courses.
Paradigms of Research in Architecture
This course is an introduction to models and methods of academic research – particularly as they relate to building design issues – and a forum for intellectual curiosity. The initial 10 weeks of the semester involves an overview and covers several methods of research, including models of natural sciences, social sciences, sciences of the artificial, engineering and aesthetic in building design. During the final 5 weeks of the semester faculty from both the College of Fine Arts (CFA) and Carnegie Institute of Technology (CIT) will be invited to make presentations about their areas of research and the methods they use.
Principles of Imperative Computation
For students with a basic understanding of programming (variables, expressions, loops, arrays, functions), this course teaches imperative programming and methods for ensuring the correctness of programs. Students will learn the process and concepts needed to go from high-level descriptions of algorithms to correct imperative implementations, with specific application to basic data structures and algorithms.
The Master's Project provides students with the opportunity to conduct research under the direction of the School's faculty. Students are encouraged to pursue topics of personal interest, providing each individual the opportunity to customize his or her educational experience. Depending on the research topic, students may select a faculty member, who will act as advisor through the research process. Each project is to be fully documented, both technically and formally well written. The project culminates with a public presentation to a selected panel of faculty members. Normally, the project is undertaken in the second Fall semester. However, with approval of their faculty advisor, students may elect to spread the project over two or more semesters.