Welcome to our corporate digital skills training page! With over two decades of teaching experience, including at prestigious institutions like the Mathematics and Physics Departments of Politecnico di Milano, I bring a wealth of knowledge and practical experience to the table.
My background as a manager in software development companies ensures that my teaching is grounded in real-world application.
Our approach
Objective analysis:
- We begin by understanding the strategic goals and digital transformation objectives of your organization. This helps us tailor the course content to meet your specific needs and align with your long-term vision.
- Our focus is on enhancing your enterprise’s competitive edge through targeted digital skills development, ensuring that every training session contributes to your overarching business strategy.
Assessment of employee skills:
- We conduct a thorough assessment of the current skill levels and capabilities of your employees. This ensures that the training program is appropriately challenging and addresses the specific learning needs of your team.
- Our assessments are designed to identify both strengths and gaps, enabling a customized approach that maximizes learning outcomes and boosts employee confidence.
Enterprise technological stack analysis:
- We analyze your company’s existing technological infrastructure to ensure that the training program is compatible with and enhances your current tools and platforms.
- By understanding your technological ecosystem, we ensure that our training seamlessly integrates with your existing workflows, minimizing disruption and maximizing efficiency.
Customized training proposal:
- Based on the analysis, we develop a tailored training strategy aimed at bridging the gap between your organization’s digital goals and the current skill levels of your employees. Our courses cover a wide range of digital skills including programming languages, libraries, tools, methodologies (such as software design and DevOps), and more.
- Our proposals are crafted to deliver practical, actionable skills that employees can apply immediately, driving both individual and organizational growth.
Example course: BIMPY - Python for Building Information Modeling and Business Innovation
Objective
Python has become the standard language for creating professional applications without needing an extensive background in software engineering. Its support for multi-paradigm programming, a comprehensive runtime environment, and a vast array of stable libraries make it the ideal choice for quickly and securely developing both simple and complex applications.
This course will address the need to customize Autodesk Revit and explore other possibilities offered by Python’s “batteries included” philosophy, emphasizing business innovation through the integration of Revit with corporate knowledge bases and advanced digital tools.
Participants will learn how to leverage Python to drive business innovation by creating custom Revit plugins that seamlessly integrate with corporate databases, enhancing productivity and enabling more informed decision-making within the BIM process.
Note on Python and Autodesk Revit: Support for Python in Revit is limited, relying on frameworks with minimal community backing and lacking official support from Autodesk. The course will highlight the main differences between Python 3.4 (used in Revit) and the current version 3.12, focusing on syntax and practical examples.
Course structure and features
Duration: 6 units, each 3 hours long
- Unit 1: Foundations of Programming and Python Framework
- Unit 2: The Python Language and Core Libraries
- Unit 3: Interacting with the Operating System and Autodesk Revit
- Unit 4: Python for Procedural Programming
- Unit 5: Interacting with the Operating System
- Unit 6: pyRevit Integration and Corporate Knowledge Base Plugin Design.
Each session breakdown:
- Theory (2 hours):
- Hour 1: 55 minutes theory + 10 minutes break
- Hour 2: 50 minutes theory + 10 minutes break.
- Practical Exercises (1 hour):
- 55 minutes of hands-on practice.
- Theory (2 hours):
Materials provided:
- A Quarto website with collaboration tools and links to interactive notebooks, facilitating real-time collaboration and hands-on practice
- A Discord server to host lectures and Q&A sessions, as well as facilitate 1:1 interactions and study sessions between the teacher and students
- A document in Microsoft Word and PDF format containing the lesson texts
- Executable code examples and exercise scripts.
Recommended setup:
- Create a mailing list for participants to share questions and answers
- Prepare machines (any OS) with either PyCharm (free version) or MS Visual Studio Code (free). Python version 3.12.3 should be installed beforehand.
Detailed course units
Unit 1: Python Framework
- Objective: Introduce Python’s capabilities for creating simple and maintainable algorithms
- Topics:
- Software engineering, modern programming languages, programming paradigms
- Python ecosystem: compilers, interpreters, debuggers, versioning
- Python environment: Zen of Python, versions, paradigms, code organization
- Hands-on: Running a Python “Hello World”, using PyCharm IDE
- Overview of built-in functions, variables, types, functions, and classes.
Unit 2: Programming Fundamentals 1
- Objective: Teach the building blocks of Python for writing and integrating scripts
- Topics: Flow control, sequences, dictionaries, and sets.
Unit 3: Programming Fundamentals 2
- Objective: Organize code using functions, modules, and packages
- Topics: Defining functions, variable scope, lambda functions, namespaces, documentation, imports.
Unit 4: Programming Fundamentals 3
- Objective: Learn object-oriented programming with classes and error handling
- Topics: Defining classes, inheritance, error management.
Unit 5: Interacting with the Operating System
- Objective: Create applications by interacting with the OS and HTTP APIs
- Topics: File operations, OS services, FTP, SMTP, HTTP, shutil, zip modules.
Unit 6: pyRevit Integration and Corporate Knowledge Base Plugin Design
- Objective: Build a simple application with pyRevit and integrate it with your corporate knowledge base of materials and structures
- Topics:
- Working with pyRevit: Building a simple node with Revit API
- Packaging nodes for distribution
- Overview of Revit API
- Designing a Revit plug-in that integrates with your corporate knowledge base, allowing seamless access to materials and structural information directly within Autodesk Revit
- Practical examples and hands-on exercises to solidify understanding and application of concepts.