Courses

Basics of public speaking for developers

2024 | taught for: P&G, Stepstone Services

This content is available in english and polish

This course was created for developers who want to improve their public speaking skills. Participants learn how to prepare and deliver a presentation, how to engage the audience, how to explain technical things in a digestive way, and how to handle questions and feedback. The course is based on my personal experience with public speaking at work, as a developer and architect, as well as various conferences and meetups.

Content:

  • Storytelling basics and good practices
  • Structure of the story
  • How to reach your audience
  • Creating meaningful slides
  • Public speaking
  • Stage presence
  • Excercises and feedback

Fundamentals of Software Architecture

2024 | taught for: Polish-Japanese Academy of Information Technology in Warsaw

This content is available in english and polish

This course was created for master students of Polish-Japanese Academy of Information Technology in Warsaw. The goal for its participants is to get familiar with all basic terms and concepts related to software architecture, as well as understand typical software development cycle from architectural point of view, including requirements engineering, designing solution structure, defining software development processes, and building documentation.

Content:

  • Requirements engineering
  • Quality attributes
  • Documentation
  • Data in architecture
  • Modularity
  • Design and architectural patterns
  • Architectural styles
  • Development processes

Setup and tooling for JavaScript project

2022 | taught for: Stepstone Services

This content is available in english and polish

This course is based on my personal experience with building low-level solutions that are meant to be used by other developers, both as an open source developer, and as a developer and architect responsible for internal tooling for major corporations. Participants learn everything they need to build a project that is clean, safe, and trustworthy, and to automate various development processes that are related to it.

Content:

  • Environment setup
  • NPM project initialization
  • Project dependencies
  • NPM scripts
  • JavaScript modules and versions
  • JavaScript and TypeScript transpilation
  • Testing and reporting
  • Semantic versioning
  • Conventional commits
  • CI/CD

React.js fundamentals

2022 | taught for: Stepstone Services

This content is available in english and polish

This course was created for backend developers from Stepstone Services, who wanted to be able to maintain and introduce basic modifications to existing React.js codebase. Therefore, this course is tailored for those, who posses certain programming expertise already, just lack knowledge specific to React.js. Participants of this course learn about fundamental concepts of React.js by comparison to other well-known concepts present in other programming languages.

Content:

  • Introduction to React.js
  • Components
  • Component's props
  • Component's state
  • Component's lifecycle
  • Hooks
  • Sharing data between components
  • Dissecting and composing components
  • Shared state management

Introduction to Object-Oriented Programming

2021 | taught for: Academic High School of Polish-Japanese Academy of Information Technology in Warsaw

This content is available in english and polish

This course was created for high school students. It introduces all the basic concepts of Object-Oriented Programming in Java programming language. Ultimate goal for participants is to create simple CLI-based game utilizing Java and Object-Oriented Programming.

Content:

  • Classes and objects
  • Fields and methods
  • Access modifiers
  • Interfaces
  • Encapsulation and inheritance
  • Polymorphism and abstraction
  • Dependencies and relationships
  • Object-oriented application composition

Introduction to computer programming

2021 | taught for: Academic High School of Polish-Japanese Academy of Information Technology in Warsaw, girls.js

This content is available in english and polish

This course was created for high school students. It introduces all the basic concepts of programming in Java programming language. Ultimate goal for participants is to create simple CLI-based game utilizing Java.

Content:

  • How does a computer work
  • Development environment
  • Variables and functions
  • Primitive data types
  • Arrays
  • Operators
  • Conditionals
  • Loops
  • Flow control
  • Standard library
  • Exceptions
  • Recursion