Racket Programming the Fun Way: From Strings to Turing Machines
||Stelly, James. W.
||No Starch Press
||COM051300, COM051390, COM051010
9781718500839, Related ISBNs: 1718500823, 1718500831, 9781718500822, 9781718500839
|Number of pages:
Synopsis: An introduction to the Racket functional programming language and DrRacket development environment to explore topics in mathematics (mostly recreational) and computer science.
At last, a lively guided tour through all the features, functions, and applications of the Racket programming language. You'll learn a variety of coding paradigms, including iterative, object oriented, and logic programming; create interactive graphics, draw diagrams, and solve puzzles as you explore Racket through fun computer science topics--from statistical analysis to search algorithms, the Turing machine, and more.
Early chapters cover basic Racket concepts like data types, syntax, variables, strings, and formatted output. You'll learn how to perform math in Racket's rich numerical environment, and use programming constructs in different problem domains (like coding solutions to the Tower of Hanoi puzzle). Later, you'll play with plotting, grapple with graphics, and visualize data. Then, you'll escape the confines of the command line to produce animations, interactive games, and a card trick program that'll dazzle your friends.
You'll learn how to:
• Use DrRacket, an interactive development environment (IDE) for writing programs
• Compute classical math problems, like the Fibonacci sequence
• Generate two-dimensional function plots and create drawings using graphics primitives
• Import and export data to and from Racket using ports, then visually analyze it
• Build simple computing devices (pushdown automaton, Turing machine, and so on) that perform tasks
• Leverage Racket's built-in libraries to develop a command line algebraic calculator
Racket Programming the Fun Way is just like the language itself--an embodiment of everything that makes programming interesting and worthwhile, and that makes you a better programmer.