Fall 2017 - IAT 267 D100

Introduction to Technological Systems (3)

Class Number: 5106

Delivery Method: In Person


  • Course Times + Location:

    Mo 12:30 PM – 2:20 PM
    SUR 2740, Surrey

  • Exam Times + Location:

    Dec 14, 2017
    12:00 PM – 3:00 PM
    SUR 5280, Surrey

  • Prerequisites:

    IAT 167 and one of MATH 130, MACM 101, MATH 150, MATH 151, MATH 154, or MATH 157. Students who have completed IAT 265 before Dec. 31, 2012, may use IAT 265 as a prerequisite for IAT 267. Recommended: IAT 265 or other second year programming course.



Introduction to the core technologies and systems used in media-rich interactive environments, including computer hardware, operating systems, input and output technologies, networking and media. The concepts will be examined by working in a high-level media programming environment.


This course provides students with an understanding of technological systems, with focus on computer systems. The basic concepts necessary to understand computer hardware and software are described. At the beginning of the course the basics of electricity and electric components are explained as a preparation for the hands-on workshop sessions.   Sensors are introduced and it is explained how they integrate with computer systems at the hardware and software levels. The microcontroller (Arduino platform) is a key topic and students learn how to write code for Arduino to communicate with external circuitry, including sensors. The Processing language is used to facilitate the communication between Arduino and the computer system. Students will learn to write code and develop circuits for systems that use either physical input or physical feedback, providing the user with a rich interactive experience, through the use of sensors, graphics and sound. Finally, the basic understanding of techniques for networking several systems to support complex media applications is explored, including socket programming and UDP and TCP protocols.


Course Objectives: The course will:
·         Develop a theoretical and practical foundation in the structure and operating principles of technological systems in general, with a focus on computer systems
·         Develop an understanding of various sensor devices by analyzing the underlying physical principles and example of use in applications
·         Study the Arduino platform, language and programming environment and the Processing programming language as used to communicate with Arduino
·         Learn how to develop practical interaction-rich applications consisting of computer systems and sensors using Arduino and Processing
·         Study basic principles of networks with emphasis on issues relevant to complex media applications  

Learning Outcomes: After completing this course, students will be able to:
·         Explain the relationship between computer hardware and software.
·         Understand how sensors integrate into computer systems through hardware and application development environment
·         Develop interactive applications involving the computer system communicating with sensors, Arduino and the Processing language.


  • Assignments 10%
  • Participation 10%
  • Quizzes 15%
  • Programming Project 30%
  • Exam 35%


Assignments: 10% – 2 individual assignments  
Participation: 10% class participation,lab activities, in-class question sets and worksheets, in-class demos (individual)
Quizzes: 15% (in-class, individual)  
Programming Project:  30% (work done in a team; some of the marking for the project is on an individual basis)
Exam:  35% closed book (individual)



Required - Arduino Electronics Kit; available at the SIAT office; a nonrefundable $71.40 Undergraduate materials fee will be charged to cover this when you pay your tuition.

Reference Reading - “Physical Computing:  Sensing and Controlling the Physical World with Computers” (2004) by Dan O'Sullivan, Tom Igoe; 1st Edition; Course Technology PTR ISBN: ISBN 9781592003464

Registrar Notes:

SFU’s Academic Integrity web site http://students.sfu.ca/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