Products

Dr. Fedor Pikus cultivates engineering talent in Armenia

The semiconductor market depends on the work of talented engineers, but the supply of qualified engineers worldwide hasn’t kept pace with demand. That’s why Siemens EDA develops relationships with excellent engineers and engineering schools across the globe. Through education and mentoring, we can foster the next generation of engineering talent.

It’s in this spirit that Dr. Fedor Pikus, the technical fellow and director of the advanced projects team in Siemens Digital Industries Software (Siemens EDA), delivered his annual lecture to students and professionals who gathered at the American University of Armenia (AUA) on October 9, 2024.

Siemens and AUA have excellent mutually beneficial collaboration that started in 2012. It includes funding by Siemens joint research, training and representation (by Sedrak Sargisian) at Akian College of Science and Engineering Advisory Board. Often our collaboration results in joint publications. The most recent collaboration agreement was signed in 2022 (you can read about it in this blog post).

In June 2023, Siemens EDA hosted a group of twelve AUA students, several faculty members and Michael Kouchakdjian, the director of the AUA Entrepreneurship and Product Innovation Center (EPIC) program at the Fremont, California campus. The goal was to expand the global awareness, knowledge, and understanding of AUA’s most talented students by providing them with exposure to cutting-edge technology companies, accomplished entrepreneurs and technologists, and the innovative concepts of the Silicon Valley ecosystem, including the electronic design automation (EDA) industry. Read more about this visit here: AUA students meet Siemens EDA!

Dr. Pikus regularly delivers lectures and training at universities and at industry conferences and is the author of two books on C++ and software design. You can see his most recent training session at CppCon 2024 here. His expert domain knowledge and outstanding teaching skills have been recognized, highly appreciated, and impactful. Dr. Pikus has conducted numerous trainings for Calibre engineers both at the US and remote development sites.

Concepts, Coroutines, This, and That: How C++20/23 Will Change the Way You Write Code

In this year’s lecture, Pikus, who is an expert is high-performance computing and C++, wanted to give the students the kind of information that they can’t get just by reading a C++ reference. His talk, titled “Concepts, Coroutines, This, and That: How C++20/23 Will Change the Way You Write Code,” focused on explaining some of the more complex additions to C++. Dr. Pikus offers a wealth of knowledge, perspective and insight on the C++ language.

Dr. Fedor Pikus delivering a lecture on new C++ features at American University of Armedia in October 2024.

C++20 was a major update to the C++ standard: not since C++11 has the language changed in so many essential ways. By leaning heavily into the new language constructs, one can write code that is hard to recognize as C++ anymore. In his talk, Pikus covered some of these changes: ranges, new operators, revised template and lambda expression syntax, new compile-time features, “deducing this” and some of the library additions. He then focused on the two fundamental changes to the language: concepts and coroutines.

“It’s clear that C++ continues to play a vital role in modern software engineering, and seeing such enthusiasm and expertise in this field is a strong indicator of the vibrant and growing tech community here.”
– Fedor Pikus

Concepts and coroutines in C++20/23

Pikus discussed concepts and coroutines, two fundamental changes in the language that have the potential to change how we think about our code. Concepts, Pikus explains, allows us to write much safer, easier-to-use, and more maintainable generic code. Pikus particularly notes how concepts make generic code more robust and easier to understand. Concepts help to enforce constraints on template parameters, leading to better error messages and code readability.

Code showing a C++ concepts example.

Coroutines at first, appear to do the opposite as concepts. But, in fact, they can be used to greatly simplify some very complex code. Coroutines are functions that can suspend their execution and resume later, enabling asynchronous programming in a more sequential style. Pikus calls out coroutines as a powerful tool for writing asynchronous code in a more structured and intuitive way. He points out how coroutines can improve performance and simplify complex asynchronous logic. Coroutines also enable new ways of writing code, such as generators for lazy evaluation and cooperative multitasking.

Code showing a C++ coroutine example.

Both features are nonobvious in their applications and demand a change in the way we think in C++; for that reason, they were the real focus of his talk.

“Deducing this”

Pikus also touched on ranges and other new features, like the “deducing this” feature in C++23. “This is probably the most important new feature and it can change how we think about code,” said Pikus. The “deducing this” feature is a new way to specify non-static member functions. It lets the compiler automatically deduce the type of the “this” pointer in a member function, allowing for more explicit and flexible code.

The value of experience and insight

The lecture was attended by students and professionals from across Armenia and was hosted by the Zaven P. and Sonia Akian College of Science and Engineering. Attendees engaged in a lively and wide-ranging discussion with Pikus after the presentation. “The level of attention and the breadth of the questions show that many attendees have very up-to-date knowledge of the recent C++ developments and a keen understanding of the different types of problems the language is well-suited for,” said Pikus.

Dr. Hayk Nersisyan, chair of the B.S. in Computer Science program at AUA said “These new C++ features are a perfect example of how critical it is for our students to be well-prepared for continuous learning and innovation in their careers. This is precisely the type of knowledge that bridges academic learning with real-world applications”

About Fedor G. Pikus

At Siemens Digital Industries Software, Fedor Pikus’ responsibilities include planning the long-term technical direction of Calibre products, directing and training the engineers who work on these products, the design and architecture of the software and researching new design and software technologies. 

His earlier positions included a Chief Scientist at Mentor Graphics (acquired by Siemens Software), a Senior Software Engineer at Google, and a Chief Software Architect for Calibre PERC, LVS, and DFM at Mentor Graphics. He joined Mentor Graphics in 1998 when he made a switch from academic research in computational physics to the software industry. Pikus is a regular instructor at the CppCon Academy, has presented his works at CPPNow, CPPCon, SD West, DesignCon and in software development journals. He taught multiple software development classes at Siemens as well as two of the best-attended classes at CppCon Academy.


About the American University of Armenia

Founded in 1991, the American University of Armenia (AUA) is a private, independent university located in Yerevan, Armenia, affiliated with the University of California, and accredited by the WASC Senior College and University Commission in the United States. AUA provides local and international students with Western-style education through top-quality undergraduate and graduate degree and certificate programs, promotes research and innovation, encourages civic engagement and community service, and fosters democratic values.

Design with Calibre

Leave a Reply

This article first appeared on the Siemens Digital Industries Software blog at https://blogs.sw.siemens.com/calibre/2024/11/07/dr-fedor-pikus-cultivates-engineering-talent-in-armenia/