Complex Cyber Physical System Software Engineering
Examples of cyber physical systems are smart buildings that use innovative systems for heating and cooling, smart cars and smart cities that optimizes energy generation and use, and smart farming that reduces the impact on nature. These systems augment physical objects with software and artificial intelligence and developing software for these systems is no easy feat. To enable the rapid transformation to a smart society there is a great need for software engineers that can build these complex systems.
You will work for either the research center Robotics or the research center Data Driven Smart Society and build software components for an innovative cyber physical system using the SCRUM method. The work may include research, experiments, and site visits of industry partners.
Upon successful completion of this minor you will be able to:
- Apply agile software development by continuously aligning application domain requirements with available resources
- Apply agile software development by continuously integrating your software into a dynamically developing system
- Apply DevOps tools and techniques to develop software in a multi-group environment
- Apply software architectures to build cyber physical system components
This minor is in English.
This minor is open to students with knowledge and skills in the fields of programming, linux, robotics, and internet of things. Experience in embedded programming in at least one of the programming languages Python, C#, C(++), or Java is required.
You must have successfully completed your propaedeutic year and you need a laptop with the linux, Apple, or Windows operating system, capable of running virtual machines.
There is no required literature.
First week: Available projects and positions are presented and you will apply for positions with your resume and a motivation letter. During a job interview you will be assigned a position for a project. You will be introduced to the SCRUM method during a workshop.
In between: You will work in a small SCRUM subgroup on tasks related to your project. Each week you will present the results of your subgroup to other students and the project leader. Some weeks industry partners may be present. During the presentation feedback will be given and new tasks will be assigned. The project leader may decide to reassign you to a different or new group.
When necessary, workshops may be scheduled. Examples are workshops about SCRUM, DevOps, software architecture, the Robot Operating System (ROS), computer vision, neural networks, etc.
Mid-term Mid-term individual assessment of your tasks and accomplishments.
Final week: Final individual assessment of your tasks and accomplishments and a final presentation of all projects.
During the mid-term and final individual assessment you will present your portfolio of accomplished tasks and defend your work during an oral exam.Devops (10 EC)
During the mid-term and final individual assessment you will present your portfolio of accomplished tasks and defend your work during an oral exam.Software architecture (10 EC)
During the mid-term and final individual assessment you will present your portfolio of accomplished tasks and defend your work during an oral exam.
Many projects use the Robot Operating System and are related to computer vision. Prior knowledge on these topics is not required, but if you would like to prepare for this minor, getting yourself familiar with these topics is a good starting point.
As an example, during the previous semester our students worked on the government funded research project smart pear farming. Our students implemented 3D modelling of the trees and a robot simulation in Unity and ROS.