# Industrial programming

Lecture and facilitation notes for the [Industrial Programming course](https://kurser.dtu.dk/course/62236) at DTU.

At the end of the course, you will implement an industrial automation solution using a robot arm. The  mindmap below illustrates how what we learn supports your project.

:::{mermaid}
mindmap
  root(Industrial automation project)
    Idea
      ((Industry<br>4.0 / 5.0))
    C# program
      GUI
        ((OOP))
      Database
        Robot program/s
        ((Fund.))
        ((OOP))
      Business logic
        ((Fund.))
    Robot program/s
      ((URScript))
        ((Fund.))
    Documentation
      ((Diagrams))
    Project organisation
      ((Git))
:::

- *Circles* depict what we will learn.
- *Rectangles* depict components.
- Fund. stands for *fundamentals*.
- *Diagrams* can also be used as a design tool before implementing programs.


:::{toctree}
:maxdepth: 1
:hidden: true
course-map
tools
week01
week02
week03
week04
week05
week06
week07
week08
week09
week10
week11
week12
week13
security
three-week-project-deliverables-and-examination
:::

:::{toctree}
:maxdepth: 1
:caption: 'Appendix'
:hidden:
submission-checklist
study-guide-for-the-exam
activity-descriptions
overview-of-ide-shortcuts
web-based-c-sharp-compiler
links
miscellaneous-topics
solutions
:::

<!--
TODO next time:
https://gitlabpages.univ-lille.fr/gitlab-classrooms/gitlab-classrooms/

-->


<!--
https://student.dtu.dk/studieordninger/diplomingenioer/global-business-og-teknologi/studieordning

jeg kopieret kompetenceprofil indtil slutningen af retningsspecifikke profil og spurgte:
tænker du at et kursus om industriel programmering er relevant for studerende?

-- -- 

ChatGPT sagde:

Industriel programmering er direkte koblet til uddannelsens professionsprofil. Studerende skal ikke blive softwareudviklere, men kunne forstå, vurdere og omsætte digitale løsninger i industrielle sammenhænge. Programmering er i dag et arbejdssprog i produktion, automation, dataopsamling og integration. Uden det bliver Industry 4.0 hurtigt powerpoint.

-- -- --

Jeg har undervist et kursus, hvor jeg har undervist C# og robotprogrammering med URScript. De studerende laver et projekt med en Universal Robot robot arm, hvor de kan bruge conveyor belt og andere sensorer. Ganske kobles med GUI in C#. 

Hvad kunne læringsmålene være og hvad kunne være indholdet for 13 uger og 3 uge plus projektperiode?

-- -- 
Indhold – 13 undervisningsuger (én mulig struktur)

Uger 1–2: Industriel kontekst og systemtænkning
Industrielle automatiseringssystemer, roller (PLC, robot, PC), arkitektur.
C# som industriværktøj, ikke som “ren softwareudvikling”.

Uger 3–4: C# grundlag med industriel vinkel
Objektorientering, struktur, tilstande, events.
Fokus på robusthed frem for elegance.

--

Tre perspektiver på kursets styrke

Et teknisk perspektiv: Kurset træner faktisk “embedded thinking” uden at låse sig til PLC-verdenen.

Et professionsperspektiv: De studerende lærer at tale med både automationsfolk og softwarefolk.

Et strategisk perspektiv: Kurset gør GBT-dimittender mere relevante i moderne produktionsmiljøer, hvor software altid er med.

Samlet set: Det her er ikke bare relevant. Det er et kernekursus, hvis det positioneres som industriel systemintegration med programmering som middel.
Tre perspektiver på kursets styrke

Et teknisk perspektiv: Kurset træner faktisk “embedded thinking” uden at låse sig til PLC-verdenen.

Et professionsperspektiv: De studerende lærer at tale med både automationsfolk og softwarefolk.

Et strategisk perspektiv: Kurset gør GBT-dimittender mere relevante i moderne produktionsmiljøer, hvor software altid er med.

Samlet set: Det her er ikke bare relevant. Det er et kernekursus, hvis det positioneres som industriel systemintegration med programmering som middel.
-->