How to Design Programs: An Introduction to Programming and Computing
Matthias Felleisen - 2001
Unlike other introductory books, it focuses on the program design process. This approach fosters a variety of skills--critical reading, analytical thinking, creative synthesis, and attention to detail--that are important for everyone, not just future computer programmers. The book exposes readers to two fundamentally new ideas. First, it presents program design guidelines that show the reader how to analyze a problem statement; how to formulate concise goals; how to make up examples; how to develop an outline of the solution, based on the analysis; how to finish the program; and how to test. Each step produces a well-defined intermediate product. Second, the book comes with a novel programming environment, the first one explicitly designed for beginners. The environment grows with the readers as they master the material in the book until it supports a full-fledged language for the whole spectrum of programming tasks.All the book's support materials are available for free on the Web. The Web site includes the environment, teacher guides, exercises for all levels, solutions, and additional projects.A second edition is now available.
Python: 3 Manuscripts in 1 book: - Python Programming For Beginners - Python Programming For Intermediates - Python Programming for Advanced
Maurice J. Thompson - 2018
This Box Set Includes 3 Books: Python Programming For Beginners - Learn The Basics Of Python In 7 Days! Python Programming For Intermediates - Learn The Basics Of Python In 7 Days! Python Programming For Advanced - Learn The Basics Of Python In 7 Days! Python Programming For Beginners - Learn The Basics Of Python In 7 Days! Here's what you'll learn from this book: ✓Introduction ✓Understanding Python: A Detailed Background ✓How Python Works ✓Python Glossary ✓How to Download and Install Python ✓Python Programming 101: Interacting With Python in Different Ways ✓How to Write Your First Python Program ✓Variables, Strings, Lists, Tuples, Dictionaries ✓About User-Defined Functions ✓How to Write User-Defined Functions in Python ✓About Coding Style ✓Practice Projects: The Python Projects for Your Practice Python Programming For Intermediates - Learn The Basics Of Python In 7 Days! Here's what you'll learn from this book: ✓ Shallow copy and deep copy ✓ Objects and classes in Python–including python inheritance, multiple inheritances, and so on ✓ Recursion in Python ✓ Debugging and testing ✓ Fibonacci sequence (definition) and Memoization in Python in Python ✓ Arguments in Python ✓ Namespaces in Python and Python Modules ✓ Simple Python projects for Intermediates Python Programming For Advanced - Learn The Basics Of Python In 7 Days! Here's what you'll learn from this book: ✓File management ✓Python Iterator ✓Python Generator ✓Regular Expressions ✓Python Closure ✓Python Property ✓Python Assert, and ✓Simple recap projects Start Coding Now!
Why Software Sucks...and What You Can Do about It
David S. Platt - 2006
. . . Put this one on your must-have list if you have software, love software, hate programmers, or even ARE a programmer, because Mr. Platt (who teaches programming) has set out to puncture the bloated egos of all those who think that just because they can write a program, they can make it easy to use. . . . This book is funny, but it is also an important wake-up call for software companies that want to reduce the size of their customer support bills. If you were ever stuck for an answer to the question, 'Why do good programmers make such awful software?' this book holds the answer."--John McCormick, Locksmith columnist, TechRepublic.com "I must say first, I don't get many computing manuscripts that make me laugh out loud. Between the laughs, Dave Platt delivers some very interesting insight and perspective, all in a lucid and engaging style. I don't get much of that either!"--Henry Leitner, assistant dean for information technology andsenior lecturer on computer science, Harvard University "A riotous book for all of us downtrodden computer users, written in language that we understand."--Stacy Baratelli, author's barber "David's unique take on the problems that bedevil software creation made me think about the process in new ways. If you care about the quality of the software you create or use, read this book."--Dave Chappell, principal, Chappell & Associates "I began to read it in my office but stopped before I reached the bottom of the first page. I couldn't keep a grin off my face! I'll enjoy it after I go back home and find a safe place to read."--Tsukasa Makino, IT manager "David explains, in terms that my mother-in-law can understand, why the software we use today can be so frustrating, even dangerous at times, and gives us some real ideas on what we can do about it."--Jim Brosseau, Clarrus Consulting Group, Inc. A Book for Anyone Who Uses a Computer Today...and Just Wants to Scream! Today's software sucks. There's no other good way to say it. It's unsafe, allowing criminal programs to creep through the Internet wires into our very bedrooms. It's unreliable, crashing when we need it most, wiping out hours or days of work with no way to get it back. And it's hard to use, requiring large amounts of head-banging to figure out the simplest operations.It's no secret that software sucks. You know that from personal experience, whether you use computers for work or personal tasks. In this book, programming insider David Platt explains why that's the case and, more importantly, why it doesn't have to be that way. And he explains it in plain, jargon-free English that's a joy to read, using real-world examples with which you're already familiar. In the end, he suggests what you, as a typical user, without a technical background, can do about this sad state of our software--how you, as an informed consumer, don't have to take the abuse that bad software dishes out.As you might expect from the book's title, Dave's expose is laced with humor--sometimes outrageous, but always dead on. You'll laugh out loud as you recall incidents with your own software that made you cry. You'll slap your thigh with the same hand that so often pounded your computer desk and wished it was a bad programmer's face. But Dave hasn't written this book just for laughs. He's written it to give long-overdue voice to your own discovery--that software does, indeed, suck, but it shouldn't.
Sun Certified Programmer & Developer for Java 2 Study Guide (Exam 310-035 & 310-027)
Kathy Sierra - 2002
More than 250 challenging practice questions have been completely revised to closely model the format, tone, topics, and difficulty of the real exam. An integrated study system based on proven pedagogy, exam coverage includes step-by-step exercises, special Exam Watch notes, On-the-Job elements, and Self Tests with in-depth answer explanations to help reinforce and teach practical skills.Praise for the author:"Finally A Java certification book that explains everything clearly. All you need to pass the exam is in this book."--Solveig Haugland, Technical Trainer and Former Sun Course Developer"Who better to write a Java study guide than Kathy Sierra, the reigning queen of Java instruction? Kathy Sierra has done it again--here is a study guide that almost guarantees you a certification "--James Cubeta, Systems Engineer, SGI"The thing I appreciate most about Kathy is her quest to make us all remember that we are teaching people and not just lecturing about Java. Her passion and desire for the highest quality education that meets the needs of the individual student is positively unparalleled at SunEd. Undoubtedly there are hundreds of students who have benefited from taking Kathy's classes."--Victor Peters, founder Next Step Education & Software Sun Certified Java Instructor"I want to thank Kathy for the EXCELLENT Study Guide. The book is well written, every concept is clearly explained using a real life example, and the book states what you specifically need to know for the exam. The way it's written, you feel that you're in a classroom and someone is actually teaching you the difficult concepts, but not in a dry, formal manner. The questions at the end of the chapters are also REALLY good, and I am sure they will help candidates pass the test. Watch out for this Wickedly Smart book."-Alfred Raouf, Web Solution Developer, Kemety.Net"The Sun Certification exam was certainly no walk in the park but Kathy's material allowed me to not only pass the exam, but Ace it "--Mary Whetsel, Sr. Technology Specialist, Application Strategy and Integration, The St. Paul Companies
Bye Bye Banks?: How Retail Banks are Being Displaced, Diminished and Disintermediated by Tech Startups - and What They Can Do to Survive.
James Haycock - 2015
Now the retail banking business model looks set to be transformed too. In Bye Bye Banks? James Haycock and Shane Richmond describe these startups, and to which areas of the banking industry they are laying siege. It shows that this assault is already well underway and that many incumbents are poised to be displaced, diminished and disintermediated. It draws on extensive research and on-and-off the record interviews with senior executives in some of the biggest banks. Haycock and Richmond conclude with the recommendation that traditional banks need to reinvent themselves by launching a ‘Beta Bank’: a lean, stand-alone organisation fit for the future for which they provide a ten-point operating model. This short book is a bold, urgent and timely analysis of the forces shaping the future of financial services. Its message to industry leaders in the sector could not be more simple: adapt or prepare to be disrupted. “This work accurately and concisely captures the effects of the disruption brought to the banking industry by the digital revolution. The comments by other banking and innovation professionals about their own experiences are particularly intriguing.” - Alessandro Hatami, former Innovation Executive at Lloyds Banking Group “James Haycock is a key voice for how the banking industry should and will change.” - Tom Hopkins, Product Innovation Director, Experian Consumer Services “If you are an incumbent retail bank, read it, get on with it, make it happen.” - Lee Sankey, former Group Design Director, Barclays
Mobile Usability
Jakob Nielsen - 2012
The book includes 228-full color illustrations to demonstrate the points. Based on expert reviews and international studies with participants ranging from students to early technology adopters and business people using websites on a variety of mobile devices, this guide offers a complete look at the landscape for a mobile world. Author Jakob Nielsen is considered one of the world's leading experts on Web usability. He is the author of numerous best-selling books, including Prioritizing Web Usability and the groundbreaking Designing Web Usability, which has sold more than 250,000 copies and has been translated in 22 languages.
The Zen of CSS Design: Visual Enlightenment for the Web
Dave Shea - 2005
Proving once and for all that standards-compliant design does not equal dull design, this inspiring tome uses examples from the landmark CSS Zen Garden site as the foundation for discussions on how to create beautiful, progressive CSS-based Web sites.
Computational Thinking
Peter J. Denning - 2019
More recently, "computational thinking" has become part of the K-12 curriculum. But what is computational thinking? This volume in the MIT Press Essential Knowledge series offers an accessible overview, tracing a genealogy that begins centuries before digital computers and portraying computational thinking as pioneers of computing have described it.The authors explain that computational thinking (CT) is not a set of concepts for programming; it is a way of thinking that is honed through practice: the mental skills for designing computations to do jobs for us, and for explaining and interpreting the world as a complex of information processes. Mathematically trained experts (known as "computers") who performed complex calculations as teams engaged in CT long before electronic computers. The authors identify six dimensions of today's highly developed CT--methods, machines, computing education, software engineering, computational science, and design--and cover each in a chapter. Along the way, they debunk inflated claims for CT and computation while making clear the power of CT in all its complexity and multiplicity.
Flask Web Development: Developing Web Applications with Python
Miguel Grinberg - 2014
With this hands-on book, you’ll learn Flask from the ground up by developing a complete social blogging application step-by-step. Author Miguel Grinberg walks you through the framework’s core functionality, and shows you how to extend applications with advanced web techniques such as database migration and web service communication.Rather than impose development guidelines as other frameworks do, Flask leaves the business of extensions up to you. If you have Python experience, this book shows you how to take advantage of that creative freedom.- Learn Flask’s basic application structure and write an example app- Work with must-have components—templates, databases, web forms, and email support- Use packages and modules to structure a large application that scales- Implement user authentication, roles, and profiles- Build a blogging feature by reusing templates, paginating item lists, and working with rich text- Use a Flask-based RESTful API to expose app functionality to smartphones, tablets, and other third-party clients- Learn how to run unit tests and enhance application performance- Explore options for deploying your web app to a production server
Object-Oriented Analysis and Design with Applications
Grady Booch - 1990
Booch illustrates essential concepts, explains the method, and shows successful applications in a variety of fields. Booch also gives pragmatic advice on a host of issues, including classification, implementation strategies, and cost-effective project management. A two-time winner of Software Development's coveted Jolt Cola Product Excellence Award!
Agile Web Development with Rails: A Pragmatic Guide
Dave Thomas - 2005
A full Rails application probably has less total code than the XML you'd need to configure the same application in other frameworks. With this book you'll learn how to use "ActiveRecord" to connect business objects and database tables. No more painful object-relational mapping. Just create your business objects and let Rails do the rest. You'll learn how to use the "Action Pack" framework to route incoming requests and render pages using easy-to-write templates and components. See how to exploit the Rails service frameworks to send emails, implement web services, and create dynamic, user-centric web-pages using built-in Javascript and Ajax support. There are extensive chapters on testing, deployment, and scaling. You'll see how easy it is to install Rails using your web server of choice (such as Apache or lighttpd) or using its own included web server. You'll be writing applications that work with your favorite database (MySQL, Oracle, Postgres, and more) in no time at all. You'll create a complete online store application in the extended tutorial section, so you'll see how a full Rails application is developed---iteratively and rapidly. Rails strives to honor the Pragmatic Programmer's "DRY Principle" by avoiding the extra work of configuration files and code annotations. You can develop in real-time: make a change, and watch it work immediately. Forget XML. Everything in Rails, from templates to control flow to business logic, is written in Ruby, the language of choice for programmers who like to get the job done well (and leave work ontime for a change). Rails is the framework of choice for the new generation of Web 2.0 developers. Agile Web Development with Rails is the book for that generation, written by Dave Thomas (Pragmatic Programmer and author of Programming Ruby) and David Heinemeier Hansson, who created Rails.
Designing for the Social Web
Joshua Porter - 2008
With tons of examples from real-world interfaces and a touch of the underlying social psychology theory, Joshua Porter shows you how to design your next great social web application.
Getting Started with AWS
Amazon Web Services - 2012
Getting Started with AWS provides an introduction to Amazon Web Services, examples of what you can do with AWS, basic information that you need to know to get started, and links to resources and documentation that will help you learn more no matter what your use case is.
Bumper to Bumper
Doug DeMuro - 2016
Bumper to Bumper is newer, longer, and better, touting mostly original stories that include the time Doug crashed his brand-new Porsche company car into a tree, the real story behind the time Doug crushed a Chrysler PT Cruiser, the time Doug bribed a government official in South Africa, the time Doug got detained at the Canadian border on an automotive press trip, and the story of Doug’s relationship with automakers. Also, Doug wrote this description himself in the third person.
Stylin' with CSS: A Designer's Guide
Charles Wyke-Smith - 2005
Stylin with CSS teaches you everything you need to know start using CSS in your web development work, from the basics of markup of your content and styling text, through to creating multi-column page layouts without the use of tables. Learn how to create interface components, such as drop-down menus, navigation links, and animated graphical buttons, using only CSS no JavaScript required. Discover how to design code that will work on the latest standard-compliant browsers, while working around the quirks of the older browsers. With a mastery of CSS, your web design capabilities will move to a new level, and everything you need to know to get your started and build your skills is right here in this book. You ll be stylin in no time!"