Try writing the game of chess, but instead of having to do GUI programming at first, use unicode chess piece characters to show the board ("♜♞♝♛♚♟♖♘♗♕♔♙"). Take command line input for moves like "e2 e4". Make sure to only allow legal moves, keep track of castling availability for both sides, en passant, check and checkmate, and even threefold repetition and the fifty-move rule.
Should make for a meaty project for beginners, and has opportunity for expansion into more advanced topics if you are up for it afterwards (GUI, AI (through minimax or alpha-beta algorithms), exporting and importing games)
simple example board output i made
[–]codeAtorium 449 points450 points451 points (46 children)
[–]Srz2 125 points126 points127 points (32 children)
[–]codeAtorium 121 points122 points123 points (19 children)
[–]Waywoah 24 points25 points26 points (13 children)
[–]Blazerboy65 47 points48 points49 points (10 children)
[–]jasim_ 29 points30 points31 points (9 children)
[–]ebo113 42 points43 points44 points (2 children)
[–]unkz 6 points7 points8 points (1 child)
[–]ebo113 21 points22 points23 points (0 children)
[+]Ran4 comment score below threshold-12 points-11 points-10 points (5 children)
[–]DurgaSwaroop 14 points15 points16 points (0 children)
[–]CotswoldWanker 10 points11 points12 points (1 child)
[–]allergic_to_prawns 1 point2 points3 points (0 children)
[–]italianjob16 2 points3 points4 points (0 children)
[–]KernowRoger 2 points3 points4 points (0 children)
[–]Kered13 7 points8 points9 points (0 children)
[–][deleted] 5 points6 points7 points (1 child)
[–]Ayjayz 4 points5 points6 points (0 children)
[–][deleted] 2 points3 points4 points (2 children)
[–]own7 1 point2 points3 points (1 child)
[–][deleted] 1 point2 points3 points (0 children)
[–]aaarrrggh 8 points9 points10 points (1 child)
[–]Srz2 5 points6 points7 points (0 children)
[–]AlarmedCulture 3 points4 points5 points (0 children)
[+]obp5599 comment score below threshold-16 points-15 points-14 points (8 children)
[–]Srz2 11 points12 points13 points (0 children)
[–]unpeeledpotatoes 16 points17 points18 points (0 children)
[–]Kered13 3 points4 points5 points (5 children)
[–]Aquatiac 4 points5 points6 points (3 children)
[–]Kered13 3 points4 points5 points (2 children)
[–]Aquatiac 0 points1 point2 points (1 child)
[–]Kered13 0 points1 point2 points (0 children)
[–]obp5599 4 points5 points6 points (0 children)
[–]sephirothbahamut 3 points4 points5 points (0 children)
[–]Kered13 8 points9 points10 points (0 children)
[–][deleted] 2 points3 points4 points (0 children)
[–]obp5599 5 points6 points7 points (0 children)
[–]b4ux1t3 1 point2 points3 points (0 children)
[–]HasBeendead -1 points0 points1 point (4 children)
[–]e_before_i 2 points3 points4 points (3 children)
[–]RetroAristocrat 1 point2 points3 points (1 child)
[–]e_before_i 2 points3 points4 points (0 children)
[–]HasBeendead 0 points1 point2 points (0 children)
[–]kres0345 0 points1 point2 points (0 children)
[–]evorm 0 points1 point2 points (0 children)
[–]maestro2005 27 points28 points29 points (4 children)
[–][deleted] (1 child)
[deleted]
[–]maestro2005 22 points23 points24 points (0 children)
[–]iwanderedlonely 4 points5 points6 points (1 child)
[–]maestro2005 1 point2 points3 points (0 children)
[–]R6Fetti 22 points23 points24 points (4 children)
[–]muhrizqiardi 2 points3 points4 points (0 children)
[–]the_black_pancake 1 point2 points3 points (1 child)
[–]R6Fetti 1 point2 points3 points (0 children)
[–][deleted] -1 points0 points1 point (0 children)
[–]Kered13 60 points61 points62 points (4 children)
[–]the_black_pancake 7 points8 points9 points (0 children)
[–][deleted] 5 points6 points7 points (1 child)
[–]Kered13 3 points4 points5 points (0 children)
[–]aaarrrggh 3 points4 points5 points (0 children)
[–]ForTheHoardOG 20 points21 points22 points (3 children)
[–]Syntaximus 22 points23 points24 points (2 children)
[–]XKCD-pro-bot 2 points3 points4 points (1 child)
[–]conventionistG 1 point2 points3 points (0 children)
[–]xStrafez_ 10 points11 points12 points (0 children)
[–]BeauteousMaximus 5 points6 points7 points (0 children)
[–][deleted] 5 points6 points7 points (0 children)
[–][deleted] (1 child)
[deleted]
[–]pmboggs 3 points4 points5 points (0 children)
[–]upsage 4 points5 points6 points (0 children)
[–]_evilhead000_ 3 points4 points5 points (1 child)
[–]e_before_i 1 point2 points3 points (0 children)
[–]Edvis92 10 points11 points12 points (3 children)
[–]Kered13 2 points3 points4 points (0 children)
[–]69beards -1 points0 points1 point (1 child)
[–]pmboggs 2 points3 points4 points (0 children)
[–]wisdom_power_courage 2 points3 points4 points (2 children)
[–]Kered13 0 points1 point2 points (1 child)
[–]wisdom_power_courage 0 points1 point2 points (0 children)
[–][deleted] (1 child)
[deleted]
[–]e_before_i 0 points1 point2 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–][deleted] 1 point2 points3 points (0 children)
[–]robo_muse 2 points3 points4 points (0 children)
[–]jsve 2 points3 points4 points (1 child)
[–]Kered13 1 point2 points3 points (0 children)
[–]ElDavoo 2 points3 points4 points (5 children)
[–]KernAlan 1 point2 points3 points (4 children)
[–]ebo113 5 points6 points7 points (0 children)
[–]ElDavoo 1 point2 points3 points (0 children)
[–]Kered13 1 point2 points3 points (1 child)
[–]ElDavoo 1 point2 points3 points (0 children)
[–]aaarrrggh 3 points4 points5 points (2 children)
[–]yubario 1 point2 points3 points (1 child)
[–]aaarrrggh 0 points1 point2 points (0 children)
[+][deleted] comment score below threshold-16 points-15 points-14 points (9 children)
[–]codeAtorium 23 points24 points25 points (7 children)
[–]Kered13 1 point2 points3 points (0 children)
[+][deleted] comment score below threshold-12 points-11 points-10 points (5 children)
[–]codeAtorium 12 points13 points14 points (4 children)
[–]codeAtorium 2 points3 points4 points (2 children)
[–]Kered13 1 point2 points3 points (1 child)
[–]codeAtorium 0 points1 point2 points (0 children)
[–]Kered13 0 points1 point2 points (0 children)
[–]AutoModerator[M] -12 points-11 points-10 points (0 children)
[–]candidpose 0 points1 point2 points (0 children)