Author: Ivor Horton
Publisher: Apress
ISBN: 1430202432
Category : Computers
Languages : en
Pages : 624
Book Description
C is the programming language of choice when speed and reliability are required. It is used for many low-level tasks, such as device drivers and operating-system programming. For example, much of Windows and Linux is based on C programming. The updated 4th edition of Beginning C builds on the strengths of its predecessors to offer an essential guide for anyone who wants to learn C or desires a ‘brush-up’ in this compact, fundamental language. This classic from author, lecturer and respected academic Ivor Horton is the essential guide for anyone looking to learn the C language from the ground up.
Beginning C
Beginning C
Author: German Gonzalez-Morris
Publisher: Apress
ISBN: 9781484259757
Category : Computers
Languages : en
Pages :
Book Description
Learn how to program using C, beginning from first principles and progressing through step-by-step examples to become a competent, C-language programmer. All you need are this book and any of the widely available C compilers, and you'll soon be writing real C programs. You’ll discover that C is a foundation language that every programmer ought to know. Beginning C is written by renowned author Ivor Horton and expert programmer German Gonzalez-Morris. This book increases your programming expertise by guiding you through the development of fully working C applications that use what you've learned in a practical context. You’ll also be able to strike out on your own by trying the exercises included at the end of each chapter. At the end of the book you'll be confident in your skills with all facets of the widely-used and powerful C language. What You Will Learn Discover the C programming language Program using C starting with first steps, then making decisions Use loops, arrays, strings, text, pointers, functions, I/O, and more Code applications with strings and text Structure your programs efficiently Work with data, files, facilities, and more Who This Book Is For Those new to C programming who may or may not have some prior programming experience.
Publisher: Apress
ISBN: 9781484259757
Category : Computers
Languages : en
Pages :
Book Description
Learn how to program using C, beginning from first principles and progressing through step-by-step examples to become a competent, C-language programmer. All you need are this book and any of the widely available C compilers, and you'll soon be writing real C programs. You’ll discover that C is a foundation language that every programmer ought to know. Beginning C is written by renowned author Ivor Horton and expert programmer German Gonzalez-Morris. This book increases your programming expertise by guiding you through the development of fully working C applications that use what you've learned in a practical context. You’ll also be able to strike out on your own by trying the exercises included at the end of each chapter. At the end of the book you'll be confident in your skills with all facets of the widely-used and powerful C language. What You Will Learn Discover the C programming language Program using C starting with first steps, then making decisions Use loops, arrays, strings, text, pointers, functions, I/O, and more Code applications with strings and text Structure your programs efficiently Work with data, files, facilities, and more Who This Book Is For Those new to C programming who may or may not have some prior programming experience.
Beginning C++17
Author: Ivor Horton
Publisher: Apress
ISBN: 1484233662
Category : Computers
Languages : en
Pages : 788
Book Description
Learn how to program using the updated C++17 language. You'll start with the basics and progress through step-by-step examples to become a working C++ programmer. All you need are Beginning C++17 and any recent C++ compiler and you'll soon be writing real C++ programs. There is no assumption of prior programming knowledge. All language concepts that are explained in the book are illustrated with working program examples, and all chapters include exercises for you to test and practice your knowledge. Code downloads are provided for all examples from the text and solutions to the exercises. This latest edition has been fully updated to the latest version of the language, C++17, and to all conventions and best practices of so-called modern C++. Beginning C++17 also introduces the elements of the C++ Standard Library that provide essential support for the C++17 language. What You'll Learn Define variables and make decisions Work with arrays and loops, pointers and references, strings, and more Write your own functions, types, and operators Discover the essentials of object-oriented programming Use overloading, inheritance, virtual functions and polymorphism Write generic function templates and class templates Get up to date with modern C++ features: auto type declarations, move semantics, lambda expressions, and more Examine the new additions to C++17 Who This Book Is For Programmers new to C++ and those who may be looking for a refresh primer on the C++17 programming language in general.
Publisher: Apress
ISBN: 1484233662
Category : Computers
Languages : en
Pages : 788
Book Description
Learn how to program using the updated C++17 language. You'll start with the basics and progress through step-by-step examples to become a working C++ programmer. All you need are Beginning C++17 and any recent C++ compiler and you'll soon be writing real C++ programs. There is no assumption of prior programming knowledge. All language concepts that are explained in the book are illustrated with working program examples, and all chapters include exercises for you to test and practice your knowledge. Code downloads are provided for all examples from the text and solutions to the exercises. This latest edition has been fully updated to the latest version of the language, C++17, and to all conventions and best practices of so-called modern C++. Beginning C++17 also introduces the elements of the C++ Standard Library that provide essential support for the C++17 language. What You'll Learn Define variables and make decisions Work with arrays and loops, pointers and references, strings, and more Write your own functions, types, and operators Discover the essentials of object-oriented programming Use overloading, inheritance, virtual functions and polymorphism Write generic function templates and class templates Get up to date with modern C++ features: auto type declarations, move semantics, lambda expressions, and more Examine the new additions to C++17 Who This Book Is For Programmers new to C++ and those who may be looking for a refresh primer on the C++17 programming language in general.
Beginning C for Arduino
Author: Jack Purdum
Publisher: Apress
ISBN: 1430247770
Category : Computers
Languages : en
Pages : 276
Book Description
Beginning C for Arduino is written for those who have no prior experience with microcontrollers or programming but would like to experiment and learn both. This book introduces you to the C programming language, reinforcing each programming structure with a simple demonstration of how you can use C to control the Arduino family of microcontrollers. Author Jack Purdum uses an engaging style to teach good programming techniques using examples that have been honed during his 25 years of university teaching. Beginning C for Arduino will teach you: The C programming language How to use C to control a microcontroller and related hardware How to extend C by creating your own library routines During the course of the book, you will learn the basics of programming, such as working with data types, making decisions, and writing control loops. You'll then progress onto some of the trickier aspects of C programming, such as using pointers effectively, working with the C preprocessor, and tackling file I/O. Each chapter ends with a series of exercises and review questions to test your knowledge and reinforce what you have learned.
Publisher: Apress
ISBN: 1430247770
Category : Computers
Languages : en
Pages : 276
Book Description
Beginning C for Arduino is written for those who have no prior experience with microcontrollers or programming but would like to experiment and learn both. This book introduces you to the C programming language, reinforcing each programming structure with a simple demonstration of how you can use C to control the Arduino family of microcontrollers. Author Jack Purdum uses an engaging style to teach good programming techniques using examples that have been honed during his 25 years of university teaching. Beginning C for Arduino will teach you: The C programming language How to use C to control a microcontroller and related hardware How to extend C by creating your own library routines During the course of the book, you will learn the basics of programming, such as working with data types, making decisions, and writing control loops. You'll then progress onto some of the trickier aspects of C programming, such as using pointers effectively, working with the C preprocessor, and tackling file I/O. Each chapter ends with a series of exercises and review questions to test your knowledge and reinforce what you have learned.
Beginning C++20
Author: Ivor Horton
Publisher: Apress
ISBN: 9781484258835
Category : Computers
Languages : en
Pages :
Book Description
Begin your programming journey with C++ including the C++20 standard. You'll start with the basics and progress through step-by-step examples to become a working C++ programmer. This book will include new features like parallelism, coroutines, modules, networking, ranges, and reflections. All you need are Beginning C++20 and any recent C++ compiler and you'll soon be writing real C++ programs. There is no assumption of prior programming knowledge. All language concepts that are explained in the book are illustrated with working program examples, and all chapters include exercises for you to test and practice your knowledge. Free source code downloads are provided for all examples from the text and solutions to the exercises. This latest edition has been fully updated to the latest version of the language, C++20, and to all conventions and best practices of modern C++. Beginning C++20 also introduces the elements of the C++ Standard Library that provide essential support for the C++20 language. What You Will Learn Begin programming with C++20 standard Carry out modular programming in C++ Work with arrays and loops, pointers and references, strings, and more Write your own functions, types, and operators Discover the essentials of object-oriented programming Use overloading, inheritance, virtual functions, and polymorphism Write generic function templates and class templates Use coroutines, parallelism, ranges, auto type declarations, move semantics, lambda expressions, and much more Who This Book Is For Programmers new to C++ and those who may be looking for a refresh primer on C++ in general.
Publisher: Apress
ISBN: 9781484258835
Category : Computers
Languages : en
Pages :
Book Description
Begin your programming journey with C++ including the C++20 standard. You'll start with the basics and progress through step-by-step examples to become a working C++ programmer. This book will include new features like parallelism, coroutines, modules, networking, ranges, and reflections. All you need are Beginning C++20 and any recent C++ compiler and you'll soon be writing real C++ programs. There is no assumption of prior programming knowledge. All language concepts that are explained in the book are illustrated with working program examples, and all chapters include exercises for you to test and practice your knowledge. Free source code downloads are provided for all examples from the text and solutions to the exercises. This latest edition has been fully updated to the latest version of the language, C++20, and to all conventions and best practices of modern C++. Beginning C++20 also introduces the elements of the C++ Standard Library that provide essential support for the C++20 language. What You Will Learn Begin programming with C++20 standard Carry out modular programming in C++ Work with arrays and loops, pointers and references, strings, and more Write your own functions, types, and operators Discover the essentials of object-oriented programming Use overloading, inheritance, virtual functions, and polymorphism Write generic function templates and class templates Use coroutines, parallelism, ranges, auto type declarations, move semantics, lambda expressions, and much more Who This Book Is For Programmers new to C++ and those who may be looking for a refresh primer on C++ in general.
Beginning C++ Programming
Author: Richard Grimes
Publisher: Packt Publishing Ltd
ISBN: 1787129284
Category : Computers
Languages : en
Pages : 516
Book Description
Modern C++ at your fingertips! About This Book This book gets you started with the exciting world of C++ programming It will enable you to write C++ code that uses the standard library, has a level of object orientation, and uses memory in a safe and effective way It forms the basis of programming and covers concepts such as data structures and the core programming language Who This Book Is For A computer, an internet connection, and the desire to learn how to code in C++ is all you need to get started with this book. What You Will Learn Get familiar with the structure of C++ projects Identify the main structures in the language: functions and classes Feel confident about being able to identify the execution flow through the code Be aware of the facilities of the standard library Gain insights into the basic concepts of object orientation Know how to debug your programs Get acquainted with the standard C++ library In Detail C++ has come a long way and is now adopted in several contexts. Its key strengths are its software infrastructure and resource-constrained applications, including desktop applications, servers, and performance-critical applications, not to forget its importance in game programming. Despite its strengths in these areas, beginners usually tend to shy away from learning the language because of its steep learning curve. The main mission of this book is to make you familiar and comfortable with C++. You will finish the book not only being able to write your own code, but more importantly, you will be able to read other projects. It is only by being able to read others' code that you will progress from a beginner to an advanced programmer. This book is the first step in that progression. The first task is to familiarize you with the structure of C++ projects so you will know how to start reading a project. Next, you will be able to identify the main structures in the language, functions, and classes, and feel confident being able to identify the execution flow through the code. You will then become aware of the facilities of the standard library and be able to determine whether you need to write a routine yourself, or use an existing routine in the standard library. Throughout the book, there is a big emphasis on memory and pointers. You will understand memory usage, allocation, and access, and be able to write code that does not leak memory. Finally, you will learn about C++ classes and get an introduction to object orientation and polymorphism. Style and approach This straightforward tutorial will help you build strong skills in C++ programming, be it for enterprise software or for low-latency applications such as games or embedded programming. Filled with examples, this book will take you gradually up the steep learning curve of C++.
Publisher: Packt Publishing Ltd
ISBN: 1787129284
Category : Computers
Languages : en
Pages : 516
Book Description
Modern C++ at your fingertips! About This Book This book gets you started with the exciting world of C++ programming It will enable you to write C++ code that uses the standard library, has a level of object orientation, and uses memory in a safe and effective way It forms the basis of programming and covers concepts such as data structures and the core programming language Who This Book Is For A computer, an internet connection, and the desire to learn how to code in C++ is all you need to get started with this book. What You Will Learn Get familiar with the structure of C++ projects Identify the main structures in the language: functions and classes Feel confident about being able to identify the execution flow through the code Be aware of the facilities of the standard library Gain insights into the basic concepts of object orientation Know how to debug your programs Get acquainted with the standard C++ library In Detail C++ has come a long way and is now adopted in several contexts. Its key strengths are its software infrastructure and resource-constrained applications, including desktop applications, servers, and performance-critical applications, not to forget its importance in game programming. Despite its strengths in these areas, beginners usually tend to shy away from learning the language because of its steep learning curve. The main mission of this book is to make you familiar and comfortable with C++. You will finish the book not only being able to write your own code, but more importantly, you will be able to read other projects. It is only by being able to read others' code that you will progress from a beginner to an advanced programmer. This book is the first step in that progression. The first task is to familiarize you with the structure of C++ projects so you will know how to start reading a project. Next, you will be able to identify the main structures in the language, functions, and classes, and feel confident being able to identify the execution flow through the code. You will then become aware of the facilities of the standard library and be able to determine whether you need to write a routine yourself, or use an existing routine in the standard library. Throughout the book, there is a big emphasis on memory and pointers. You will understand memory usage, allocation, and access, and be able to write code that does not leak memory. Finally, you will learn about C++ classes and get an introduction to object orientation and polymorphism. Style and approach This straightforward tutorial will help you build strong skills in C++ programming, be it for enterprise software or for low-latency applications such as games or embedded programming. Filled with examples, this book will take you gradually up the steep learning curve of C++.
Beginning C# and .NET
Author: Benjamin Perkins
Publisher: John Wiley & Sons
ISBN: 1119795834
Category : Computers
Languages : en
Pages : 1086
Book Description
Get a running start to learning C# programming with this fun and easy-to-read guide As one of the most versatile and powerful programming languages around, you might think C# would be an intimidating language to learn. It doesn’t have to be! In Beginning C# and .NET: 2021 Edition, expert Microsoft programmer and engineer Benjamin Perkins and program manager Jon D. Reid walk you through the precise, step-by-step directions you’ll need to follow to become fluent in the C# language and .NET. Using the proven WROX method, you’ll discover how to understand and write simple expressions and functions, debug programs, work with classes and class members, work with Windows forms, program for the web, and access data. You’ll even learn about some of the new features included in the latest releases of C# and .NET, including data consumption, code simplification, and performance. The book also offers: Detailed discussions of programming basics, like variables, flow control, and object-oriented programming that assume no previous programming experience “Try it Out” sections to help you write useful programming code using the steps you’ve learned in the book Downloadable code examples from wrox.com Perfect for beginning-level programmers who are completely new to C#, Beginning C# and .NET: 2021 Edition is a must-have resource for anyone interested in learning programming and looking for a fun and intuitive place to start.
Publisher: John Wiley & Sons
ISBN: 1119795834
Category : Computers
Languages : en
Pages : 1086
Book Description
Get a running start to learning C# programming with this fun and easy-to-read guide As one of the most versatile and powerful programming languages around, you might think C# would be an intimidating language to learn. It doesn’t have to be! In Beginning C# and .NET: 2021 Edition, expert Microsoft programmer and engineer Benjamin Perkins and program manager Jon D. Reid walk you through the precise, step-by-step directions you’ll need to follow to become fluent in the C# language and .NET. Using the proven WROX method, you’ll discover how to understand and write simple expressions and functions, debug programs, work with classes and class members, work with Windows forms, program for the web, and access data. You’ll even learn about some of the new features included in the latest releases of C# and .NET, including data consumption, code simplification, and performance. The book also offers: Detailed discussions of programming basics, like variables, flow control, and object-oriented programming that assume no previous programming experience “Try it Out” sections to help you write useful programming code using the steps you’ve learned in the book Downloadable code examples from wrox.com Perfect for beginning-level programmers who are completely new to C#, Beginning C# and .NET: 2021 Edition is a must-have resource for anyone interested in learning programming and looking for a fun and intuitive place to start.
Beginning Visual C# 2010
Author: Karli Watson
Publisher: John Wiley and Sons
ISBN: 1118057198
Category : Computers
Languages : en
Pages : 1079
Book Description
Update to Wrox's leading C# book for beginners Get ready for the next release of Microsoft's C# programming language with this essential Wrox beginner's guide. Beginning Microsoft Visual C# 2010 starts with the basics and brings you thoroughly up to speed. You'll first cover the fundamentals such as variables, flow control, and object-oriented programming and gradually build your skills for Web and Windows programming, Windows forms, and data access. Step-by-step directions walk you through processes and invite you to "Try it Out," at every stage. By the end, you'll be able to write useful programming code following the steps you've learned in this thorough, practical book. The C# 4 programming language version will be synonymous with writing code with in C# 2010 in Visual Studio 2010, and you can use it to write Windows applications, Web apps with ASP.NET, and Windows Mobile and Embedded CE apps Provides step-by-step instructions for mastering topics such as variables, flow controls, and object-oriented programming before moving to Web and Windows programming and data access Addresses expressions, functions, debugging, error handling, classes, collections, comparisons, conversions, and more If you've always wanted to master Visual C# programming, this book is the perfect one-stop resource. Note: CD-ROM/DVD and other supplementary materials are not included as part of eBook file.
Publisher: John Wiley and Sons
ISBN: 1118057198
Category : Computers
Languages : en
Pages : 1079
Book Description
Update to Wrox's leading C# book for beginners Get ready for the next release of Microsoft's C# programming language with this essential Wrox beginner's guide. Beginning Microsoft Visual C# 2010 starts with the basics and brings you thoroughly up to speed. You'll first cover the fundamentals such as variables, flow control, and object-oriented programming and gradually build your skills for Web and Windows programming, Windows forms, and data access. Step-by-step directions walk you through processes and invite you to "Try it Out," at every stage. By the end, you'll be able to write useful programming code following the steps you've learned in this thorough, practical book. The C# 4 programming language version will be synonymous with writing code with in C# 2010 in Visual Studio 2010, and you can use it to write Windows applications, Web apps with ASP.NET, and Windows Mobile and Embedded CE apps Provides step-by-step instructions for mastering topics such as variables, flow controls, and object-oriented programming before moving to Web and Windows programming and data access Addresses expressions, functions, debugging, error handling, classes, collections, comparisons, conversions, and more If you've always wanted to master Visual C# programming, this book is the perfect one-stop resource. Note: CD-ROM/DVD and other supplementary materials are not included as part of eBook file.
Beginning Objective C
Author: James Dovey
Publisher: Apress
ISBN: 1430243694
Category : Computers
Languages : en
Pages : 390
Book Description
Objective-C is today's fastest growing programming language, at least in part due to the popularity of Apple's Mac, iPhone and iPad. Beginning Objective-C is for you if you have some programming experience, but you're new to the Objective-C programming language and you want a modern—and fast—way forwards to your own coding projects. Beginning Objective-C offers you a modern programmer's perspective on Objective-C courtesy of two of the best iOS and Mac developers in the field today, and gets you programming to the best of your ability in this important language. It gets you rolling fast into the sound fundamentals and idioms of Objective-C on the Mac and iOS, in order to learn how best to construct your applications and libraries, making the best use of the tools it provides— no matter what projects you plan to build. The book offers thorough introductions to the core tenets of the language itself and its primary toolkits: the Foundation and AppKit frameworks. Within its pages you will encounter a mine of information on many topics, including use of the file system and network APIs, concurrency and multi-core programming, the user interface system architecture, data modeling, and more. You'll soon find yourself building a fairly complex Objective-C based application, and mastering the language ready for your own projects. If you're new to programming altogether, then Apress has other Objective-C books for you such as our Learning and Absolute Beginner titles—otherwise, let your existing skills ramp you fast forwards in Objective-C with Beginning Objective-C so that you can start building your own applications quickly.
Publisher: Apress
ISBN: 1430243694
Category : Computers
Languages : en
Pages : 390
Book Description
Objective-C is today's fastest growing programming language, at least in part due to the popularity of Apple's Mac, iPhone and iPad. Beginning Objective-C is for you if you have some programming experience, but you're new to the Objective-C programming language and you want a modern—and fast—way forwards to your own coding projects. Beginning Objective-C offers you a modern programmer's perspective on Objective-C courtesy of two of the best iOS and Mac developers in the field today, and gets you programming to the best of your ability in this important language. It gets you rolling fast into the sound fundamentals and idioms of Objective-C on the Mac and iOS, in order to learn how best to construct your applications and libraries, making the best use of the tools it provides— no matter what projects you plan to build. The book offers thorough introductions to the core tenets of the language itself and its primary toolkits: the Foundation and AppKit frameworks. Within its pages you will encounter a mine of information on many topics, including use of the file system and network APIs, concurrency and multi-core programming, the user interface system architecture, data modeling, and more. You'll soon find yourself building a fairly complex Objective-C based application, and mastering the language ready for your own projects. If you're new to programming altogether, then Apress has other Objective-C books for you such as our Learning and Absolute Beginner titles—otherwise, let your existing skills ramp you fast forwards in Objective-C with Beginning Objective-C so that you can start building your own applications quickly.
Beginning C++ Game Programming
Author: John Horton
Publisher: Packt Publishing Ltd
ISBN: 1838647651
Category : Computers
Languages : en
Pages : 746
Book Description
Get to grips with programming techniques and game development using C++ libraries and Visual Studio 2019 Key Features Learn game development and C++ with a fun, example-driven approach Build clones of popular games such as Timberman, Zombie Survival Shooter, a co-op puzzle platformer, and Space Invaders Discover tips to expand your finished games by thinking critically, technically, and creatively Book Description The second edition of Beginning C++ Game Programming is updated and improved to include the latest features of Visual Studio 2019, SFML, and modern C++ programming techniques. With this book, you'll get a fun introduction to game programming by building five fully playable games of increasing complexity. You'll learn to build clones of popular games such as Timberman, Pong, a Zombie survival shooter, a coop puzzle platformer and Space Invaders. The book starts by covering the basics of programming. You'll study key C++ topics, such as object-oriented programming (OOP) and C++ pointers, and get acquainted with the Standard Template Library (STL). The book helps you learn about collision detection techniques and game physics by building a Pong game. As you build games, you'll also learn exciting game programming concepts such as particle effects, directional sound (spatialization), OpenGL programmable shaders, spawning objects, and much more. Finally, you'll explore game design patterns to enhance your C++ game programming skills. By the end of the book, you'll have gained the knowledge you need to build your own games with exciting features from scratch What you will learn Set up your game development project in Visual Studio 2019 and explore C++ libraries such as SFML Explore C++ OOP by building a Pong game Understand core game concepts such as game animation, game physics, collision detection, scorekeeping, and game sound Use classes, inheritance, and references to spawn and control thousands of enemies and shoot rapid-fire machine guns Add advanced features to your game using pointers, references, and the STL Scale and reuse your game code by learning modern game programming design patterns Who this book is for This book is perfect for you if you have no C++ programming knowledge, you need a beginner-level refresher course, or you want to learn how to build games or just use games as an engaging way to learn C++. Whether you aspire to publish a game (perhaps on Steam) or just want to impress friends with your creations, you'll find this book useful.
Publisher: Packt Publishing Ltd
ISBN: 1838647651
Category : Computers
Languages : en
Pages : 746
Book Description
Get to grips with programming techniques and game development using C++ libraries and Visual Studio 2019 Key Features Learn game development and C++ with a fun, example-driven approach Build clones of popular games such as Timberman, Zombie Survival Shooter, a co-op puzzle platformer, and Space Invaders Discover tips to expand your finished games by thinking critically, technically, and creatively Book Description The second edition of Beginning C++ Game Programming is updated and improved to include the latest features of Visual Studio 2019, SFML, and modern C++ programming techniques. With this book, you'll get a fun introduction to game programming by building five fully playable games of increasing complexity. You'll learn to build clones of popular games such as Timberman, Pong, a Zombie survival shooter, a coop puzzle platformer and Space Invaders. The book starts by covering the basics of programming. You'll study key C++ topics, such as object-oriented programming (OOP) and C++ pointers, and get acquainted with the Standard Template Library (STL). The book helps you learn about collision detection techniques and game physics by building a Pong game. As you build games, you'll also learn exciting game programming concepts such as particle effects, directional sound (spatialization), OpenGL programmable shaders, spawning objects, and much more. Finally, you'll explore game design patterns to enhance your C++ game programming skills. By the end of the book, you'll have gained the knowledge you need to build your own games with exciting features from scratch What you will learn Set up your game development project in Visual Studio 2019 and explore C++ libraries such as SFML Explore C++ OOP by building a Pong game Understand core game concepts such as game animation, game physics, collision detection, scorekeeping, and game sound Use classes, inheritance, and references to spawn and control thousands of enemies and shoot rapid-fire machine guns Add advanced features to your game using pointers, references, and the STL Scale and reuse your game code by learning modern game programming design patterns Who this book is for This book is perfect for you if you have no C++ programming knowledge, you need a beginner-level refresher course, or you want to learn how to build games or just use games as an engaging way to learn C++. Whether you aspire to publish a game (perhaps on Steam) or just want to impress friends with your creations, you'll find this book useful.