4CA10 - Principles of design and programming

/

Content

The Design part of this subject covers basic principles for designing and constructing machines and instruments. These include:

  • Thoroughly analysing the problem and finding the question behind the question. Distinguishing main functions and sub-functions
  • Devising concepts and validating their usefulness with simple calculations
  • Make detailed designs focusing on choice of materials, machine parts, technical drawing, manufacturability, etc.
  • Manufacturing techniques and the relation between chosen concepts and manufacturing techniques

The Programming Part of this course covers the basic skills fort he development of code to perform simple calculations and data-processing. These include:

  • The basic components of a programming language (read, write, assign, selection, repetition and blocks).
  • The use of abstraction of data and functionality to improve readability and maintainability of codes.
  • Het use of standard libraries to perform calculations, data analysis and vizualisation.
  • The translation of functionality into a working code (code design).
  • The use of version management and code development tools.

Objectives

After passing the course, the student is able to:

  1. Analyze a simple mechanical design problem, such that the determining factors for solving the problem are precisely clear
  2. For a given simple mechanical engineering design task, create a number of concept solutions based on the required functions, and evaluate with simple estimation calculations, such that it is quickly clear which concept solutions are realistic
  3. Understand the design principles for low weight and high stiffness, such that the student can evaluate whether the design of a simple mechanical structure exhibits the desired predictable behavior
  4. Understand the design principles for controlling degrees of freedom, such that the student can evaluate whether the design of a simple mechanical structure exhibits the desired predictable behavior
  5. To understand the design principles for avoiding backlash and friction, such that the student can evaluate whether the design of a simple mechanical structure exhibits the desired predictable behavior
  6. Understand that many parts in a mechanical construction do not need to be designed by the student, but can be selected as standard parts from the suppliers of actuators, transducers, guides and sensors, such that for a simple mechanical construction, the student can make the right selection from the suppliers' catalogues.
  7. Understand the main rules regarding technical drawing in such a way that the student can read a simple mechanical drawing, and can judge whether a simple mechanical drawing complies with these rules.
  8. Understand how function, choice of materials, shape and manufacturability are interrelated, such that the student can evaluate whether a selected manufacturing method for a simple mechanical structure is an appropriate manufacturing method.
  9. Understand the importance of programming in Mechanical Engineering based on a historic overview and current trends. The student is aware of different programming languages and their applications (categorized in language generations) and is able to select the appropriate language and/or generation, given the application at hand (data processing and visualization / control / modelling).
  10. Understand the general syntax elements of programming languages (read, write, assign and declaration, selection, repetition, blocks) and the various datatypes (bool, int, floats; arrays and structures).
  11. Use the concept of abstraction (both data and functionality) to improve modularity, development, robustness and maintenance of source codes. The student is aware of the use of standard libraries in code development.
  12. To translate a desired functionality into a working source code, following best practices for code development, taking into account design constraints.
  13. The student has been introduced to software development tools for code development, and understands the necessity for version management and documentation.

Contact