PODCAST · arts
NJ's Computation for Design
by NJ Namju Lee
This podcast offers an AI-generated summary of a Design & Computation lecture or talk featured on NJChannel.
-
36
3-Lecture CD 44 2022 05 Special Lecture-Design, Data, and Computational Design for First-Year Design Students (Opportunities, Preparation, Study Strategies, Motivation, Mentality
https://youtu.be/1LoJiQ7gzUI?list=TLGGfY_XJum7NJcyNjA4MjAyNQThe Future of Design, Data, and Computational DesignCondensed Briefing Summary (≈2000 characters)This lecture, aimed at first-year design students, emphasizes the crucial role of data, coding, and computational design thinking in shaping the future of design. Drawing on professional experience in the data industry, the speaker provides motivation and strategies to prepare for a rapidly evolving era.We live in an age of exploding information where smartphones, the internet, and the metaverse dominate daily life. Future competitors will be younger generations fluent in English, math, and coding. The key material of this era is data—and the ability to collect, process, analyze, and apply it defines competitiveness. For designers, data is now as fundamental as traditional materials like glass or fabric.Just as written language advanced human communication, coding is the next leap. Coding is not just technical know-how but a new problem-solving language. It supports computational thinking, helping designers transform abstract ideas into explicit, actionable processes.Computational thinking means approaching problems like a computer:Decomposition (breaking problems down),Pattern Recognition (finding repeatable structures),Abstraction (focusing on essentials),Algorithm Design (sequences, branching, iteration).This mindset trains designers to convert vague, implicit ideas into structured solutions.Coding empowers designers by:Automating repetitive tasks → more room for creativity.Turning ideas into working prototypes.Allowing optimization of outcomes.Enabling data-driven methodologies.Coding does not replace traditional methods—it complements them, giving designers new tools to expand their practice.Design is a sequence of decisions, and data provides evidence for them. Urban data, image data, and personal data can fuel innovative outcomes. Computational design already impacts architecture, optimization, VR/AR, and motion graphics. Designers with coding skills can collaborate more deeply with engineers and explore new creative directions.Students should start coding with languages relevant to their tools (e.g., JavaScript for After Effects, Python for 3ds Max/Maya). Approaching tools by data type (vector/bitmap, surface/polygon) is more effective than by brand. Math should be reframed as a visualization tool for geometry, not just abstract problem-solving. Online resources and self-learning are essential.Students should pursue what excites them personally, not just socially imposed goals. Failure should be seen as compressed growth, not a dead end. To thrive, designers must:Build unique strengths to raise personal barriers of entry.Connect diverse knowledge and experiences for new insights.Set long-term goals and stay consistent.The lecture stresses that data, coding, and computational design are no longer optional. They are the foundations for future-ready designers to expand beyond traditional roles, pioneer new domains, and create meaningful impact. Students are encouraged to overcome fear, embrace continuous learning, and carve out their own distinctive paths in the evolving landscape of design.1. Data as the New Material2. Coding as a New Language3. Computational Thinking4. Why Designers Need Coding5. Computational Design – Fusing Data & Design6. Learning Strategies7. Motivation and MentalityConclusion
-
35
Eng Public Lecture - Design & Data, DigitalFutures 2020
Data, Design, and Computation: A New Design ParadigmBriefing Summary from NJ Studio (NJ Namju Lee)NJ Namju Lee emphasizes the central role of data in design, particularly in computational design. He argues for a shift from seeing data as separate input toward integrating it as a fundamental component of design thinking and practice. His lectures outline three interconnected pillars:Data – Data exists everywhere, in daily life and design. Anything measurable, recognizable, or computable (from geometry to emotions) can be considered data. Design data extends across scales (product, building, city, landscape) and domains (environmental, social, material, fabrication, energy, image, interaction, parameters).Methodology (Data Structures & Algorithms) – Spatial information in design requires structured ways of processing: graphs, matrices, tensors. Algorithms act as “recipes” to transform data within these structures. The combination of data + structure + algorithm forms the foundation of computational design.System (Computational Pipeline) – The design process itself can be reframed as a computational pipeline, allowing systematic exploration, iteration, simulation, and optimization. Designers can “package” their intuition and expertise into algorithms or programs, formalizing design knowledge into computational frameworks.Key Ideas & ApplicationsDomain knowledge matters: Context (urban, landscape, architectural) shapes how data is collected, modeled, and interpreted.Data-driven design enables site analysis, performance simulation, and evidence-based evaluation.Optimization is a core application: finding the best solution under defined goals and constraints.Generative design uses rule-based or agent-based systems to explore multiple options and emergent possibilities.Visualization is essential for interpreting and communicating data-driven insights.Creativity from computation: Machine “errors” or unexpected outputs can inspire novel design directions.Mindset shift: Computational design is not just about coding but about reframing one’s own design process in computational terms. It requires openness, interdisciplinarity, and collaboration beyond traditional design boundaries.Takeaways for DesignersTreat data as integral to every stage of design.Develop fluency in data structures, algorithms, and visualization.Translate design processes into computational pipelines.Leverage domain expertise to connect data with meaningful outcomes.Use data for simulation, optimization, and generative exploration.Balance precision with creativity by embracing computation as both a tool and a partner in design.NJ Lee presents computational design as both a methodology and a paradigm shift—a way to expand the boundaries of traditional practice. Through urban analysis, material modeling, structural exploration, or environmental simulation, data becomes not only evidence but also a driver of creativity and innovation.
-
34
Class 18 A: Course Summary Session - Data in Design
The provided sources summarize a "Data In Design" course, emphasizing its core objective to teach students how to codify design processes using computational methodologies. The curriculum, structured around 17 sections and over 100 modules, covers topics from basic coding and geometry to advanced concepts like AI, data visualization, and software development for design. Students were guided to apply computational thinking through weekly assignments culminating in a final project, which also served as the primary assessment. The course materials, including lectures, slides, and podcasts, were designed to support continuous learning, with a final review session featuring expert feedback to reinforce student understanding and growth.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
33
Class 17 B: Workshop - CAD System Application & Development for Design Research and Project
The provided sources offer an overview of computational design software development, emphasizing the integration of data design principles. They explore various development environments and tools, such as Unity for cross-platform deployment and Three.js/Babylon.js for web-based 3D graphics, alongside fundamental concepts like design process pipelining and event handling. The materials also discuss the importance of building personal software libraries and the philosophical underpinnings of a computational designer, stressing continuous learning and meta-cognition to challenge conventional approaches. Ultimately, the content aims to guide students in applying these concepts to develop and distribute meaningful software for their design projects.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
32
Class 17 A: Lecture - CAD System Application & Development for Design Research and Project
The sources discuss the development of CAD software, emphasizing its role as a "software revolution" that transforms theoretical knowledge into executable and distributable systems for design and research. They highlight the fundamental differences between traditional design iteration and the methodical, step-by-step approach of software development, stressing the importance of structured architecture using concepts like front-end/back-end distinctions and the MVC (Model-View-Controller) design pattern. The lectures also explore object-oriented programming (OOP) for building hierarchical geometric data, the significance of rendering engines and performance optimization (including GPU-based parallel processing), and the crucial role of UI/UX principles in creating effective and user-friendly software. Ultimately, the material frames software development as a process of defining states, relationships, and rules to codify complex design processes, with a concluding motivational message about problem-solving and persistence.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
31
Class 16 A: Lecture - Design visualization
These sources provide an extensive overview of design visualization, encompassing its broad definition and practical applications in fields like architectural and product design. The lectures and accompanying document emphasize the technical principles behind creating visuals, including rendering processes, camera techniques, lighting, and post-production. Significant attention is given to animation and simulation methods for depicting movement and processes, alongside numerous real-world examples of commercial, artistic, and research-based visualization projects. Ultimately, the materials highlight that effective design visualization goes beyond mere presentation, focusing on conveying meaning and facilitating understanding through various visual strategies and a blend of technical skill and artistic vision.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
30
Class 15 A: Lecture - Digital Mapping & GIS for visualization
This lecture is about digital mapping and GIS for visualization, discussing how these tools are crucial for various design fields like architecture and urban planning. The lecture covers data types like vector and raster data, file formats such as GeoJSON and Shapefiles, and common GIS operations like buffering and dissolving. It emphasizes how mapping helps to uncover insights from data and explores different projection methods and visualization techniques, including animation and interactive maps, using various libraries and tools. The material also provides code examples and resources for practical application of these concepts.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
29
Class 14 A: Lecture - Data visualization
This lecture consists of excerpts from two video lectures and a related briefing document focusing on the topic of data visualization within a design context. The lectures emphasize that data requires visualization to be understood by humans, serving both for analysis to uncover patterns and for communication to convey insights effectively. They outline a three-stage process: recording, analyzing, and communicating data visually, highlighting the distinct strengths of human visual perception and computer calculation in this process. The materials also discuss principles for creating effective visualizations, including maintaining graphical integrity and considering human cognitive limitations through techniques like chunking and appropriate scaling, while also addressing the potential for bias and the importance of interaction with data in modern visualization.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
28
Class 13 A: Lecture - Dynamics & Agent System
These sources, a lecture series and accompanying briefing documents, provide an overview of Dynamics and Agent Systems within the context of Data in Design, building on foundational concepts like geometry and algorithms. They explain how dynamic systems, which account for time-dependent states, and agent systems, which model the behaviors and interactions of individual components within an environment, offer powerful approaches for tackling complex design challenges. Spring models and particle systems are highlighted as core examples of dynamic simulation, while the Flocking/Boids algorithm illustrates collective agent behavior. The lectures strongly emphasize the necessity of Object-Oriented Programming (OOP) for structuring these systems and the importance of hands-on coding for practical understanding, concluding that formulating design problems in a computationally solvable way is key to leveraging these methods for generating emergent and interactive designs.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
27
Class 12 B: Lecture - Design Algorithm & Optimization
These sources, primarily drawn from a lecture on design algorithms and optimization, introduce algorithmic thinking as a method for tackling design challenges. They discuss bottom-up approaches that build from foundational data structures and algorithms, contrasting them with top-down approaches that start with the design problem itself. The lecture explains both deterministic algorithms, which yield consistent results, and stochastic methods, which incorporate randomness, as valuable tools for finding optimal or best solutions. Crucially, the sources emphasize the need for quantifiable metrics and objective functions to evaluate and optimize designs, illustrating these concepts through real-world examples and the notion of the Pareto front, which defines the boundary of optimal design parameters.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
26
Class 12 A: Lecture - Design Algorithm & Optimization
These sources primarily focus on design algorithms and optimization, arguing that these are not merely technical tools but are inherently integrated with the design process itself. They emphasize the importance of computational thinking for designers and suggest that understanding an engineering mindset, particularly in software, is crucial for applying computational methods effectively. The texts provide an overview of foundational algorithm types (like deterministic vs. stochastic and brute force vs. heuristic) and essential data structures (including lists, graphs, and queues), illustrating their relevance through practical design examples. Ultimately, the sources posit that algorithms and optimization are ways for designers to express their intentions and guide their creative endeavors.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
25
Class 11 B: Lecture -AI-aided Design
This presentation explores AI-aided design, starting with the fundamental concept of generative models like pix2pix, which learn to create new images based on paired input and output data. It then discusses more complex applications such as creating 3D objects from sketches and generating maps using geographical data. The speaker also introduces Large Language Models (LLMs), explaining their architecture, the evolution from RNNs to Transformers, and the concept of fine-tuning and embedding to customize their behavior and knowledge. The presentation concludes by demonstrating practical uses of LLMs, including local execution of models and exploring various types of machine learning problems such as classification and regression, showcasing how AI models can be applied to different datasets like medical or financial information.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
24
Class 11 A: Lecture - AI-aided Design
This presentation examines how machine learning and AI can be applied to design processes, emphasizing the importance of data as a design material. It discusses various data types and how they influence the choice of analytical and generative models. The material explores essential concepts like data preprocessing (scaling, handling missing values, outlier removal), dimensional reduction (PCA, t-SNE), and the crucial role of data splitting (training, validation, testing) to create generic and robust models. Different machine learning problems such as regression, classification, and clustering are illustrated with examples, along with techniques like ensemble modeling and various neural network architectures (dense, convolutional, recurrent).https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
23
Class 10 D: Lecture -AI for Designers
These sources, including a video lecture and a briefing document, focus on the growing importance of AI and data skills for designers. They emphasize the necessity of learning fundamental libraries like NumPy and Pandas for data processing and analysis, likening their importance to design tools like Photoshop or SketchUp for architects. The materials cover key machine learning libraries such as PyTorch and TensorFlow, different types of datasets, and basic machine learning concepts, while encouraging practical learning through provided resources and exercises. Ultimately, the sources advocate for understanding the underlying principles of data science rather than simply following trends.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
22
Class 10 C: Lecture - AI for Designers
These sources introduce artificial intelligence, primarily focusing on machine learning as a method to achieve AI goals, using the relatable analogy of placing points and drawing lines to explain the core idea of pattern finding in data. They emphasize that understanding the problem and the available data types is crucial for choosing appropriate machine learning models, highlighting the necessity of good, clean data and the importance of data preprocessing steps like cleaning noisy data, handling missing values, and scaling features. The texts also touch upon different types of machine learning problems such as regression and classification, discuss concepts like the curse of dimensionality and techniques for dimensionality reduction, and briefly introduce neural networks and the concept of reinforcement learning while stressing the significance of domain knowledge and computational thinking for designers seeking to leverage these technologies. Finally, the need for GPU and parallel computing for efficient training is explained, along with an outline of a typical data-driven design process.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
21
Class 10 B: Lecture - AI for Designers
These lectures discuss artificial intelligence (AI), particularly focusing on the distinctions between analytical AI, which understands and explains data, and generative AI, which creates new content. The speaker raises concerns about the current hype around generative AI, arguing that many users lack a fundamental understanding of machine learning models and data structures. A significant issue highlighted is hallucination in generative models, where they produce incorrect or nonsensical information due to limitations in their training data, prompting a discussion on creativity versus error. The lectures also explore the complexities of applying AI to subjective or biased topics, the debate around general artificial intelligence (AGI) and superintelligence, and the importance of understanding the data and biases that influence AI outputs. Ultimately, the speaker emphasizes the need for critical thinking when engaging with AI and views it as a powerful tool for augmenting existing processes and increasing efficiency.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
20
Class 10 A: Lecture - AI for Designers
These sources feature a lecture on AI for Designers, aiming to clarify common misunderstandings and highlight the importance of technical understanding over mere imagination. The speaker contrasts traditional programming (Software 1.0) with data-driven machine learning (Software 2.0), presenting AI fundamentally as data handling and an "intelligence revolution" driven by speed and accessible knowledge. A core message is that designers must move beyond superficial trends and marketing hype to grasp the underlying principles and challenges, such as bias and the nature of errors, to effectively leverage AI. Ultimately, success with AI relies not on the tools themselves, but on a deep understanding of the problem to be solved.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
19
Class 09 B: Workshop - Raster: Pixel & Voxel map Data Structure
These excerpts appear to be from two parts of a workshop or lecture focused on data structures in design, specifically pixels and voxels. The instructor guides participants through Python code examples illustrating how to create and manipulate pixel and voxel grids, including concepts like connectivity, smoothing, and query operations based on location or data values. The material extends to demonstrating these concepts within Grasshopper 3D software, showing how to visualize and interact with the created grids. Additionally, the sources touch upon image processing techniques and their application in design contexts, highlighting concepts such as color blending, filtering, and spatial analysis using elevation or environmental data.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
18
Class 09 A: Lecture - Raster: Pixel & Voxel map Data Structure
These video lecture excerpts primarily discuss pixel and voxel data structures within the context of computational design, highlighting their importance in handling spatial information. The lectures explain how 2D images (pixels) and 3D volumes (voxels) can be understood as grids of numerical data, similar in concept to graphs but often better suited for continuous information. The speaker elaborates on how these data types enable image processing techniques, including color manipulation and filtering, and explores the use of color spaces and color computation (blending modes) for visualization and analysis. Finally, the lectures demonstrate the application of these data structures and techniques in various fields, such as geographical information systems, remote sensing, and design simulations, emphasizing their role in abstracting reality and facilitating computational workflows.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
17
Class 08 B: Workshop - Graph & Network
These excerpts showcase workshops focused on graph data structures and analysis within computational design contexts. The content covers foundational programming concepts like classes, nodes, and edges, explaining how to represent graph data, including handling positional information (XYZ) and creating weighted edges. Various graph algorithms, such as Breadth-First Search (BFS), Dijkstra's algorithm, and A search*, are discussed for tasks like finding the shortest path. The sources also demonstrate practical applications, such as cycle detection and topological sorting, and explore the use of external libraries like NetworkX and custom Grasshopper plugins for network analysis and visualization, emphasizing the importance of data cleaning and the strategic use of randomization with seeds.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
16
Class 08 A: Lecture - Graph & Network
These sources introduce graphs as a versatile nonlinear data structure fundamental for representing interconnectedness in various real-world and computational systems. They explain that graphs consist of nodes and edges, both capable of holding properties, and that their topology can be dynamically modified. The lectures and briefing document highlight different graph types, methods for computer representation, and essential graph algorithms like traversal (DFS, BFS), shortest path (Dijkstra, A*), minimum spanning tree, and centrality analysis, emphasizing their importance for abstracting reality and solving complex design problems computationally.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
15
Class 07 B: Workshop - Discretization & Mesh
These video excerpts discuss fundamental concepts of mesh geometry in computer graphics and architectural design, emphasizing the importance of data structures like vertices and faces to define 3D forms. The speaker illustrates how to programmatically create and manipulate meshes using various software libraries and languages, explaining topics like vertex and face normals, calculating centroids and areas, and applying transformations like offsets and twists. Key data concepts like serialization and different file formats for transferring mesh data are also introduced, alongside broader discussions on developing computational design thinking, creating evaluation metrics for design solutions, and the importance of consistent practice in mastering these skills.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
14
Class 07 A: Lecture - Discretization & Mesh
These sources, excerpts from a lecture and a briefing document, collectively highlight the importance of the mesh data structure within computational design. They establish computational design as a conceptual approach requiring programming proficiency to manage spatial information through various geometric data structures, particularly emphasizing how meshes facilitate discretization by converting continuous reality into finite data. The texts underscore the mesh's role as a universal structure for 3D software and data exchange, defined by vertices and connectivity, and explore its enhancement through additional information and advanced structures like the half-edge data structure. Furthermore, they discuss spatial partitioning techniques and contrast meshes with B-Rep surfaces, emphasizing the practical utility of meshes in diverse design and fabrication applications, while stressing the necessity of active learning and coding practice.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
13
Class 06 B: Workshop - OOP and Design Data Structure
These sources collectively explain Object-Oriented Programming (OOP) and data structures, emphasizing their application in design and architecture. They highlight the importance of structuring and organizing data, particularly by combining data and its associated functions within classes. The materials define classes as templates and objects as their instances, while introducing core OOP concepts like inheritance, polymorphism, and encapsulation, illustrated with geometric examples such as vectors, points, and polygons. Finally, the sources discuss techniques for data persistence in environments like Grasshopper and encourage practical application through assignments and the abstracting of everyday objects.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
12
Class 06 A: Lecture - OOP and Design Data Structure
These sources, a lecture and a briefing document on the lecture, review core programming concepts for a "Data In Design" class. The instructor emphasizes that learning programming is akin to learning a language, requiring consistent practice rather than sudden insight. The lecture introduces Object-Oriented Programming (OOP) as a crucial paradigm for organizing code, contrasting it with procedural programming and explaining concepts like classes, objects, and inheritance. Furthermore, the materials touch upon data structures, spatial information, AI applications, and the object-oriented structure of RhinoCommon, illustrating how these concepts are applied in computational design and real-world systems, including complex simulations. Finally, the lecture briefly mentions design patterns as advanced techniques for effectively utilizing OOP principles.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
11
Class 05 B: Workshop - Vector: Surface & Brep
These video excerpts focus on the computational design process, specifically within the Rhino/Grasshopper environment. The speaker demonstrates how to programmatically create and manipulate geometric data, including points, curves, surfaces, and boundary representations (Breps), using both RhinoCommon and RhinoScript Syntax APIs, while highlighting their differences. Key concepts covered include data structures like lists and arrays, using loops to generate geometry, understanding vectors for direction and transformation, and exploring methods for surface analysis, such as calculating area, centroid, and curvature, often comparing programmatic results with built-in functions. The discussion also touches on Boolean operations and the importance of understanding object-oriented programming (OOP) and computational thinking for analyzing design processes and structuring code effectively.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
10
Class 05 A: Lecture - Vector: Surface & Brep
These sources offer an overview of a data-driven design class lecture focusing on Surface and Boundary Representation (Brep) data, building upon previous discussions of vectors and curves. Key concepts covered include the definition of a surface as a two-dimensional form, the extraction of various data types like point grids, iso-curves, normal vectors, and curvature, and different methods for representing surfaces such as parametric and implicit forms. The lecture explores operations like area calculation and point projection, the mathematical understanding of curvature and its types (Gaussian, Mean), and concepts like surface mapping and geodesic curves. Finally, it introduces Brep and Mesh as methods for representing complex shapes and emphasizes the importance of understanding their hierarchical data structures for effective design and programming.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
9
Class 04 B: Workshop - Vector: Line & Polyline & Curve
These source excerpts primarily consist of a lecture on computational design and geometry using Rhino and Grasshopper, delivered with some Korean interjections. The lecture focuses on vector, line, polyline, and curve manipulation, including concepts like creating and modifying geometry through code, understanding data structures for points and lines, and interpreting parametric representations of curves. Additional topics covered include geometric operations such as fitting curves, calculating distances, line intersections, and splitting/trimming curves, as well as more advanced concepts like Bézier curves, circle and sphere packing, rectangles, ellipses, and the use of tangent, normal, and binormal vectors to define frames and curve curvature. The speaker also briefly touches on the importance of understanding the RhinoScript Syntax and RhinoCommon APIs and encourages hands-on practice with coding and geometric concepts.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
8
Class 04 A: Lecture - Vector: Line & Polyline & Curve
This lecture segment provides an overview of a computation design course curriculum, focusing on the foundational concepts and their application. The speaker emphasizes the importance of understanding vector operations, explaining how they are fundamental to manipulating geometric data like curves and surfaces. The discussion then transitions to object-oriented programming as a method for structuring data and design concepts, highlighting its relevance in computational design for creating customized data structures. Key geometric concepts like the representation and properties of curves, including tangent, binormal, and principal normal vectors and curvature, are explained. Finally, the lecture outlines future topics, such as spatial data, AI, and visualization, and assigns research homework related to computational design projects.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
7
Class 03 B: Workshop - Vector & Point Data Structure
These excerpts capture a workshop focused on the fundamental concepts of vectors and points within the context of design computing. The instructor guides students through various programming environments and libraries (like Processing, HTML Canvas, RhinoCommon, C#, and Python) to demonstrate how these basic geometric entities are represented and manipulated computationally. Key operations such as addition, subtraction, scaling, distance calculation, and cross/dot products are explained, often illustrating their implementation through code examples and their visual interpretation. The discussion also touches upon coordinate systems, planes, and transformations (translation, rotation, scaling), emphasizing that these seemingly complex geometric operations are built upon the core understanding of vectors and points. The overall aim is to provide students with a foundational understanding of these building blocks for creating and manipulating geometric data in design applications.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
6
Class 03 A: Lecture - Vector & Point Data Structure
This course introduces the fundamental concepts of vector and point data structures in a computational design context. It explains how real-world information can be translated into vector data, which represents magnitude and direction, and raster data, which is like a digital image. The importance of coordinate systems in interpreting these numerical data points is stressed, and different measurement systems like Euclidean and Manhattan distances are discussed. The lecture further explores basic vector operations such as scaling, addition, subtraction, and dot and cross products, highlighting how these operations are crucial for understanding the relationships between vectors and solving geometric problems like calculating angles, finding midpoints, and performing projections. Finally, the concept of transformations using matrices to manipulate geometric data is briefly touched upon, emphasizing how these core principles underpin much of computational design.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
5
Class 02 B: Workshop - Programming & Data Processing for Designers
This workshop lecture provides an introduction to programming and data processing, specifically within the Grasshopper environment. The instructor guides attendees through basic Python syntax and data structures like lists, strings, loops, and conditional statements, emphasizing the importance of understanding the underlying logic behind visual components. Key concepts demonstrated include manipulating numerical data, working with lists, using functions for tasks like mapping data between different domains, and generating random numbers. The lecture encourages hands-on practice by recreating visual component functionalities through coding, ultimately aiming for students to develop the ability to translate their design ideas into code and handle various data types and structures within the Grasshopper workflow.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
4
Class 02 A: Lecture - Programming & Data Processing for Designers
These sources present a compelling argument for the integration of data and computation into the field of design. They emphasize that future success in design hinges not on predicting fleeting trends, but on mastering enduring principles, problem-solving skills, and computational thinking. The lecture posits that understanding how to translate design concepts into quantifiable data structures—like vectors, rasters, and graphs—and then processing this data through code and algorithms is essential for creating powerful, iterative, and optimized design solutions. Ultimately, the material stresses the importance of hands-on coding practice, focusing on fundamental concepts like APIs, to enable designers to leverage the growing power of digital infrastructure.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
3
Class 01 B: Lecture - Data & Design - Code for Design
These sources introduce students to the foundational concepts of programming and data processing within the realm of computational design. The lecture emphasizes that programming is fundamentally data processing, requiring an understanding of data types and data structures to represent and manipulate information effectively. A key takeaway is the importance of applying computational thinking—breaking down problems and creating explicit instructions—to design challenges, distinguishing this from traditional implicit processes. The instructor also touches on essential skills like debugging and utilizing APIs to interact with design software, highlighting how embracing technology and its underlying principles is crucial for designers.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
2
Class 01 A: Lecture - Data & Design - Code for Design
These sources introduce a course titled "Data in Design," focusing on how designers can effectively use computation and data in their creative process. The instructor, an architect and software engineer, highlights that computational design is fundamentally about translating design thought into code and viewing data as a core design material. The course emphasizes understanding computational thinking, fundamental programming concepts like Python and Object-Oriented Programming, different types of design data (vector and raster), and techniques for handling them through discretization and various programming approaches. Ultimately, the goal is to equip students with the knowledge to develop explicit design processes and create software-based solutions, stressing the importance of mastering foundational principles over simply using fancy tools.https://namjulee.github.io/njs-lab-public/work?id=2025-introductionToDesignComputation
-
1
CD Talk 01 - Design Material: Data Utilization in Computation, buildSMART Conference 2024
https://youtu.be/K0Y20rPuoJsThis speaker, an architect turned software engineer and computational design specialist, discusses the increasing importance of data as a design material in the 21st century. He highlights how embracing computation, which involves translating design ideas into code, allows for the manipulation and analysis of spatial information in forms like vector and raster data, and explores how these digital representations can be used in various architectural and urban planning applications. The speaker emphasizes that understanding the foundational principles of computational thinking and data structures is crucial for designers to adapt to rapidly evolving technologies like AI and machine learning, rather than simply chasing the latest trends.This presentation argues that data is emerging as a fundamental design material of the 21st century, much like stone or steel in previous eras. The speaker, with a unique background in architecture and software engineering (Esri, MIT, Ready), emphasizes the transformative role of computation in design.Data as Material: Designers must now treat data as a medium for creativity and problem-solving.Digitization & Codification: Design involves turning the real world into data (discretization) and translating design processes into algorithms (codification).Computational Thinking: Essential skills include breaking problems into parts, identifying patterns, and constructing abstract models.Data Structures & Algorithms: Understanding vectors, rasters, graphs, and voxels is critical; algorithms are seen as design processes.Deductive vs. Inductive Logic: Traditional programming (deductive) is best for certainty; machine learning (inductive) is better for prediction. Each has its place.Foundational Knowledge: Emphasis on mastering fundamentals (like vector/raster logic) rather than chasing trends.Historical Context: The talk draws parallels between past material innovations and today's data revolution, influenced by milestones like the big data boom, AlphaGo, and ChatGPT.Design Through Data: Everything from urban design to landscape analysis benefits from data-driven methods.Creative Potential of Computation: Algorithms can embody design logic, and machine learning can generate "good errors" that inspire novel outcomes.Responsible Use of ML: While powerful, ML isn’t suited for every problem—particularly not for high-precision tasks.Educational Commitment: The speaker is deeply involved in spreading computational knowledge through videos, lectures, and a book.“Data is a material.”“Your algorithm is your design process.”“Creativity is a good error.”“Invest in what won’t change.”Core Themes:Key Messages:Memorable Quotes:
We're indexing this podcast's transcripts for the first time — this can take a minute or two. We'll show results as soon as they're ready.
No matches for "" in this podcast's transcripts.
No topics indexed yet for this podcast.
Loading reviews...
Loading similar podcasts...