Introduction Are you a Bachelor student in Computer Science? Do you have an affinity for with unit tests? Then this internship could be interesting for you! Background information This is a software internship within the Wafer Alignment (WA) group, Metrology Measure department of ASML. This department develops software subsystems that help customers expose the patterns precisely on the silicon wafer. To keep the precision continuously at nanometer level, various Wafer Alignment models are applied at different phases of the process. These models are considered as the brain of the ASML scanner. More complex models provide more precision, but they usually require more resources (CPU, memory, etc.) and calculation time, which impacts the throughput of the scanner machine. Your assignment With this assignment we want to adapt the software in such a way that we can run new WA models without having to change our code in multiple places. Currently we have a list of available models from which customers can choose a preferred model type. In order to become more modular, we need a design on how to generalize the input such that we do not have to extent the list of models when a new model becomes available. You will need to modularize our software to ensure this generalization of input is properly propagated throughout the C++ software stack. The final implementation should be well tested, because this will end up in an actual product. At the end you will demonstrate that our software has become modular enough to accept any model type name as input and the correct functionality is performed. You will also learn how to develop, qualify and deliver a C++ product at ASML. Your profile To be a perfect match for this internship you: Have knowledge in C/C++ and object-oriented design; Have affinity for unit tests and version control (Git); Are a good communicator in English, both verbally and written. This is a Bachelor apprentice internship lasting 3-6 months for 5 days per week starting as soon as possible. Please note that we can only consider students who are enrolled at a university for the entire duration of the internship.