Author: Marco T. Morazán
Publisher: Springer Nature
ISBN: 3031043170
Category : Computers
Languages : en
Pages : 515
Book Description
This textbook presents a systematic methodology for program development by using design recipes, i.e. a series of steps, each with a specific outcome, that takes a problem solver from a problem statement to a working and tested programmed solution. It introduces the reader to generative recursion, heuristic searching, accumulative recursion, tail recursion, iteration, mutation, loops, program correctness, and vectors. It uses video game development to make the content fun while at the same time teaching problem-solving techniques. The book is divided into four parts. Part I presents introductory material on basic problem solving and program design. It starts by reviewing the basic steps of a design recipe using structural recursion on a list. It then proceeds to review code refactoring–a common technique used to refine programs when a better or more elegant way is found to solve a problem–and introduces the reader to randomness. Next, Part II explores a new type of recursion called generative recursion. It navigates the reader through examples involving fractal image generation, efficient sorting, and efficient searching techniques such as binary, depth-first, and breadth-first search. Part III then explores a new type of recursion called accumulative (or accumulator) recursion. Examples used include finding a path in a graph, improving insertion sorting, and list-folding operations. Finally, Part IV explores mutation. To aid the reader in properly sequencing mutations it presents Hoare Logic and program correctness. In addition, it introduces vectors, vector processing, in-place operations, and circular data. Throughout the whole book complexity analysis and empirical experimentation is used to evaluate solutions. This textbook targets undergraduates at all levels as well as graduate students wishing to learn about program design. It details advanced types of recursion, a disciplined approach to the use of mutation, and illustrates the design process by developing a video game exploiting iterative refinement.
Animated Program Design
Author: Marco T. Morazán
Publisher: Springer Nature
ISBN: 3031043170
Category : Computers
Languages : en
Pages : 515
Book Description
This textbook presents a systematic methodology for program development by using design recipes, i.e. a series of steps, each with a specific outcome, that takes a problem solver from a problem statement to a working and tested programmed solution. It introduces the reader to generative recursion, heuristic searching, accumulative recursion, tail recursion, iteration, mutation, loops, program correctness, and vectors. It uses video game development to make the content fun while at the same time teaching problem-solving techniques. The book is divided into four parts. Part I presents introductory material on basic problem solving and program design. It starts by reviewing the basic steps of a design recipe using structural recursion on a list. It then proceeds to review code refactoring–a common technique used to refine programs when a better or more elegant way is found to solve a problem–and introduces the reader to randomness. Next, Part II explores a new type of recursion called generative recursion. It navigates the reader through examples involving fractal image generation, efficient sorting, and efficient searching techniques such as binary, depth-first, and breadth-first search. Part III then explores a new type of recursion called accumulative (or accumulator) recursion. Examples used include finding a path in a graph, improving insertion sorting, and list-folding operations. Finally, Part IV explores mutation. To aid the reader in properly sequencing mutations it presents Hoare Logic and program correctness. In addition, it introduces vectors, vector processing, in-place operations, and circular data. Throughout the whole book complexity analysis and empirical experimentation is used to evaluate solutions. This textbook targets undergraduates at all levels as well as graduate students wishing to learn about program design. It details advanced types of recursion, a disciplined approach to the use of mutation, and illustrates the design process by developing a video game exploiting iterative refinement.
Publisher: Springer Nature
ISBN: 3031043170
Category : Computers
Languages : en
Pages : 515
Book Description
This textbook presents a systematic methodology for program development by using design recipes, i.e. a series of steps, each with a specific outcome, that takes a problem solver from a problem statement to a working and tested programmed solution. It introduces the reader to generative recursion, heuristic searching, accumulative recursion, tail recursion, iteration, mutation, loops, program correctness, and vectors. It uses video game development to make the content fun while at the same time teaching problem-solving techniques. The book is divided into four parts. Part I presents introductory material on basic problem solving and program design. It starts by reviewing the basic steps of a design recipe using structural recursion on a list. It then proceeds to review code refactoring–a common technique used to refine programs when a better or more elegant way is found to solve a problem–and introduces the reader to randomness. Next, Part II explores a new type of recursion called generative recursion. It navigates the reader through examples involving fractal image generation, efficient sorting, and efficient searching techniques such as binary, depth-first, and breadth-first search. Part III then explores a new type of recursion called accumulative (or accumulator) recursion. Examples used include finding a path in a graph, improving insertion sorting, and list-folding operations. Finally, Part IV explores mutation. To aid the reader in properly sequencing mutations it presents Hoare Logic and program correctness. In addition, it introduces vectors, vector processing, in-place operations, and circular data. Throughout the whole book complexity analysis and empirical experimentation is used to evaluate solutions. This textbook targets undergraduates at all levels as well as graduate students wishing to learn about program design. It details advanced types of recursion, a disciplined approach to the use of mutation, and illustrates the design process by developing a video game exploiting iterative refinement.
Animated Problem Solving
Author: Marco T. Morazán
Publisher: Springer Nature
ISBN: 3030850919
Category : Computers
Languages : en
Pages : 688
Book Description
This textbook is about systematic problem solving and systematic reasoning using type-driven design. There are two problem solving techniques that are emphasized throughout the book: divide and conquer and iterative refinement. Divide and conquer is the process by which a large problem is broken into two or more smaller problems that are easier to solve and then the solutions for the smaller pieces are combined to create an answer to the problem. Iterative refinement is the process by which a solution to a problem is gradually made better–like the drafts of an essay. Mastering these techniques are essential to becoming a good problem solver and programmer. The book is divided in five parts. Part I focuses on the basics. It starts with how to write expressions and subsequently leads to decision making and functions as the basis for problem solving. Part II then introduces compound data of finite size, while Part III covers compound data of arbitrary size like e.g. lists, intervals, natural numbers, and binary trees. It also introduces structural recursion, a powerful data-processing strategy that uses divide and conquer to process data whose size is not fixed. Next, Part IV delves into abstraction and shows how to eliminate repetitions in solutions to problems. It also introduces generic programming which is abstraction over the type of data processed. This leads to the realization that functions are data and, perhaps more surprising, that data are functions, which in turn naturally leads to object-oriented programming. Part V introduces distributed programming, i.e., using multiple computers to solve a problem. This book promises that by the end of it readers will have designed and implemented a multiplayer video game that they can play with their friends over the internet. To achieve this, however, there is a lot about problem solving and programming that must be learned first. The game is developed using iterative refinement. The reader learns step-by-step about programming and how to apply new knowledge to develop increasingly better versions of the video game. This way, readers practice modern trends that are likely to be common throughout a professional career and beyond.
Publisher: Springer Nature
ISBN: 3030850919
Category : Computers
Languages : en
Pages : 688
Book Description
This textbook is about systematic problem solving and systematic reasoning using type-driven design. There are two problem solving techniques that are emphasized throughout the book: divide and conquer and iterative refinement. Divide and conquer is the process by which a large problem is broken into two or more smaller problems that are easier to solve and then the solutions for the smaller pieces are combined to create an answer to the problem. Iterative refinement is the process by which a solution to a problem is gradually made better–like the drafts of an essay. Mastering these techniques are essential to becoming a good problem solver and programmer. The book is divided in five parts. Part I focuses on the basics. It starts with how to write expressions and subsequently leads to decision making and functions as the basis for problem solving. Part II then introduces compound data of finite size, while Part III covers compound data of arbitrary size like e.g. lists, intervals, natural numbers, and binary trees. It also introduces structural recursion, a powerful data-processing strategy that uses divide and conquer to process data whose size is not fixed. Next, Part IV delves into abstraction and shows how to eliminate repetitions in solutions to problems. It also introduces generic programming which is abstraction over the type of data processed. This leads to the realization that functions are data and, perhaps more surprising, that data are functions, which in turn naturally leads to object-oriented programming. Part V introduces distributed programming, i.e., using multiple computers to solve a problem. This book promises that by the end of it readers will have designed and implemented a multiplayer video game that they can play with their friends over the internet. To achieve this, however, there is a lot about problem solving and programming that must be learned first. The game is developed using iterative refinement. The reader learns step-by-step about programming and how to apply new knowledge to develop increasingly better versions of the video game. This way, readers practice modern trends that are likely to be common throughout a professional career and beyond.
A New Program for Graphic Design
Author: David Reinfurt
Publisher: Inventory Press
ISBN: 9781941753217
Category : Design
Languages : en
Pages : 256
Book Description
A toolkit for visual literacy in the 21st century A New Program for Graphic Design is the first communication-design textbook expressly of and for the 21st century. Three courses--Typography, Gestalt and Interface--provide the foundation of this book. Through a series of in-depth historical case studies (from Benjamin Franklin to the Macintosh computer) and assignments that progressively build in complexity, A New Program for Graphic Design serves as a practical guide both for designers and for undergraduate students coming from a range of other disciplines. Synthesizing the pragmatic with the experimental, and drawing on the work of Max Bill, György Kepes, Bruno Munari and Stewart Brand (among many others), it builds upon mid- to late-20th-century pedagogical models to convey contemporary design principles in an understandable form for students of all levels--treating graphic design as a liberal art that informs the dissemination of knowledge across all disciplines. For those seeking to understand and shape our increasingly networked world of information, this guide to visual literacy is an indispensable tool. David Reinfurt (born 1971), a graphic designer, writer and educator, reestablished the Typography Studio at Princeton University and introduced the study of graphic design. Previously, he held positions at Columbia University Graduate School of Architecture, Planning and Preservation, Rhode Island School of Design and Yale University School of Art. As a cofounder of O-R-G inc. (2000), Dexter Sinister (2006) and the Serving Library (2012), Reinfurt has been involved in several studios that have reimagined graphic design, publishing and archiving in the 21st century. He was the lead designer for the New York City MTA Metrocard vending machine interface, still in use today. His work is included in the collections of the Walker Art Center, Whitney Museum of American Art, Cooper Hewitt National Design Museum and the Museum of Modern Art. He is the co-author of Muriel Cooper (MIT Press, 2017), a book about the pioneering designer.
Publisher: Inventory Press
ISBN: 9781941753217
Category : Design
Languages : en
Pages : 256
Book Description
A toolkit for visual literacy in the 21st century A New Program for Graphic Design is the first communication-design textbook expressly of and for the 21st century. Three courses--Typography, Gestalt and Interface--provide the foundation of this book. Through a series of in-depth historical case studies (from Benjamin Franklin to the Macintosh computer) and assignments that progressively build in complexity, A New Program for Graphic Design serves as a practical guide both for designers and for undergraduate students coming from a range of other disciplines. Synthesizing the pragmatic with the experimental, and drawing on the work of Max Bill, György Kepes, Bruno Munari and Stewart Brand (among many others), it builds upon mid- to late-20th-century pedagogical models to convey contemporary design principles in an understandable form for students of all levels--treating graphic design as a liberal art that informs the dissemination of knowledge across all disciplines. For those seeking to understand and shape our increasingly networked world of information, this guide to visual literacy is an indispensable tool. David Reinfurt (born 1971), a graphic designer, writer and educator, reestablished the Typography Studio at Princeton University and introduced the study of graphic design. Previously, he held positions at Columbia University Graduate School of Architecture, Planning and Preservation, Rhode Island School of Design and Yale University School of Art. As a cofounder of O-R-G inc. (2000), Dexter Sinister (2006) and the Serving Library (2012), Reinfurt has been involved in several studios that have reimagined graphic design, publishing and archiving in the 21st century. He was the lead designer for the New York City MTA Metrocard vending machine interface, still in use today. His work is included in the collections of the Walker Art Center, Whitney Museum of American Art, Cooper Hewitt National Design Museum and the Museum of Modern Art. He is the co-author of Muriel Cooper (MIT Press, 2017), a book about the pioneering designer.
X-Men: the Art and Making of the Animated Series
Author: Eric Lewald
Publisher: ABRAMS
ISBN: 9781419744686
Category :
Languages : en
Pages : 272
Book Description
The story behind the creation of one of the most celebrated, revolutionary animated series of all time X-Men: The Art and Making of the Animated Series takes fans behind the scenes of the landmark cartoon that laid the groundwork for the dozens of Marvel Comics adaptations that followed. Interviews with series writers, producers, executives, and artists reveal the razor's edge that Marvel and Fox navigated in order to bring the X-Men to television, and detail the tough decisions, compromises, and brilliant solutions that resulted in a series that has been lauded by critics and fans for nearly three decades. Along the way, readers will encounter such comics and entertainment luminaries as Stan Lee, Avi Arad, and Haim Saban. This book gives a firsthand account of what it's like to develop, pitch, design, write, draw, direct, and produce an animated series, accompanied by rare original art, animated cels and still frames, and production and merchandising ephemera.
Publisher: ABRAMS
ISBN: 9781419744686
Category :
Languages : en
Pages : 272
Book Description
The story behind the creation of one of the most celebrated, revolutionary animated series of all time X-Men: The Art and Making of the Animated Series takes fans behind the scenes of the landmark cartoon that laid the groundwork for the dozens of Marvel Comics adaptations that followed. Interviews with series writers, producers, executives, and artists reveal the razor's edge that Marvel and Fox navigated in order to bring the X-Men to television, and detail the tough decisions, compromises, and brilliant solutions that resulted in a series that has been lauded by critics and fans for nearly three decades. Along the way, readers will encounter such comics and entertainment luminaries as Stan Lee, Avi Arad, and Haim Saban. This book gives a firsthand account of what it's like to develop, pitch, design, write, draw, direct, and produce an animated series, accompanied by rare original art, animated cels and still frames, and production and merchandising ephemera.
Five Flying Penguins
Author: Barbara Barbieri McGrath
Publisher: Triangle Interactive, Inc.
ISBN: 1684520762
Category : Juvenile Fiction
Languages : en
Pages : 38
Book Description
Five little penguins are content in the cold--until they spot a menacing mammal! With a rhyming narrative that counts to five, adorable penguins are soaring--or flying--through the sea, trying to elude a lurking creature. But as young readers of this charming tale will discover, a friendly seal is only looking to play a game of tag.
Publisher: Triangle Interactive, Inc.
ISBN: 1684520762
Category : Juvenile Fiction
Languages : en
Pages : 38
Book Description
Five little penguins are content in the cold--until they spot a menacing mammal! With a rhyming narrative that counts to five, adorable penguins are soaring--or flying--through the sea, trying to elude a lurking creature. But as young readers of this charming tale will discover, a friendly seal is only looking to play a game of tag.
Effective Web Animation
Author: J. Scott Hamlin
Publisher: Addison Wesley Longman
ISBN:
Category : Computers
Languages : en
Pages : 342
Book Description
Effective Web Animation is timely, comprehensive, and tightly focused on the key issues professional Web designers care about most: creativity, quality, productivity, and speed. For all Web designers and developers ready to move beyond static text and images, including those with GIF animation experience who want to produce more effective, efficient animations.
Publisher: Addison Wesley Longman
ISBN:
Category : Computers
Languages : en
Pages : 342
Book Description
Effective Web Animation is timely, comprehensive, and tightly focused on the key issues professional Web designers care about most: creativity, quality, productivity, and speed. For all Web designers and developers ready to move beyond static text and images, including those with GIF animation experience who want to produce more effective, efficient animations.
The Noble Approach
Author: Tod Polson
Publisher: Chronicle Books
ISBN: 1452127387
Category : Performing Arts
Languages : en
Pages : 178
Book Description
This extraordinary volume examines the life and animation philosophy of Maurice Noble, the noted American animation background artist and layout designer whose contributions to the industry span more than 60 years and include such cartoon classics as Duck Dodgers in the 24 ½th Century, What's Opera, Doc?, and The Road Runner Show. Revered throughout the animation world, his work serves as a foundation and reference point for the current generation of animators, story artists, and designers. Written by Noble's longtime friend and colleague Tod Polson and based on the draft manuscript Noble worked on in the years before his death, this illuminating book passes on his approach to animation design from concept to final frame, illustrated with sketches and stunning original artwork spanning the full breadth of his career.
Publisher: Chronicle Books
ISBN: 1452127387
Category : Performing Arts
Languages : en
Pages : 178
Book Description
This extraordinary volume examines the life and animation philosophy of Maurice Noble, the noted American animation background artist and layout designer whose contributions to the industry span more than 60 years and include such cartoon classics as Duck Dodgers in the 24 ½th Century, What's Opera, Doc?, and The Road Runner Show. Revered throughout the animation world, his work serves as a foundation and reference point for the current generation of animators, story artists, and designers. Written by Noble's longtime friend and colleague Tod Polson and based on the draft manuscript Noble worked on in the years before his death, this illuminating book passes on his approach to animation design from concept to final frame, illustrated with sketches and stunning original artwork spanning the full breadth of his career.
Animating with Flash 8
Author: Alex Michael
Publisher: CRC Press
ISBN: 1136144382
Category : Art
Languages : en
Pages : 456
Book Description
Whether you are a designer who hasn't yet used Flash, a professional animator who wants to create digital animation for the first time, or a Flash user who hasn't yet made the most of the animation features this book will show you how to bring your ideas to life. Get to grips with Flash and bring inspiration to your work using Alex Michael's easy to understand approach, demonstrating a wide selection of animation styles from a range of artists, along with key tips and tricks from the professionals.
Publisher: CRC Press
ISBN: 1136144382
Category : Art
Languages : en
Pages : 456
Book Description
Whether you are a designer who hasn't yet used Flash, a professional animator who wants to create digital animation for the first time, or a Flash user who hasn't yet made the most of the animation features this book will show you how to bring your ideas to life. Get to grips with Flash and bring inspiration to your work using Alex Michael's easy to understand approach, demonstrating a wide selection of animation styles from a range of artists, along with key tips and tricks from the professionals.
The Legend of Korra: The Art of the Animated Series - Book Four: Balance
Author: Michael Dante DiMartino
Publisher: Dark Horse Comics
ISBN: 1616556870
Category : Art
Languages : en
Pages : 188
Book Description
The final season of The Legend of Korra animated TV series--created by Michael Dante DiMartino and Bryan Konietzko--the smash hit sequel to their blockbuster show Avatar: The Last Airbender, is revealed! Go behind the scenes and uncover the phenomenal never-before-seen artwork that went into creating this beloved series' final season! Creator captions will give you an exclusive look at every aspect of the show; it's like having your own backstage pass to The Legend of Korra Book Four: Balance!
Publisher: Dark Horse Comics
ISBN: 1616556870
Category : Art
Languages : en
Pages : 188
Book Description
The final season of The Legend of Korra animated TV series--created by Michael Dante DiMartino and Bryan Konietzko--the smash hit sequel to their blockbuster show Avatar: The Last Airbender, is revealed! Go behind the scenes and uncover the phenomenal never-before-seen artwork that went into creating this beloved series' final season! Creator captions will give you an exclusive look at every aspect of the show; it's like having your own backstage pass to The Legend of Korra Book Four: Balance!
Novice Programming Environments
Author: Marc Eisenstadt
Publisher: Routledge
ISBN: 1351141260
Category : Psychology
Languages : en
Pages : 342
Book Description
This book, originally published in 1992, encapsulates ten years of research at the Open University’s Human Cognition Research Laboratory. The research investigates the problems of novice programmers, and is strongly oriented toward the design and implementation of "programming environments" aimed at eliminating or easing novices’ problems. A range of languages is studied: Pascal, SOLO, Lisp, Prolog and "Knowledge Engineering Programming". The primary emphasis of the empirical studies is to gain some understanding of novices’ "mental models" of the inner workings of computers. Such (erroneous) models are constructed by novices in their own heads to account for the idiosyncrasies of particular programming languages. The primary emphasis of the implementations described in the book is the provision of "automatic debugging aids", i.e. artificial intelligence programs which can analyse novices’ buggy programs, and make sense of them, thereby providing useful advice for the novices. Another related strand taken in some of the work is the concept of "pre-emptive design", i.e. the provision of tools such as syntax-directed editors and graphical tracers which help programmers avoid many frequently-occurring errors. A common thread throughout the book is its Cognitive Science/Artificial Intelligence orientation. AI tools are used, for instance, to construct simulation models of subjects writing programs, in order to provide insights into what their deep conceptual errors are. At the other extreme, AI programs which were developed in order to help student debug their programs are observed empirically in order to ensure that they provide facilities actually needed by real programmers. This book will be of great interest to advanced undergraduate, postgraduate, and professional researchers in Cognitive Science, Artificial Intelligence, and Human-Computer Interaction.
Publisher: Routledge
ISBN: 1351141260
Category : Psychology
Languages : en
Pages : 342
Book Description
This book, originally published in 1992, encapsulates ten years of research at the Open University’s Human Cognition Research Laboratory. The research investigates the problems of novice programmers, and is strongly oriented toward the design and implementation of "programming environments" aimed at eliminating or easing novices’ problems. A range of languages is studied: Pascal, SOLO, Lisp, Prolog and "Knowledge Engineering Programming". The primary emphasis of the empirical studies is to gain some understanding of novices’ "mental models" of the inner workings of computers. Such (erroneous) models are constructed by novices in their own heads to account for the idiosyncrasies of particular programming languages. The primary emphasis of the implementations described in the book is the provision of "automatic debugging aids", i.e. artificial intelligence programs which can analyse novices’ buggy programs, and make sense of them, thereby providing useful advice for the novices. Another related strand taken in some of the work is the concept of "pre-emptive design", i.e. the provision of tools such as syntax-directed editors and graphical tracers which help programmers avoid many frequently-occurring errors. A common thread throughout the book is its Cognitive Science/Artificial Intelligence orientation. AI tools are used, for instance, to construct simulation models of subjects writing programs, in order to provide insights into what their deep conceptual errors are. At the other extreme, AI programs which were developed in order to help student debug their programs are observed empirically in order to ensure that they provide facilities actually needed by real programmers. This book will be of great interest to advanced undergraduate, postgraduate, and professional researchers in Cognitive Science, Artificial Intelligence, and Human-Computer Interaction.