The Magical Software Design Tour

Embark on an Extraordinary Journey of Design Excellence

Ready to take your programming skills to the next level? Join Francesco Cirillo for a hands-on course on building a Turtle Graphics app with advanced design patterns and techniques. Unleash your creativity and learn to build scalable and maintainable software.

Here you can find the next stops of this tour:

Online Course

Online Course

  • 4 x 2 hour sessions.
* Price excludes VAT

Nicole Lemke

Software Manager, 4flow AG

If you not only want to know what “Object-Oriented Programming” means, but are also interested in its origins and what it can achieve, start here, at the very beginning. Let Francesco take you on a journey. Learn about the essence of good objects and write good stories that those objects can tell.


Tour Program: Destinations

Stop #01:
The Bowling Score Calculator

Building a Solution for the Bowling Kata

  • Development and delivery of Bob Martin's original Kata.
  • Development and delivery of the new requests defined in the Open/Closed Principle Dojo by Matteo Vaccari and Antonio Carpentieri.

Stop #02:
MyTerminal

Building a Highly Configurable VT100-Like Terminal

  • Building Advanced User Interfaces in MyTerminal: Applying MVC and UI Design Patterns
  • Enhancing Visual Experience: Implementing Colors, Styles, and Patterns in MyTerminal
  • Enabling Collaboration and Real-time Interaction in MyTerminal: Applying Patterns for Collaborative Editing
  • Integrating Interactive Graphics into Text-based Environments: Patterns and Techniques for MyTerminal

Stop #03:
My Turtle

Building Turtle Graphics and Logo Language

In this course, you will learn how to build a turtle graphics application from scratch and apply good design practices, including software design patterns, to create a well-structured, maintainable, and extensible software system. You will start by exploring the basics of object-oriented programming, graphical user interfaces, and event-driven programming. Leveraging the knowledge gained in the HotDraw review, you will apply design patterns such as the Model-View-Controller (MVC), Interpreter, State, Command and other patterns to create a flexible and scalable architecture. By building a turtle graphics application, you will gain experience with concepts such as state management, geometric transformations, and user input handling. By the end of the course, you will have a solid foundation in software design and be able to build applications that are both functional and easy to maintain.

Program:

  • Building a Programmable Turtle
  • Developing a Logo Language with Design Patterns for an Interactive Turtle
  • Advanced Logo Commands and Persistent Turtle Programs
  • Exploring 2D and 3D Examples with Turtle Graphics

Stop #04:
My Visicalc

Building the First Fully Functional Spreadsheet


Stop #05:
My Arcade

Building 2D Video Games


Stop #06:
Working with APIs

Building a Configurable Module for Connection, Authorization, Interaction, and Response Handling with External Systems

  • Interacting with an online service through its APIs
  • Finding abstractions that enable access more than one API
  • Is the software system becoming simpler?
  • Making the use case workflow simple

Carlo Garatti

Software Engineer, Oracle

If your question is about how to write valuable software, this program is for you!! Through one-on-one lessons with Francesco you will learn how to fit the right techniques and tools in the exact phases of the software development cycle. You will fix and apply these ideas in real cases. And, last but not least, in an enjoyable way!


About the Course

Course Info

Language
English

Delivery Options
Live online, onsite and in-house

Is this Course for you?
This training is aimed at software designers, software developers, team leaders.

What do you need for your Course?
No previous knowledge is needed. Much passion is required!

Certificate of Attendance
This Certificate is delivered to all the participants who have attended the six parts of the course and successfully delivered the assignments.


What is the Magical Software Design Tour?
Related Activities
Community #hotdraw-review More

About the Trainer

Francesco Cirillo

Francesco Cirillo has worked at the forefront of the software industry for more than 30 years. In a career spanning startups, corporations and freelance consulting, he has mentored thousands of professionals, developers, managers and software teams.

In the 1990s he worked as a Senior Consultant and Mentor for Sun Microsystem, expert in Software Architectures and Software Development Processes and Java and Object-Oriented Evangelist.

Francesco is one of the pioneers of Agile Methods. He started working on XP and TDD in 1999. He was chosen by Kent Beck to develop the XP community in Europe and as reviewer of the second edition of the book Extreme Programming Explained. In 2000 he created XPLabs, the first company in Europe to offer comprehensive services on XP: software development, training and consulting.

In 2007 he created the Anti-IF Campaign to raise awareness in the international community of software developers to apply good design principles to grow software in a sustainable way.

Since 2008 Francesco stopped actively working on Agile Methods and started to develop RRP, a new method of software development. In 2013 he created Cirillo Consulting based in Berlin to offer professional training and consulting on productivity and software development.

Francesco invented the Pomodoro® Technique, a renowned time-management method used by millions of people all over the world, while being a university student looking for a way to get more done in less time.

Read the Francesco Cirillo's complete profile.


Price & Conditions

Live Online Course

The Bowling Score Calculator

Learn by interaction:

  • 2-hour session.
  • Small classes, max 8 participants.

Live Online Course

MyTerminal

Learn by interaction:

  • 2-hour session.
  • Small classes, max 8 participants.

Live Online Course

My Turtle

Learn by interaction:

  • 2-hour session.
  • Small classes, max 8 participants.

Live Online Course

My Visicalc

Learn by interaction:

  • 2-hour session.
  • Small classes, max 8 participants.

Live Online Course

My Arcade

Learn by interaction:

  • 2-hour session.
  • Small classes, max 8 participants.

Live Online Course

Working with APIs

Learn by interaction:

  • 2-hour session.
  • Small classes, max 8 participants.

Please read our terms and conditions for training courses here.


Marco Isella

Software Engineer

Francesco has changed the way I work, and more.


Upcoming Sessions

Here you can find the next session of this event:

Here you can find the next session of this event:


Useful Resources

Three Bowling Kata Reviews

Learn software design by comparing, fixing and expanding three Bowling Kata solutions. In this session, Francesco Cirillo reviews three different...

The Bowling Kata Challenge Solution

Have you ever noticed how many IFs have been used in Bob Martin's Bowling Kata solution? "Is this an effective...

The Anti-IF Workshop

Learn how to replace the 'IF Strategy' with more effective design strategies that will enable you to reduce the complexity...


FAQ

Do you have a question not listed here?

Pomodoro® Web App

The Pomodoro® Timer Web App will be your time tutor and help you stay focused so you can get more...

Pomodoro® Sheets

To help you get started, check out the official templates of the Pomodoro Technique that you can download and print....

Pomodoro® Book

This fully updated edition includes new and exclusive material about teamwork, to make you and your team more dynamic than...