Email the Author

You can use this page to email Neal Terrell about C#eckmate.

Please include an email address so the author can respond to your query

This message will be sent to Neal Terrell

This site is protected by reCAPTCHA and the Google  Privacy Policy and  Terms of Service apply.

About the Book

I want this text to serve two purposes: learning the C# programming language, and programming a sophisticated implementation of chess.

Why chess? The game is complicated yet familiar. Piece movements are easy to program, but with enough patterns and complexity to make effective demonstrations of various software engineering and architecture techniques. There will be many tricks to explore when deciding how to represent a chess game's state, and many of C#'s language features will simplify our designs and improve the cohesion and coupling of our code. We'll learn about design patterns when fitting chess into a generic board game-playing application, and find a visceral pleasure when we program a user interface for the game, complete with an artificial intelligence opponent. In short, chess (and board games in general) ties together a great number of topics in computer science, and the sophisticated implementation we'll cover in this book should provide a number of learning opportunities beyond simple proficiency in the C# programming language.

This book is a work in progress!

I plan to develop this book in five milestones:

  • Milestone 1: the entirety of Part 2, and a few excerpts from Part 1. Designing a framework for modeling board games and playing them in a console application. Programming Othello and chess in particular. C# language features like collections and LINQ necessary for best practices in the model.
  • Milestone 2: the rest of Part 1. Finish the C# language overview chapters, making the book more appropriate for those wishing to learn C# from the beginning.
  • Milestone 3: a copy-edit and clarification pass on Milestones 1 and 2. I'll add more exercises, examples, and expand on topics based on early feedback.
  • Milestone 4: the entirety of Part 3. Develop a GUI application for playing board games. GUI implementations of Othello and chess.

Milestones 1-4 are complete!

  • Milestone 5: the entirety of Part 4. Build a general computer AI opponent for board games, integrated into the console and GUI applications. Performance tuning for chess implementations.

About the Author

Neal Terrell’s avatar Neal Terrell

@nealdt

Hi, I'm Neal! I am a lecturer in the Computer Engineering and Computer Science department at California State University Long Beach. What's a lecturer? We are faculty members who only teach, as opposed to professors who do research, publish, and administer a department. All the time that professors spend advancing the state of the art of computer science, I get to spend learning and practicing to be a better teacher.

I teach a lot of different courses: theory and mathematics classes like discrete math, algorithms, and data structures; programming-focused classes like introductory Python and intermediate Java and C++; and senior electives in programming language theory and design, search engine technology and information theory, and .NET development. My students know me (I think) as a challenging but fair instructor who demands a lot but provides the resources necessary for success to those who seek them.

I have been programming with C# since 2002, and it remains my favorite programming language. I am also proficient in C++0x, Java, Python, JavaScript, Clojure, F#, and know enough Erlang and Prolog to get in trouble.

Logo white 96 67 2x

Publish Early, Publish Often

  • Path
  • There are many paths, but the one you're on right now on Leanpub is:
  • Checkmate-csharp › Email Author › New
    • READERS
    • Newsletters
    • Weekly Sale
    • Monthly Sale
    • Store
    • Home
    • Redeem a Token
    • Search
    • Support
    • Leanpub FAQ
    • Leanpub Author FAQ
    • Search our Help Center
    • How to Contact Us
    • FRONTMATTER PODCAST
    • Featured Episode
    • Episode List
    • MEMBERSHIPS
    • Reader Memberships
    • Department Reader Memberships
    • Author Memberships
    • Your Membership
    • COMPANY
    • About
    • About Leanpub
    • Blog
    • Contact
    • Press
    • Essays
    • AI Services
    • Imagine a world...
    • Manifesto
    • More
    • Partner Program
    • Causes
    • Accessibility
    • AUTHORS
    • Write and Publish on Leanpub
    • Create a Book
    • Create a Bundle
    • Create a Course
    • Create a Track
    • Testimonials
    • Why Leanpub
    • Services
    • TranslateAI
    • TranslateWord
    • TranslateEPUB
    • PublishWord
    • Publish on Amazon
    • CourseAI
    • GlobalAuthor
    • Marketing Packages
    • IndexAI
    • Author Newsletter
    • The Leanpub Author Update
    • Author Support
    • Author Help Center
    • Leanpub Authors Forum
    • The Leanpub Manual
    • Supported Languages
    • The LFM Manual
    • Markua Manual
    • API Docs
    • Organizations
    • Learn More
    • Sign Up
    • LEGAL
    • Terms of Service
    • Copyright Policy
    • Privacy Policy
    • Refund Policy

*   *   *

Leanpub is copyright © 2010-2025 Ruboss Technology Corp.
All rights reserved.

This site is protected by reCAPTCHA
and the Google  Privacy Policy and  Terms of Service apply.

Leanpub requires cookies in order to provide you the best experience. Dismiss