Answers.Body: <p>Here are some of my favorite references:</p>
  <ul>
  <li><p><a href="https://web.archive.org/web/20071026090003/http://www.brucemo.com/compchess/programming/index.htm" rel="nofollow noreferrer">Bruce Moreland's Site</a> - Clear descriptions of basic chess programming ideas. It doesn't get into the nitty-gritty, but it's a great reference for understanding the high-level ideas.</p>
  </li>
  <li><p><a href="http://macechess.blogspot.com/" rel="nofollow noreferrer">ICE Chess Blog</a> - Someone documenting his journey to creating an engine from scratch. It's good for details if you can find the blog post you're looking for.</p>
  </li>
  <li><p><a href="https://www.chessprogramming.org/Main_Page" rel="nofollow noreferrer">Chess Programming Wiki</a> - Basically an encyclopedia of chess programming. IMO the explanations aren't suitable for beginners, but it covers basically everything under the sun.</p>
  </li>
  <li><p><a href="https://sites.google.com/view/noah-caplinger-math/chess" rel="nofollow noreferrer">Chess Algorithms</a> - A book on chess algorithms written for beginners. DISCLAIMER: I am the author. I hope this does not break any rules regarding self-promotion, especially given that 1. this exactly answers the question 2. it is available for free and 3. I have given my other favorite references.</p>
  </li>
  </ul>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-10-15T14:35:54.960Z
Answers.LastActivityDate: 2021-10-15T14:35:54.960Z
Answers.UserDisplayName: Noah Caplinger
Answers.Body: <p>If you want to check a very simple chess engine written in C (even simpler than TCSP) and beginners oriented you can take a look at Secondchess:</p>
  
  <p><a href="https://github.com/emdio/secondchess" rel="nofollow noreferrer">https://github.com/emdio/secondchess</a></p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2019-08-26T09:32:03.387Z
Answers.LastActivityDate: 2019-08-26T09:32:03.387Z
Answers.UserDisplayName: emdio
Answers.Body: <ul>
  <li><a href="https://www.chess.com/blog/zaifrun/creating-a-chess-engine-from-scratch-part-1" rel="nofollow noreferrer">https://www.chess.com/blog/zaifrun/creating-a-chess-engine-from-scratch-part-1</a></li>
  <li><a href="http://mediocrechess.blogspot.com" rel="nofollow noreferrer">http://mediocrechess.blogspot.com</a> (a blog that gives you some ideas how chess engine works)</li>
  </ul>
  
  <p>How you would approach the problem:</p>
  
  <ul>
  <li>Check out <a href="https://web.archive.org/web/20180216204915/https://chessprogramming.wikispaces.com/" rel="nofollow noreferrer">chessprogramming.wikispaces.com</a>. This'll be your reference site.</li>
  <li>Create an account at <a href="http://talkchess.com" rel="nofollow noreferrer">talkchess.com</a>. All the best engine developers are there. If there's an engine question that you can't find an answer there, you won't find it anywhere else.</li>
  <li>Check out the TSCP engine source code. TSCP is a simpler but working implementation chess engine. Easier to read than Stockfish.</li>
  <li>Do something. Try to write a chess board generator. Check the reference sites above. Study how TSCP does it.</li>
  <li>Compare your PERF results with <a href="https://chessprogramming.wikispaces.com/Perft" rel="nofollow noreferrer">https://chessprogramming.wikispaces.com/Perft</a></li>
  <li>Write a simple position evaluation with materials only. Copy the PST table from TSCP or the chessprogramming site.</li>
  <li>Write a simple nega-max and alpha-beta search.</li>
  <li>Read about UCI protocol</li>
  <li>Add transposition table</li>
  <li>Add simple null-move pruning</li>
  </ul>
  
Answers.ContentLicense: CC BY-SA 3.0
Answers.CreationDate: 2017-04-06T19:07:47.787Z
Answers.Text: TSCP is where I started, I would also add that there is a nice site for writting a progam in 99 steps here: 
  http://aghaznawi.comuf.com/computer%20chess/winglet/
Answers.UserDisplayName: nak3c
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2017-04-05T13:26:55.437Z
Answers.LastActivityDate: 2019-08-26T06:12:29.007Z
Answers.LastEditDate: 2019-08-26T06:12:29.007Z
Answers.UserDisplayName: SmallChess
Body: <p>Basically I have seen that people write a lot of chess algorithms, and ask questions in this forum, which I fumble to answer appropriately. I see the code, but unable to make out whether it is correct or not? </p>
  
  <p>I am myself a software professional, but I am unfamiliar with chess algorithms, or coding-related stuff. Could you please help me to suggest where I can learn these things, or I will get the explanations ? </p>
  
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-04-05T13:12:15.490Z
Comments.Text: https://chessprogramming.wikispaces.com/ is a good starting point. Or if you prefer reading source code, Stockfish is open source.
Comments.UserDisplayName: user1583209
Comments.ContentLicense: CC BY-SA 3.0
Comments.CreationDate: 2017-04-05T13:18:15.073Z
Comments.Text: Stockfish source: https://github.com/official-stockfish/Stockfish
Comments.UserDisplayName: user1583209
Tags: <engines><chess-algorithms>
Title: How do I learn Chess Programming?
ThreadText: # How do I learn Chess Programming?
  
  (Asked by: username_0 on 2017-04-05)
  
  Basically I have seen that people write a lot of chess algorithms, and ask questions in this forum, which I fumble to answer appropriately. I see the code, but unable to make out whether it is correct or not?
  
  I am myself a software professional, but I am unfamiliar with chess algorithms, or coding-related stuff. Could you please help me to suggest where I can learn these things, or I will get the explanations ?
  
  **Tags:** engines, chess-algorithms
  
  > **Comments:**
  > **username_1**: https://chessprogramming.wikispaces.com/ is a good starting point. Or if you prefer reading source code, Stockfish is open source.  
  > **username_1**: Stockfish source: https://github.com/official-stockfish/Stockfish  
  
  ---
  
  ## 3 answers
  
  ### Answer by username_4 on 2017-04-05. Score: 11 | Accepted answer
  
  * <https://www.chess.com/blog/zaifrun/creating-a-chess-engine-from-scratch-part-1>
  * <http://mediocrechess.blogspot.com> (a blog that gives you some ideas how chess engine works)
  
  How you would approach the problem:
  
  * Check out [chessprogramming.wikispaces.com](https://web.archive.org/web/20180216204915/https://chessprogramming.wikispaces.com/). This'll be your reference site.
  * Create an account at [talkchess.com](http://talkchess.com). All the best engine developers are there. If there's an engine question that you can't find an answer there, you won't find it anywhere else.
  * Check out the TSCP engine source code. TSCP is a simpler but working implementation chess engine. Easier to read than Stockfish.
  * Do something. Try to write a chess board generator. Check the reference sites above. Study how TSCP does it.
  * Compare your PERF results with <https://chessprogramming.wikispaces.com/Perft>
  * Write a simple position evaluation with materials only. Copy the PST table from TSCP or the chessprogramming site.
  * Write a simple nega-max and alpha-beta search.
  * Read about UCI protocol
  * Add transposition table
  * Add simple null-move pruning
  
  > **Comments:**
  > **username_5**: TSCP is where I started, I would also add that there is a nice site for writting a progam in 99 steps here:  http://aghaznawi.comuf.com/computer%20chess/winglet/  
  
  ---
  
  ### Answer by username_2 on 2021-10-15. Score: 0
  
  Here are some of my favorite references:
  
  * [Bruce Moreland's Site](https://web.archive.org/web/20071026090003/http://www.brucemo.com/compchess/programming/index.htm) - Clear descriptions of basic chess programming ideas. It doesn't get into the nitty-gritty, but it's a great reference for understanding the high-level ideas.
  * [ICE Chess Blog](http://macechess.blogspot.com/) - Someone documenting his journey to creating an engine from scratch. It's good for details if you can find the blog post you're looking for.
  * [Chess Programming Wiki](https://www.chessprogramming.org/Main_Page) - Basically an encyclopedia of chess programming. IMO the explanations aren't suitable for beginners, but it covers basically everything under the sun.
  * [Chess Algorithms](https://sites.google.com/view/username_2-username_2-math/chess) - A book on chess algorithms written for beginners. DISCLAIMER: I am the author. I hope this does not break any rules regarding self-promotion, especially given that 1. this exactly answers the question 2. it is available for free and 3. I have given my other favorite references.
  
  
  ---
  
  ### Answer by username_3 on 2019-08-26. Score: 0
  
  If you want to check a very simple chess engine written in C (even simpler than TCSP) and beginners oriented you can take a look at Secondchess:
  
  <https://github.com/username_3/secondchess>
  
  
  ---
  
  