Study guide for the exam

Study guide for the exam#

Only studying with a list of exam questions can become a hit or miss game for preparation. You may get a good grade because the questions you studied for also appeared in the exam (hit). However, you may also get a bad grade even you studied hard, because in the exam different set of questions may have appeared than you prepared for (miss). Then you may push the responsibility on the instructor, because they did not list the relevant questions.

Listing all the questions you may get is difficult, even impossible. Using a list of what you should do in the exam may be better for you to avoid the hit or miss game.

To do well on the exam, you should be able to do the following:

  • Brainstorm an industrial automation scenario in context of Industry 4 and 5.0

  • Analyze an industrial automation problem and identify its components and interactions

  • Plan system interactions using flowchart

  • Write code based on a flowchart using control flow statements if, if-else, if-else if-else, and while

  • Represent real-world quantities using appropriate datatypes

  • Model the flow of information between sensors, actuators, and control software

  • Input and output data on a program with console interface

  • Structure a computer program

  • Convert operational rules into control logic, i.e., process decision points

  • Describe process decisions using Boolean logic

  • Implement control logic using ?: (ternary conditional operator), if-else, and switch

  • Implement continuous and iterative processes using while and foreach

  • Use collections to represent a sequence of data

  • Create dynamic text using string templates

  • Convert a console application to a GUI application

  • Identify repetitive code that can be integrated in a function

  • Implement reusable functionality using functions with arguments and return value.

  • Create randomness in programs

  • Model a process using a state machine

  • Implement a state machine using an enumerated type and switch

  • Model and implement system components using classes

  • Find association, inheritance, aggregation relations between objects

  • Draw class diagrams

  • Use appropriate controls to list data on a GUI

  • Store associated data pairs in a dictionary

  • Organize and manage related data using Dictionary

  • Implement an industrial robot process using URScript via C#

  • Use a coordinate frame to describe robot tool’s pose

  • Use a gripper to pick and place objects

  • Integrate a provided class into an existing project

  • Explain the advantage and disadvantages of using databases for data input-output

  • Model the relations between data tables in a database using OOP

  • Integrate a database software into a C# project

  • Explain the importance of security in operational technology

  • Identify potential attack vectors in industrial automation systems

  • Evaluate the consequences of security breaches

  • Apply security principles to an industrial control system implementation (in the project)

  • Locate basic security principles in software, e.g., salting

After writing the project proposal (Conceive, design):

  • Analyze an industrial automation task

  • Reduce the solution to a minimal, workable system using existing lab infrastructure

  • Define requirements, including functional, safety, security and usability constraints.

  • Structure a software- and robot arm-based solution

  • Communicate the technical approach, constraints, stakeholders, milestones, and expected outcomes in a written proposal

at the end of the project period (Implement, integrate, test, operate, present):

  • Use object-oriented programming for controlling and monitoring

  • Program an industrial robot using URScript

  • Integrate different industrial tools like conveyor belt, visual object identification, and sensors

  • Develop a simple and user-friendly GUI

  • Apply basic industrial safety and security principles in automated systems.

  • Test and iterate to ensure system meets requirements and operates reliably.

  • Present and explain the solution to technical and non-technical stakeholders.

  • Work project-oriented in a team, dividing tasks and responsibilities effectively

In the exam, we will focus on your project and take it from there. On the one hand, everyone must have an overall basic understanding of the whole system, i.e., how the different components communicate with each other. You should be able to show where in the code the communication happens. On the other hand you should demonstrate a deeper technical knowledge about your own part, so you can explain what your code does.