Design Patterns in Swift 5

Learn how to implement the Gang of Four Design Patterns using Swift 5. Improve your coding skills.

UML and Object-Oriented Design Foundations

Understanding Object-Oriented Programming and the Unified Modeling Language

The Non-Programmer’s Programming Book

Learn how to implement the Gang of Four Design Patterns using Swift 5. Improve your coding skills.

Introduction to Algorithms and Data Structures in Swift 4

Get ready for programming job interviews. Write better, faster Swift code.

Software Development
from A to Z

Learn about OOP, UML, Agile, Kanban, SCRUM and so much more! Get insights into the software development industry.

Machine Learning
with Core ML 2 and Swift

A beginner-friendly guide to integrating machine learning into your apps

Design Patterns in Swift 5

Learn how to implement the Gang of Four Design Patterns using Swift 5. Improve your coding skills.

Software developers need to solve various problems. Many times, these problems are the same or similar to the ones they’ve already encountered in other projects.

Wouldn’t it be great to apply the solution you’ve found instead of reinventing the wheel over and over again?

That’s precisely the reason why software design patterns exist. A design pattern is a standardized way to address a recurring problem. Relying on a proven strategy will not only save you time, but you can rest assured that it’s indeed the right choice.

The best part: these solutions are (programming) language-agnostic. You can use the design patterns with any object-oriented programming language.

Many modern programming languages and frameworks have integrated the GoF patterns. You don’t have to write additional code to support say the Iterator or the Observer.

Swift is no exception: it provides many advanced language features and constructs such as type extensions, lazy initialization, and predefined protocols that let us adopt and integrate the design patterns into our projects easily.

This book covers all these topics and teaches best practices you can apply in your upcoming projects.

UML and Object-Oriented Design Foundations

Understanding Object-Oriented Programming and the Unified Modeling Language

Explore the fundamental concepts behind modern, object-oriented software design best practices. Learn how to work with UML to approach software development more efficiently.

In this book, instructor Károly Nyisztor helps to familiarize you with the fundamentals of object-oriented design and analysis. He introduces each concept using simple terms, avoiding confusing jargon. He focuses on the practical application, using hands-on examples you can use for reference and practice.

Throughout the book, Károly walks you through several examples to familiarize yourself with software design and UML. Plus, he walks you through a case study to review all the steps of designing a real software system from start to finish.

Topics include:

  • Understanding software development methodologies
  • Choosing the right methodology: Waterfall vs. Agile
  • Learning fundamental object-orientation concepts: Abstraction, Polymorphism and more
  • Collecting requirements
  • Mapping requirements to technical descriptions
  • Understanding the Unified Modeling Language (UML)
  • Creating use case, class, sequence, activity, and state diagrams
  • Designing a Note-Taking App from scratch

You will acquire professional and technical skills together with an understanding of object-orientation principles and concepts.

After completing this book, you’ll be able to understand the inner workings of object-oriented software systems. You will communicate easily and effectively with other developers using object-orientation terms and UML diagrams.

The Non-Programmer’s Programming Book

Programming Foundations for Absolute Beginners. Learn to code from scratch with no prior experience

Would you like to start a career in software development? Have you been playing with the idea of learning programming? Have you considered developing apps or games, but you’re not sure where to start?

This book is an excellent starting point in your journey to becoming a paid programmer. Besides learning to program, I provide insights and best practices that other classes and books won’t teach you.

We literally start from scratch — you need no prior programming experience. All you need to know is how to use a computer and install applications. That’s all, really.

We’ll be using the Python 3.7 programming language to write the samples in this book. Follow my guidance, and you’ll be able to create your first program in no time. As we gradually delve into programming topics, you’ll learn how to create more complex applications.

We start with the basics: how to work with strings and numbers. Then, I’ll introduce you to control flow and conditional logic.

We will then talk about functions, that let us reuse code in our programs. You’ll learn how to repeat tasks and how to manage multiple values using sequences.
I dedicated an entire chapter to error handling, a crucial concept in programming. I’ll also show you how to work with files.

We’ll then talk about object-oriented programming, and computer science fundamentals.

I introduce you to concepts that will not only help you build better programs, but also pass your first technical interview.

This book focuses on coding and provides practical value. You can apply everything you learned in real projects.
Not only will I cover the details of all these topics, but you’ll also find quizzes to verify your knowledge. Work through the projects in this book and solidify the core knowledge to begin programming in any other language.

You’ll learn the fundamental concepts of programming one by one.

Topics include:

  • Understanding how to write code
  • Using variables
  • Working with strings, numbers and arithmetic operations
  • Asking for user input
  • Writing conditional code
  • Defining functions
  • Using loops
  • Working with arrays and collections
  • Managing errors
  • File I/O
  • Working with classes and objects
  • Optimizing code through algorithms
  • … and so much more.

Throughout the book, I provide coding examples that can be applied in real-world situations.

By the end of this book, you’ll become familiar with the fundamentals of programming and so much more!

Introduction to Algorithms and Data Structures in Swift 4

Get ready for programming job interviews. Write better, faster Swift code

Take a closer look at algorithms and data structures and learn how to work with them to more efficiently approach software development with Swift.

“Introduction to Algorithms and Data Structures in Swift 4” is a straightforward guide to solving coding problems more efficiently.

In this comprehensive book, author Károly Nyisztor helps to familiarize yourself with algorithmic thinking and code optimization techniques. He explains each concept using easy-to-understand examples. He focuses on the practical application, using hands-on Swift code examples you can use for reference and practice.

Throughout the book, Károly walks you through several demo applications to demonstrate the power of algorithms and the importance of picking the right solution.

Topics include:

  • Algorithmic thinking
  • The Big O notation
  • Constant, linear, polynomial and logarithmic time complexity
  • Understanding recursion and avoiding pitfalls
  • Case studies for finding faster solutions
  • The power of Generics
  • Built-in Swift collection types
  • When to use a Set, an Array or a Dictionary?
  • Implementing selection sort, insertion sort, and bubble sort
  • Advanced sorting: quicksort and merge sort

The study of algorithms and data structures is fundamental to any programmer who plans to develop software systems that are scalable and performant.

“Introduction to Algorithms and Data Structures in Swift 4” is the perfect book for you if you’re interested in bringing your Swift coding skills to the next level.

Software Development from A to Z

Learn about OOP, UML, Agile, Kanban, SCRUM and so much more! Get insights into the software development industry

Explore the core concepts of software development using simple, easy-to-understand terms. Get insights into the life of professional coders and acquire technical skills.

“Software Development from A to Z” is an easy to follow guide to the fundamentals of how software applications are created and maintained. You don’t need any prior knowledge or software development experience.

In this comprehensive book, author Károly Nyisztor explores the principles and techniques of software development. He explains each concept using easy-to-understand analogies. Besides, he shares personal insights and real stories from his own professional life.

Topics include:

  • Debunking myths about becoming a developer
  • Misconceptions around software development
  • What’s a software development methodology?
  • What’s the difference between Agile and Waterfall?
  • How is work organized in Scrum?
  • Just-in-Time and Kanban. What has Toyota to do with software development?
  • Core Object-Orientation concepts: classes, abstraction, polymorphism and more
  • Introduction to the Unified Modeling Language

“Software Development from A to Z“ is the perfect book for you if you plan to switch careers or if you just wanted to find out more about software development.

Machine Learning with Core ML 2 and Swift

A beginner-friendly guide to integrating machine learning into your apps

Smart homes, self-driving cars, Siri, Alexa – some typical examples of how machine learning and artificial intelligence have become part of our daily life.

Wouldn’t it be cool to understand the concepts behind these complex topics?

This book teaches you how to integrate machine learning into your apps. We’re going to demystify what machine learning is by investigating how it works and delving into the most important concepts.

This book is going to familiarize you with common machine learning tasks. We’ll focus on practical applications, using hands-on Swift code examples.

We’ll delve into advanced topics like synthetic vision and natural language processing. You’ll apply what you’ve learned by building iOS applications capable of identifying faces, barcodes, text and rectangular areas in photos in real-time.

You’ll learn how to train machine learning models on your computer. You’re going to develop several smart apps, including a flower recognizer and an Amazon review sentiment analyzer. And there’s a lot more!

And no worries – we introduce each concept using simple terms, avoiding confusing jargon.

Topics include:

  • Understanding the machine learning frameworks provided by Apple
  • Natural language text processing using the NaturalLanguage framework
  • Setting up a Core ML project in Xcode
  • Image analysis using Vision
  • Training an image classifier on your computer using CreateML
  • Determining the tonality of an Amazon product review

“Machine Learning with Core ML 2 and Swift” is the perfect book for you if you’re interested in machine learning, or if you’re looking to switch into an exciting new career track.