Exercises in Programming Style
Using a simple computational task (term frequency) to illustrate different programming styles, Exercises in Programming Style helps readers understand the various ways of writing programs and designing systems. It is designed to be used in conjunction with code provided on an online repository. The book complements and explains the raw code in a way that is accessible to anyone who regularly practices the art of programming. The book can also be used in advanced programming courses in computer science and software engineering programs. The book contains 33 different styles for writing the term frequency task. The styles are grouped into nine categories: historical, basic, function composition, objects and object interactions, reflection and metaprogramming, adversity, data-centric, concurrency, and interactivity. The author verbalizes the constraints in each style and explains the example programs. Each chapter first presents the constraints of the style, next shows an example program, and then gives a detailed explanation of the code. Most chapters also have sections focusing on the use of the style in systems design as well as sections describing the historical context in which the programming style emerged.
Out of stock
This book is for anyone who wants to understand computer programming. You’ll learn to program in a language that’ s used in millions of smartphones, tablets, and PCs. You’ll code along with the book, writing programs to solve real-world problems as you learn the fundamentals of programming using Python 3. You’ll learn about design, algorithms, testing, and debugging, and come away with all the tools you need to produce quality code. In this second edition, we’ve updated almost all the material, incorporating the lessons we’ve learned over the past five years of teaching Python to people new to programming. You don’t need any programming experience to get started. First, you’ll get a detailed introduction to Python and to programming. You’ll find out exactly what happens when your programs are executed. Through real-world examples, you’ll learn how to work with numbers, text, big data sets, and files. Then you’ll see how to create and use your own data types. The incremental examples show you the steps and missteps that happen while developing programs, so you know what to expect when you tackle a problem on your own. Inspired by “How to Design Programs” (HtDP), you’ll learn a six-step recipe for designing functions, which helps you as you start to learn the concepts–and becomes an integral part of writing programs by the end. As you learn to use the fundamental programming tools in the first half of the book, you’ll see how to document and organize your code so that you and other programmers can more easily read and understand it. Beyond the basics, you’ll learn how to ensure that your programs are reliable, and how to work with databases, download data from the web automatically, and build user interfaces. Most importantly, you’ll learn how to think like a professional programmer. You’ll need to download Python 3, available from “python.org”:https://python.org. With that download comes IDLE, the editor we use for writing and running Python programs. (If you use Linux, you may need to install Python 3 and IDLE separately.)
About the Author
Paul Gries, is a senior lecturer in Computer Science at the University of Toronto. He has won numerous teaching awards and authored other introductory computer science texts. Jennifer Campbell is a senior lecturer in Computer Science at the University of Toronto who created the course this book is based on. Jason Montojo, is a former student of Jennifer Campbell and Paul Gries, who has since worked on the Eclipse programming platform at IBM; he is also a professional photographer and digital artist, and created all of the diagrams for this book.
About the Author
John S. Conery is a professor in the Department of Computer and Information Science at the University of Oregon. With over 30 years of teaching experience, he has taught courses on high performance computing and scientific computing in addition to introductory computer science courses. A member of the University’s Center for Ecology and Evolutionary Biology, Dr. Conery has worked with biologists on a variety of problems related to gene and genome duplication, artificial neural networks, and population modeling. His current research interests are computational biology and bioinformatics.
The comprehensive Wrox guide for creating Java web applications for the enterprise
This guide shows Java software developers and software engineers how to build complex web applications in an enterprise environment. You’ll begin with an introduction to the Java Enterprise Edition and the basic web application, then set up a development application server environment, learn about the tools used in the development process, and explore numerous Java technologies and practices. The book covers industry-standard tools and technologies, specific technologies, and underlying programming concepts.
- Java is an essential programming language used worldwide for both Android app development and enterprise-level corporate solutions
- As a step-by-step guide or a general reference, this book provides an all-in-one Java development solution
- Explains Java Enterprise Edition 7 and the basic web application, how to set up a development application server environment, which tools are needed during the development process, and how to apply various Java technologies
- Covers new language features in Java 8, such as Lambda Expressions, and the new Java 8 Date & Time API introduced as part of JSR 310, replacing the legacy Date and Calendar APIs
- Demonstrates the new, fully-duplex WebSocket web connection technology and its support in Java EE 7, allowing the reader to create rich, truly interactive web applications that can push updated data to the client automatically
- Instructs the reader in the configuration and use of Log4j 2.0, Spring Framework 4 (including Spring Web MVC), Hibernate Validator, RabbitMQ, Hibernate ORM, Spring Data, Hibernate Search, and Spring Security
- Covers application logging, JSR 340 Servlet API 3.1, JSR 245 JavaServer Pages (JSP) 2.3 (including custom tag libraries), JSR 341 Expression Language 3.0, JSR 356 WebSocket API 1.0, JSR 303/349 Bean Validation 1.1, JSR 317/338 Java Persistence API (JPA) 2.1, full-text searching with JPA, RESTful and SOAP web services, Advanced Message Queuing Protocol (AMQP), and OAuth
Professional Java for Web Applications is the complete Wrox guide for software developers who are familiar with Java and who are ready to build high-level enterprise Java web applications.
About the Author
Thomas Michaud is an assistant professor in the Department of Visual Art and Design at Andrews University, and a full-time lead instructor and coordinator of Interactive/Web Design courses in the BFA program. He also leads development and maintenance of the BFA Web Site for promotional and recruitment purposes. He was formerly web manager for Lane Automotive where he managed Web site development, deployment, and maintenance.