Spring 2021 - IAT 452 D100

Developing Design Tools (3)

Class Number: 7775

Delivery Method: In Person


  • Course Times + Location:

    Fr 10:30 AM – 12:20 PM

  • Exam Times + Location:

    Apr 25, 2021
    7:00 PM – 10:00 PM

  • Prerequisites:

    Completion of 60 units, including IAT 351.



Introduces approaches to customizing and developing software applications as design-support tools to be employed in dynamic design environments comprising people, other tools, and their interactions in relation to the tasks to be performed. Discusses effective strategies for software development to find the best matching solutions for a given situation and applies the select methods in software design, prototyping, and evaluation. Makes use of software development processes, languages, and notations in representing design of the tools being developed. Experiments with contemporary systems such as drafting tools (CAD), authoring applications (for games, Websites, animations), parametric design-modeling systems, etc.; and searches their potentials to enhance design environments.



  • To develop an advanced level understanding of using, customizing and designing computational systems for various creative domains.
  • To learn-by-doing how to develop interfaces as creative technologies in relation to tasks, users, representation and system design methods.
  • To experience an interdisciplinary software design and development process and identify the role responsibilities.
  • To encourage creativity and critical thinking in software development and in all phases of the course.
Course Outcomes:
By the end of the course, the students will be able to:
  • Describe design environment settings in a given design domain and a particular context; and propose systems to support designers achieve their tasks.
  • Analyze complex design activities requiring significant cognitive load by using task analysis methods for the purpose of developing design-support tools.
  • Develop models for system designs, including architecture and user-system interaction.
  • Identify and use various forms of Object-Oriented modeling strategies.
  • Perform assessment of system designs and evaluation of design interfaces.
  • Apply use-cases, UML, and various programming languages and API during software development.


  • Assignment 5%
  • Quizzes (x2) 10%
  • Mid Term Exam 30%
  • Course Project (Team) 50%
  • Readings - Participation 5%


Assignments and Projects:

  • You are required to provide your own solutions to the given assignments and to present them to the instructors.  Please note that, you must demonstrate that you understand what you do in each assignment.
  • The demonstrations will take place during each lab session and will be graded towards your lab grade.
  • There will be embedded lab sessions and the goal is to apply learned material.  If the time reserved for class sessions will not allow you to complete given assignments in the class, you are expected to continue working on the assignments out-of-class.  I recommend minimum of six-hours for out-of-class activities: project, assignments, reading, and self-improvement.  The students will work in a collaborative manner at most of the times.



Reading References:
TBA – see the detailed schedule.

  • “…the complexity is a reflection of the complexity in the environment”, Herbert Simon (1969): Systems development is generally acknowledged to be an intellectually complex activity. This complexity is magnified by the need for expertise in two disciplinary areas—the area of the problem being solved (the application domain), and the area of constructing a software solution (the systems and software discipline). The application knowledge component of this dual disciplinary problem is significant. Blum states “… much of what we consider to be software development is actually application domain problem solving …” A successful systems developer is one who masters the large amounts of knowledge present in both disciplinary areas. This complexity inherent in systems development typically is addressed by employing standardized methods to develop systems.
  • Vessey, I. and R. Glass, (1998) Strong vs. Weak Approaches to Systems Development, Communications of the ACM April 1998/Vol. 41, No.
Useful Resources:
  • Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, Third Edition by Craig Larman. [ONLINE]
  • Applying Use Case Driven Object Modeling with UML: An Annotated e-Commerce Example by Doug Rosenberg, Kendall Scott [ONLINE]
  • Software Design, Edition 2nd ed. by David Budgen Addison-Wesley 2003 [RESERVE]
  • Advanced systems design with Java, UML, and MDA by Kevin Lano. Boston: Elsevier Butterworth- Heinemann, 2005 [RESERVE]
  • UML Distilled: A Brief Guide to the Standard Object Modeling Language, third edition, by Martin Fowler

Registrar Notes:


SFU’s Academic Integrity web site http://www.sfu.ca/students/academicintegrity.html is filled with information on what is meant by academic dishonesty, where you can find resources to help with your studies and the consequences of cheating.  Check out the site for more information and videos that help explain the issues in plain English.

Each student is responsible for his or her conduct as it affects the University community.  Academic dishonesty, in whatever form, is ultimately destructive of the values of the University. Furthermore, it is unfair and discouraging to the majority of students who pursue their studies honestly. Scholarly integrity is required of all members of the University. http://www.sfu.ca/policies/gazette/student/s10-01.html


Teaching at SFU in spring 2021 will be conducted primarily through remote methods. There will be in-person course components in a few exceptional cases where this is fundamental to the educational goals of the course. Such course components will be clearly identified at registration, as will course components that will be “live” (synchronous) vs. at your own pace (asynchronous). Enrollment acknowledges that remote study may entail different modes of learning, interaction with your instructor, and ways of getting feedback on your work than may be the case for in-person classes. To ensure you can access all course materials, we recommend you have access to a computer with a microphone and camera, and the internet. In some cases your instructor may use Zoom or other means requiring a camera and microphone to invigilate exams. If proctoring software will be used, this will be confirmed in the first week of class.

Students with hidden or visible disabilities who believe they may need class or exam accommodations, including in the current context of remote learning, are encouraged to register with the SFU Centre for Accessible Learning (caladmin@sfu.ca or 778-782-3112).