[VIRTUAL ENGAGEMENT] MSDMT 703



PROFESSOR

ARASH ADEL

STUDIO THEME

“INTRODUCTION TO PROGRAMMING FOR DESIGN AND RESEARCH”




Virtual Engagement introduces the students to programming and computation for design and research. This course utilizes Python as the programming language for its widespread use in scientific computing and design disciplines. By the end of this course, students will be able to utilize this robust platform to address real-world design and research problems. The course comprises three main sections: fundamentals, data structure and object-oriented programming, and algorithms. The first section covers programming fundamentals, such as syntax, variables and references, functions, arguments, loops, and conditional statements. Students will also be introduced to basic math operations and Boolean algebra and their implementation in Python. Building upon this foundation, the second part of the course delves deeper into the notion of object-oriented programming, covering built-in data types (tuples, sets, lists, and dictionaries), stacks and queues, and how to implement custom objects (classes) to model real-world phenomena. This section also covers basic geometrical concepts and operations such as cartesian coordinates, vector math, and transformations and illustrates their implementation in Python employing external libraries. The last section introduces the students to algorithms and algorithmic thinking. It discusses what an algorithm is and provides a brief overview of the history of algorithms. Moreover, it introduces conventions for representing algorithms such as pseudocode and flowcharts.