Note: "Introduction to..." lectures can be expanded into full courses.
General audience lectures:
From Chaos to calm: A guide to effective time management
Do you ever feel like there are not enough hours in the day? Are you struggling to manage your workload and meet deadlines? The good news is that you're not alone: We all do. Time is a limited resource, but modern life demand more and more of it.
We'll start by figuring out what takes up all of our time and makes us so frustrated. Then, we'll discover how we can maximize productivity and efficiency by learning practical strategies for effective time management. From setting goals and prioritizing tasks to minimizing distractions and leveraging technology, this lecture will provide you with actionable insights to help you take control of your time and achieve your goals.
And, as the saying goes: "If not now, when"? We'll start implementing those insights right away, each one with his or her own life and personal tasks. Mental relief assured.
Fixing the world (one robot at a time)
Would you like to change the world? So did Dean Kamen. But unlike most of us, who would just complain and then forget about it, Dean is an engineer and an entrepreneur: When he sees a problem, he fixes it. And so, 30 years ago, he started his journey to fix the world. His goal was simple: Raise a generation of kids who’ll admire science and technology at least as much as they admire rock stars; promote professionalism and hard work alongside generosity and cooperation; and while we’re at it, encourage them to help the community, fight climate change, and many other worthy goals.
Spoiler: It's working.
In this lecture, we meet Dean Kamen, talk about his dream and how he decided to accomplish it, how it works, and why you (and your kids) want be part of it.
− "Computers? I don't get along with them"
− "Technology is cold and heartless"
− "I'm technophobic"
This lecture challenge the common perception that technology is a purely scientific endeavor. It explores the fascinating and often surprising ways in which digital technology is influenced by the humanities. Together, we will see how works of literature, folklore, and art have had a profound impact on the development of digital technologies.
We hope the lecture will inspire you to think creatively about the intersection of technology and the humanities, and to improve your relationship with future innovation.
Introduction to the hi-tech industry (lecture series)
This series of lectures explores the dynamic and ever-changing landscape of the technology sector. They can be delivered as standalone presentations, integrated into a full course, or seamlessly woven to create an encompassing overview.
In thlectures, we map the various aspects of the hi-tech scene and gain a solid foundation in understanding the key principles, trends, and players shaping the industry. Through interactive lectures and real-world examples, learners will develop a practical understanding of industry terminology, lifecycle of tech products, roles and jobs, as well as their respective requirements. Participants will also learn what they need to do in order to get their first job in the industry.
Topics discussed in this course are:
- Mapping the hi-tech industry: Companies, markets, sizes
- Roles, positions, and life-cycle
- Hi-tech terminology
- Programming languages
- Getting your first job
Don't think: Cracking the code of efficient work/life balance
In this lecture, I’ll tell you the secret to relaxed, productive, and balanced work/life balance.
TL;DR: Don’t think.
Throughout the lecture, we’ll discover how to use various methodologies and techniques, from GTD to Zero Email, to help you stop worrying about what you’re not doing and concentrate on what you want to do, whether it’s work- or life-related. Bring a notebook (or a note-taking app) and get ready to take control of your life.
Architecture and design lectures:
To Microservice, or not to Microservice
A new project; a new addition to an existing project; maybe it's an old system that should be retired and rewritten. The motive doesn't matter, the means are obvious: Microservices! The latest and greatest architectural fashion, with buzzwords such as Kubernetes and Cloud. This is a great opportunity to get into action and live on the bleeding edge!
Before you're rushing forward with that project, I would like to tell you about two projects. We'll talk about the motives and need to modernize each one; get to know the considerations and constraints that affected the decision whether to go for a microservice architecture or go the more traditional route; and most important: We'll learn a few lessons, so that in our next project, we'll be able to make an educated decision: To microservice, or not to microservice?
Anyone in a position to comtemplate, or make a decision, regarding modernization of existing systems. Those who are about to start developing a brand new system. People who are enchanted by buzzwords and bleeding-edge technologies, and of course those who are wary of the same things.
Introduction to microservices
Microservices have become a popular architectural style for developing large-scale applications. In this lecture, we will discuss the concept of microservices, its benefits and drawbacks, and how it differs from traditional monolithic architectures. We will explore the key principles of microservices such as independence, scalability, and fault tolerance. We will also examine the challenges of designing, testing, deploying, and monitoring microservices. Additionally, we will discuss the use of containerization and orchestration technologies like Docker and Kubernetes in microservices architecture. By the end of this lecture, attendees will gain a solid understanding of microservices and be able to identify potential use cases and challenges when adopting this architectural style.
Software architects, developers, product owners, DevOps engineers, and anyone who is involved in the design, development, and deployment of large-scale applications.
An agile approach to Agile
Agile methodology has become a popular approach for managing software development projects. However, when it comes to implementing Agile, there is no one-size-fits-all solution. Organizations must adapt Agile practices to fit their unique needs and constraints. Agile is a methodology that celebrates flexibility - but its practice might dictate very specific behavior and rituals, from the daily stand-up to sprint planning and retrospective meetings. Can we divrge from the strict path, and when should we do that?
This lecture will provide attendees with the knowledge and tools to effectively use Agile in a flexible and tailored way for their organization. In this lectures, we will break Agile down into its basic components, research their meaning, and find out how they should be used - even in non-Agile projects and organizations. Participants will learn how to identify the specific Agile practices that align with their organization's goals, culture, and development process. The lecture will also cover how to tailor Agile practices to different project sizes, team structures, and business contexts. By the end of the lecture, attendees will be able to confidently apply Agile principles and practices to their organization and deliver high-quality products with greater efficiency and customer satisfaction.
Anyone involved in software development, such as project and product managers, team leads, developers, testers, and other stakeholders who want to learn how to implement Agile methodologies effectively and flexibly in their organization. The lecture would also be beneficial for individuals who are already using Agile but want to improve their implementation or tailor it to better fit their organization's needs. Overall, the lecture is designed to provide practical guidance and actionable insights that can be applied to different types of projects and organizations.
Software developmment and programming lectures:
Let's break down the SOLID principles, one by one – and then really break them
Being a "good" programmer, we're told, is all about religiously adhering to sacred principles such as SOLID and Design Patterns. But sometimes we lay awake at night, wondering what constitutes a "single responsibility"? Is quick sort Liskov-substitutable for bubble sort? How many one-method interfaces are we allowed before our code is considered over-segregated?
In this lecture, we investigate the SOLID principles one by one, and understand when to apply them – and when not to.
C#, Java, C++, and other OO language developers with an open mind.
For each of the SOLID principles (Single responsibility, Open/closed principle, Liskov substitution, Interface segregation, and Dependency inversion), we answer the following questions:
- What is the meaning of the principle?
- Why is it a Good Thing?
- When should we apply it?
- When should we ignore it? (or: How do we avoid abusing it?)
Introduction to Git
If you've been programming long enough, you must have heard of (or even used) Git, the powerful version control system that revolutionized the way teams work on software projects. You must have also heard (or experienced) how complex and inexplicable it is.
In order to use Git properly, to streamline your workflow and improve your efficiency as a developer, you need to grok (that is - deeply understand) Git. Get ready to discover the ins and outs of Git, from basic concepts to advanced techniques, and learn how it can transform the way you work. We will also cover common methodologies and best practices and discuss their pros and cons. Whether you're a seasoned developer or just starting out, this lecture is for you.
Software developers, from juniors to seniors.
Revolutionizing software quality: Harnessing the power of automated testing
Automated testing has transformed software development by enabling developers to deliver high-quality applications efficiently. This lecture explores the fundamentals of automated testing, from unit tests to integration and system tests. Attendees will learn the importance, benefits, and best practices of unit testing, including early bug detection, improved maintainability, and code refactoring. The lecture covers testing frameworks, the TDD methodology, CI/CD integration, test coverage, and emerging trends. Real-world examples highlight the impact of automated testing on software quality and development speed. Embracing automated testing leads to code excellence and risk mitigation.
This lecture can be delivered as two lectures: One tailored for software developers and the other specifically designed for testers. Both lectures are suitable for professionals ranging from junior to senior levels.
Exploring new horizons: A taste of programming in a different language
In the ever-evolving world of software development, it's crucial for developers to expand their horizons and explore different programming languages. Join us in this captivating lecture as we embark on a journey of discovery, designed specifically for developers who are eager to "taste" a programming language outside of their comfort zone.
This lecture will introduce you to the concept of programming language exploration, highlighting the benefits and importance of broadening your language repertoire. We will delve into the reasons why learning a new language can enhance your problem-solving skills, foster creativity, and unlock new possibilities in your development journey.
Don't miss this opportunity to broaden your programming horizons and embark on a journey of language discovery. Unleash your potential as a versatile developer and expand your programming prowess beyond boundaries.
Experienced developers who are already proficient in one programming language but are interested in expanding their knowledge and skills by exploring another language.
Leveraging GitHub for effective recruiting
In today's digital era, everybody knows that LinkedIn is a crucial platform for recruiting. This lecture aims to provide recruiters and hiring managers with insights into utilizing the powerful platform of GitHub as a valuable resource for identifying, evaluating, and engaging potential candidates. GitHub, the world's largest open-source repository, offers a treasure trove of information and a unique opportunity to assess a candidate's technical skills, contributions, and collaborative abilities.
This lecture will delve into various strategies and best practices to leverage GitHub effectively as a recruitment tool. Participants will learn how to navigate the GitHub ecosystem, explore open-source repositories, and make informed decisions based on a candidate's code quality, project involvement, and community interactions.
Key topics covered in the lecture include:
- Understanding the role of GitHub in the recruitment process
- Navigating GitHub's interface and search functionalities
- Evaluating a candidate's profile, repositories, and code contributions
- Assessing coding skills, coding style, and problem-solving abilities through projects and commits
- Leveraging GitHub's social features, such as followers and interactions
- Identifying potential candidates by exploring open-source projects and communities
- Engaging with candidates and building relationships through GitHub
- Incorporating GitHub evaluation into the overall recruitment workflow
- Ethical considerations and respecting privacy on GitHub
The lecture will combine theoretical insights with practical demonstrations, showcasing real-world examples of successful recruitment strategies using GitHub. Participants will gain a comprehensive understanding of how to effectively leverage GitHub's vast ecosystem to identify top talent, assess technical proficiency, and make data-driven recruitment decisions.
This lecture is suitable for recruiters, hiring managers, and HR professionals who wish to enhance their talent acquisition process and tap into the wealth of information available on GitHub. By incorporating GitHub as a recruitment tool, organizations can access a global talent pool, evaluate candidates based on their demonstrated skills and contributions, and foster a collaborative and open-source mindset within their teams.