# Course map 🗺️

## What do we learn?

:::{mermaid}
mindmap
  root(Programming)
    Fundamentals–fund.
      Variables
        Datatypes
          Numbers
          Strings
          Arrays
          Enumerations
      Branching: if-else, switch
      Terminal data input & output
      Looping: for, while
      Literal values
      Expressions
      Control flow
      Functions
    Object-oriented programming OOP
      Classes and objects
      Inheritance
    try-catch
    File handling
:::

:::{mermaid}
mindmap
  root(Diagrams for modeling)
    Flowchart
    Class d.
:::

<!--
    Sequence d.
    Component d.
-->
## Timeline

:::{mermaid}
:zoom: true
timeline
 0: Tools
 1: Lunar lander control
  : Flowcharts
  : Control flow
  : Tools
  : Git
 2: Conveyor belt capacity check
  : Terminal data input & output
  : Strings
  : Boolean expressions
  : Literal values
  : Functions
 3: 🤖 intro to RobotLab & robot access test
  : Arrays & lists
  : Strings
  : Boolean expressions
  : while
 4: Spare parts inventory assistant
  : looping
 5: Rock paper scissors Spock lizard
  : GUI programming
  : Functions
 6: Inventory system (IS)
  : Using and defining classes
  : Class diagrams
  : DataGrid
 7: ⛱️
 8: ISv2: Item sorting using the simulated robot
  : URScript
  : Robot simulator
  : Pick and place without gripper
 9: 🤖 ISv3: Physical robot with gripper
  : Pick and place with the gripper
10: ISv4: Managing data in a database
11: ISv5: Role-based access
  : user authentication
12: ISv6 + role-based access
13: ISv7: LLM integration
14: 🤖 Project idea feasibility
:::
<!-- 14: Robot monitoring dashboard

<!--
  : Sequence diagrams
-->

- 3-week period: Focus on robots
- 3. week:
  - Wednesday 12:00: Project documentation deadline
  - Thu and Fri: exam and demonstrations