Classic Computer Science Problems in Swift: Essential Techniques for Practicing Programmers

Summary

Classic Computer Science Problems in Swift invites readers to invest their energy in some foundational techniques that have been proven to stand the test of time. Along the way they'll learn intermediate and advanced features of the Swift programming language, a worthwhile skill in its own right.

Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications.

About the Technology

Don't just learn another language. Become a better programmer instead. Today's awesome iOS apps stand on the shoulders of classic algorithms, coding techniques, and engineering principles. Master these core skills in Swift, and you'll be ready for AI, data-centric programming, machine learning, and the other development challenges that will define the next decade.

About the Book

Classic Computer Science Problems in Swift deepens your Swift language skills by exploring foundational coding techniques and algorithms. As you work through examples in search, clustering, graphs, and more, you'll remember important things you've forgotten and discover classic solutions to your "new" problems. You'll appreciate author David Kopec's amazing ability to connect the core disciplines of computer science to the real-world concerns of apps, data, performance, and even nailing your next job interview!

What's Inside

  • Breadth-first, depth-first, and A* search algorithms
  • Constraint-satisfaction problems
  • Solving problems with graph algorithms
  • Neural networks, genetic algorithms, and more
  • All examples written in Swift 4.1

About the Reader

For readers comfortable with the basics of Swift.

About the Author

David Kopec is an assistant professor of computer science and innovation at Champlain College in Burlington, Vermont. He is an experienced iOS developer and the author of Dart for Absolute Beginners.

Table of Contents

  1. Small problems
  2. Search problems
  3. Constraint-satisfaction problems
  4. Graph problems
  5. Genetic algorithms
  6. K-means clustering
  7. Fairly simple neural networks
  8. Miscellaneous problems

Buy On Amazon »

Swift in Depth
Swift in Depth

Summary Swift is more than just a fun language to build iOS applications with. It features a host of powerful tools that, if eff ...

Details »
Learning Swift: Building Apps for macOS, iOS, and Beyond
Learning Swift: Building Apps for macOS, iOS, and Beyond

Get valuable hands-on experience with Swift, the open source programming language developed by Apple. With this practical guide, ...

Details »
iOS Development with Swift
iOS Development with Swift

Summary iOS Development with Swift is a hands-on guide to creating apps for iPhone and iPad using the Swift language. Inside, yo ...

Details »
Classic Computer Science Problems in Python
Classic Computer Science Problems in Python

Summary Classic Computer Science Problems in Python deepens your knowledge of problem-solving techniques from the realm of compu ...

Details »
Introduction to Algorithms and Data Structures in Swift 4: Get ready for programming job interviews. Write better, faster Swift code. (Swift Clinic)
Introduction to Algorithms and Data Structures in Swift 4: Get ready for programming job interviews. Write better, faster Swift code. (Swift Clinic)

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

Details »
Xcode Treasures: Master the Tools to Design, Build, and Distribute Great Apps
Xcode Treasures: Master the Tools to Design, Build, and Distribute Great Apps

Learn the critical tips and techniques to make using Xcode for the iPhone, iPad, or Mac easier, and even fun. Explore the featur ...

Details »
Mastering Swift 4 - Fourth Edition: An in-depth and comprehensive guide to modern programming techniques with Swift
Mastering Swift 4 - Fourth Edition: An in-depth and comprehensive guide to modern programming techniques with Swift

Dive into the latest release of the Swift programming language with this advanced development book for building highly performan ...

Details »