Leanpub Header

Skip to main content

Own the Design

C++ Programming for CS2

Own the Design

Correct code can still rest on a weak design. Own the Design is an in-progress C++17 Computer Science II (CS2) textbook for students with a first-programming-course foundation. It develops classes and abstract data types, ownership, dynamic memory, linked structures, and evidence-based testing through public interfaces.

Interested in this book? Show your support by saying what you'd like to pay for it!

$
About

About

About the Book

Correct code can still rest on a weak design. In Computer Science II (CS2), the central questions change: What should an object be responsible for? Which behavior belongs in the public interface? Who owns each resource? Which representation makes the required operations clear, safe, and efficient?

Who This Book Is For

Own the Design is the CS2 book in the Programming by Design series and a course-length C++17 textbook for students continuing from a first programming course or equivalent experience. It assumes experience with functions, files, arrays, vectors, records, testing, and basic recursion.

What Students Learn

  • turn procedural records into classes with clear public interfaces and invariants
  • design abstract data types with contracts, UML, composition, and carefully limited inheritance
  • trace pointers, dynamic storage, object lifetimes, copying, moving, and destruction
  • implement an academic vector and linked structures, then apply restricted interfaces through stacks and queues
  • test through public behavior, compare operation costs, and explain design tradeoffs

Each structure is treated as a design decision: define the client-visible behavior, choose a representation, preserve its invariants, test through the public interface, and account for operation costs.

Planned First-Edition Structure

The book is planned as 12 chapters, numbered 13 through 24, plus eight technical and curricular appendices. It includes guided examples, trace-before-code activities, chapter reviews, Programming Exercises, a staged container project, and a complete data structures project.

Current Status

Own the Design is approximately 60% complete and is not yet published. The table of contents shows the intended first-edition structure. Drafting, review, illustration, and refinement will continue across the remaining planned material before publication. No additional chapters or appendices beyond that structure are planned. Use the notification form on this page to be notified when the book is published.

Free Sample

A curated PDF and EPUB sample will be added when the manuscript is closer to publication. It will provide a coherent introduction to the book and retain the complete table of contents for prospective readers.

For Instructors

Chapter-aligned lecture slides and test banks are planned for verified instructors as the book approaches publication. They will be provided separately through a secure site as adaptable course-preparation materials, not as a hosted course or LMS integration. Visit the instructor support page for information. Faculty considering a future adoption may use the Email the Author link on this Leanpub page to ask about a future digital evaluation copy or instructor resources. Requests should come from a faculty email address and include a link to an institutional department or faculty page that confirms the requester’s affiliation. These books and their instructor resources are independently produced and are not sponsored or endorsed by the author’s employer. Assessment material should not be shared with students.

Begin with CS1

Think Before Coding provides the Computer Science I (CS1) foundation: problem analysis, tracing, testing, functions, files, collections, records, and a complete structured programming project.

Design the interface. Trace the ownership. Test the behavior. Explain the tradeoff. Own the design.

Share this book

Author

About the Author

Kevin Mess

Kevin Mess is a professor in Computing and Information Technology at the College of Southern Nevada. He holds a Master of Science in Computer Science (MSCS). Since 2013, he has taught Computer Science I and Computer Science II. His courses guide students from their first programs through object-oriented design, data structures, and disciplined software development.

His teaching emphasizes habits that transfer beyond a single course: read the problem carefully, design before coding, trace program behavior, test ordinary and boundary cases, debug systematically, and explain technical decisions clearly. His subject areas include C++ programming, structured problem solving, classes, abstract data types, memory reasoning, linked data structures, and project-based programming.

Kevin is the author of the Programming by Design series, including Think Before Coding and Own the Design. The series provides a coherent path through Computer Science I and Computer Science II by treating C++ syntax as part of a larger process of analysis, design, implementation, testing, and revision. His books and related resources are independently produced and are not institutional publications.

The Leanpub 60 Day 100% Happiness Guarantee

Within 60 days of purchase you can get a 100% refund on any Leanpub purchase, in two clicks.

See full terms...

Earn $8 on a $10 Purchase, and $16 on a $20 Purchase

We pay 80% royalties on purchases of $7.99 or more, and 80% royalties minus a 50 cent flat fee on purchases between $0.99 and $7.98. You earn $8 on a $10 sale, and $16 on a $20 sale. So, if we sell 5000 non-refunded copies of your book for $20, you'll earn $80,000.

(Yes, some authors have already earned much more than that on Leanpub.)

In fact, authors have earned over $15 million writing, publishing and selling on Leanpub.

Learn more about writing on Leanpub

Free Updates. DRM Free.

If you buy a Leanpub book, you get free updates for as long as the author updates the book! Many authors use Leanpub to publish their books in-progress, while they are writing them. All readers get free updates, regardless of when they bought the book or how much they paid (including free).

Most Leanpub books are available in PDF (for computers) and EPUB (for phones, tablets and Kindle). The formats that a book includes are shown at the top right corner of this page.

Finally, Leanpub books don't have any DRM copy-protection nonsense, so you can easily read them on any supported device.

Learn more about Leanpub's ebook formats and where to read them

Write and Publish on Leanpub

You can use Leanpub to easily write, publish and sell in-progress and completed ebooks and online courses!

Leanpub is a powerful platform for serious authors, combining a simple, elegant writing and publishing workflow with a store focused on selling in-progress ebooks.

Leanpub is a magical typewriter for authors: just write in plain text, and to publish your ebook, just click a button. (Or, if you are producing your ebook your own way, you can even upload your own PDF and/or EPUB files and then publish with one click!) It really is that easy.

Learn more about writing on Leanpub