Global training solutions for engineers creating the world's electronics products

Doulos at DAC 2021

Visit the Doulos booth #1315: 

Come and see us at our DAC booth where you can find out more about the new courses Doulos has released this year including:

You can also win prizes by completing our booth survey and find out more about the Doulos Lunch'n'Learn and Thursday is Training Day at DAC.

Find us on the DAC Floor Plan »

Thursday is Training Day

This year Thursday is Training Day is going Virtual

It provides an opportunity for you to attend high-quality training in popular subjects as part of your DAC experience. These are taught by well respected instructors who are each subject matter experts in their own right and have wide experience of teaching engineers at all skill levels.

Track 1

Session 1: Moving to Embedded C++

As a language, C++ has been available for over 30 years, until recently its popularity has lagged its predecessor, C. Rapid growth in embedded system complexity has now offered engineers the opportunity to re-evaluate the value that object-oriented programming and access to a wide variety of reusable libraries that C++ brings to the table resulting in C++ now leading C in popularity among embedded systems programmers.

This track will help guide you through the process of switching to using C++ in your future designs rather than using pure C. It will look at the differences between the languages, features and pitfalls of converting existing code. It will also give an overview of Object- Oriented Design techniques and libraries that allow for more efficient embedded systems and quicker project completion.

Featured Topics:
• Comparison of C and C++, covering some of the C++ enhancements. Also including methods for mixing C++ with existing C code
• Introduction to Object Oriented Design. Hiding details and protecting data from inadvertent modification
• Letting the compiler do all the work. Language features for optimizing the output code for size and speed
• Standard libraries and pre-written code

Session 2: Anatomy of an Embedded Linux System & User/Kernel Debug

In this session we cover each of the components required for Linux to work on an embedded system (i.e. the Linux kernel, toolchain, bootloader, filesystem). We will review how each of these components fit into the system and what functionality they provide for development and in the final deployed product. We will review some of the choices that can be made, looking at what options there are for creating an integrated development environment for embedded Linux.

An essential part of the process for developing embedded Linux systems is debugging. Whether to remove bugs or verify the behavior of the system it is vital for developers to know how to debug their code running on a Linux target. We look closely at embedded Linux application & kernel debugging and review the different tools and methodologies available in a typical embedded Linux system.

Each of these presentations will be augmented with demos, providing the attendees a chance to see the actual mechanics and ask questions.

Track 2

Session 1: The Python Language: Become a Pythoneer!

This session will teach attendees the basics of the Python programming language. Python has become enormously popular as a programming language because it is compact, elegant, productive, readable, and extensible. People often remark that a Python program looks like pseudo-code, an English language description of what the code is meant to do. These attributes have led Python to be widely used as a general-purpose scripting language in EDA tool flows, for scientific computing and deep learning, for embedded software test, and even for digital hardware verification and system modeling.

People sometimes become very enthusiastic about Python because of its elegance as a programming language – so-called Pythoneers. This session is your chance to become a Pythoneer, and to learn about some of the cool things you can do with Python right out-of-the-box!

This track is taught by Doulos Co-founder and Technical Fellow John Aynsley, winner of the Accellera Systems Initiative 2012 Technical Excellence Award for his contribution to the development of language standards.

Session 2: Deep Learning for Electronic Engineers

Deep learning algorithms are proving effective in many existing applications such as image recognition, speech recognition, and natural language processing. They are also opening the door to many totally novel applications and products, from smart homes to autonomous vehicles, from defense systems to medical systems.

Deep learning will impact DAC attendees in several ways, from the kinds of electronic product we design through to the algorithms used within EDA tools. The session will explain the background to deep learning, the technical jargon, and the main concepts you need to get started. Topics to be covered include basic machine learning algorithms for regression and classification, cost functions, basic neural network models, the distinction between machine learning and deep learning, the training and deployment of neural network models, an overview of the ecosystem including common deep learning software libraries and frameworks, and how to get started with deep learning. The workshop includes access to working code examples and instruction on how to run them yourself.

This session assumes a basic knowledge of Python. Attendees with no prior knowledge of Python are recommended to attend the Wednesday Lunch & Learn session Python for Scientific Computing and Deep Learning

This track is taught by Doulos Co-founder and Technical Fellow John Aynsley, winner of the Accellera Systems Initiative 2012 Technical Excellence Award for his contribution to the development of language standards.

These sessions are all available as part of the Virtual DAC experience - available world-wide!

LUNCH'N'LEARN: Python for Scientific Computing & Deep Learning

Wednesday, December 8: 12.15 - 1.15pm (PST) - Room 3022 & 3024


This year try out Thursday is Training Day... on Wednesday!

Attend our taster session FREE OF CHARGE - and you will discover some really cool things you can do with Python to help you start making sense of the emerging libraries and frameworks being used for Deep Learning and Scientific Computing.

This session includes:

  • One hour presentation by Doulos Co-Founder and Technical Fellow, John Aynsley
  • Discount voucher valid towards Thursday is Training Day available on the DAC Virtual Platform
  • The Lunch 'n' Learn recording will also be available to view on DAC Virtual 
Full description

As well as being a general-purpose programming and scripting language, Python has become one of the most popular languages for scientific computing and more recently for deep learning. Python is everywhere, and Python is cool.

Python is easy to learn, and Python programs are very readable, even by people who don't know Python. There are Python libraries available for doing pretty much anything.

In this tutorial you will learn enough to start using Python as a scripting language and you will become sufficiently familiar with Python to start making sense of the emerging libraries and frameworks used for deep learning, such as TensorFlow and Keras. This tutorial will show you some of the cool things you can do with Python right out-of-the-box!

Related training available from Doulos:

Looking for team-based training, or other locations?

Complete an enquiry form and a Doulos representative will get back to you.

Enquiry FormPrice on request