Books for PRO "Programming Languages"
Cracking the Coding Interview: 189 Programming Questions and Solutions
I am not a recruiter. I am a software engineer. And as such, I know what it's like to be asked to whip up brilliant algorithms on the spot and then write flawless code on a whiteboard. I've been through this as a candidate and as an interviewer.
Cracking the Coding Interview, 6th Edition is here to help you through this process, teaching you what you need to know and enabling you to perform at your very best. I've coached and interviewed hundreds of software engineers. The result is this book.
Learn how to uncover the hints and hidden details in a question, discover how to break down a problem into manageable chunks, develop techniques to unstick yourself when stuck, learn (or re-learn) core computer science concepts, and practice on 189 interview questions and solutions.
These interview questions are real; they are not pulled out of computer science textbooks. They reflect what's truly being asked at the top companies, so that you can be as prepared as possible. WHAT'S INSIDE?
- 189 programming interview questions, ranging from the basics to the trickiest algorithm problems.
- A walk-through of how to derive each solution, so that you can learn how to get there yourself.
- Hints on how to solve each of the 189 questions, just like what you would get in a real interview.
- Five proven strategies to tackle algorithm questions, so that you can solve questions you haven't seen.
- Extensive coverage of essential topics, such as big O time, data structures, and core algorithms.
- A behind the scenes look at how top companies like Google and Facebook hire developers.
- Techniques to prepare for and ace the soft side of the interview: behavioral questions.
- For interviewers and companies: details on what makes a good interview question and hiring process.
Illustrations noteIllustrations: Illustrations, black and white
Â
Python Crash Course, 2nd Edition: A Hands-On, Project-Based Introduction to Programming
A fast-paced, no-nonsense, updated guide to programming in Python.
If you've been thinking about learning how to code or picking up Python, this internationally bestselling guide to the most popular programming language is your quickest, easiest way to get started and go! Even if you have no experience whatsoever, Python Crash Course, 2nd Edition, will have you writing programs, solving problems, building computer games, and creating data visualizations in no time.
Youâll begin with basic concepts like variables, lists, classes, and loopsâwith the help of fun skill-strengthening exercises for every topicâthen move on to making interactive programs and best practices for testing your code. Later chapters put your new knowledge into play with three cool projects: a 2D Space Invaders-style arcade game, a set of responsive data visualizations youâll build with Python's handy libraries (Pygame, Matplotlib, Plotly, Django), and a customized web app you can deploy online.
Why wait any longer? Start your engine and code!
Clean Code: A Handbook of Agile Software Craftsmanship
Noted software expert Robert C. Martin, presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship. Martin, who has helped bring agile principles from a practitionerâs point of view to tens of thousands of programmers, has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code âon the flyâ into a book that will instill within you the values of software craftsman, and make you a better programmerâbut only if you work at it.
What kind of work will you be doing? Youâll be reading codeâlots of code. And you will be challenged to think about whatâs right about that code, and whatâs wrong with it. More importantly you will be challenged to reassess your professional values and your commitment to your craft. Â
Clean Codeis divided into three parts. The first describes the principles, patterns, and practices of writing clean code. The second part consists of several case studies of increasing complexity. Each case study is an exercise in cleaning up codeâof transforming a code base that has some problems into one that is sound and efficient. The third part is the payoff: a single chapter containing a list of heuristics and âsmellsâ gathered while creating the case studies. The result is a knowledge base that describes the way we think when we write, read, and clean code.
 Readers will come away from this book understanding
- How to tell the difference between good and bad code
- How to write good code and how to transform bad code into good code
- How to create good names, good functions, good objects, and good classes
- How to format code for maximum readability
- How to implement complete error handling without obscuring code logic
- How to unit test and practice test-driven development
- What âsmellsâ and heuristics can help you identify bad code
Â
Web Design with HTML, CSS, JavaScript and jQuery Set
This two-book set combines the titles HTML & CSS: Designing and Building Web Sites and JavaScript & jQuery: Interactive Front-End Development. Together these two books form an ideal platform for anyone who wants to master HTML and CSS before stepping up to JavaScript and jQuery.
HTML & CSS covers structure, text, links, images, tables, forms, useful options, adding style with CSS, fonts, colors, thinking in boxes, styling lists and tables, layouts, grids, and even SEO, Google analytics, ftp, and HTML5. JavaScript & jQuery offers an excellent combined introduction to these two technologies using a clear and simple visual approach using diagrams, infographics, and photographs.
- A handy two-book set that uniquely combines related technologies
- Highly visual format and accessible language makes these books highly effective learning tools
- Perfect for beginning web designers and front-end developers.
HTML and CSS: Design and Build Websites
Every day, more and more people want to learn some HTML and CSS. Joining the professional web designers and programmers are new audiences who need to know a little bit of code at work (update a content management system or e-commerce store) and those who want to make their personal blogs more attractive. Many books teaching HTML and CSS are dry and only written for those who want to become programmers, which is why this book takes an entirely new approach.
- Introduces HTML and CSS in a way that makes them accessible to everyoneâhobbyists, students, and professionalsâand itâs full-color throughout
- Utilizes information graphics and lifestyle photography to explain the topics in a simple way that is engaging
- Boasts a unique structure that allows you to progress through the chapters from beginning to end or just dip into topics of particular interest at your leisure
This educational book is one that you will enjoy picking up, reading, then referring back to. It will make you wish other technical topics were presented in such a simple, attractive and engaging way!
This book is also available as part of a set in hardcover - Web Design with HTML, CSS, JavaScript and jQuery, 9781119038634;Â and in softcover - Web Design with HTML, CSS, JavaScript and jQuery, 9781118907443.
C Programming Language, 2nd Edition
The authors present the complete guide to ANSI standard C language programming. Written by the developers of C, this new version helps readers keep up with the finalized ANSI standard for C while showing how to take advantage of C's rich set of operators, economy of expression, improved control flow, and data structures. The 2/E has been completely rewritten with additional examples and problem sets to clarify the implementation of difficult language constructs. For years, C programmers have let K&R guide them to building well-structured and efficient programs. Now this same help is available to those working with ANSI compilers. Includes detailed coverage of the C language plus the official C language reference manual for at-a-glance help with syntax notation, declarations, ANSI changes, scope rules, and the list goes on and on.
Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems
Through a series of recent breakthroughs, deep learning has boosted the entire field of machine learning. Now, even programmers who know close to nothing about this technology can use simple, efficient tools to implement programs capable of learning from data. This practical book shows you how.
By using concrete examples, minimal theory, and two production-ready Python frameworksâScikit-Learn and Tensor Flowâauthor AurĂ©lien GĂ©ron helps you gain an intuitive understanding of the concepts and tools for building intelligent systems. Youâll learn a range of techniques, starting with simple linear regression and progressing to deep neural networks. With exercises in each chapter to help you apply what youâve learned, all you need is programming experience to get started.
- Explore the machine learning landscape, particularly neural nets
- Use Scikit-Learn to track an example machine-learning project end-to-end
- Explore several training models, including support vector machines, decision trees, random forests, and ensemble methods
- Use the Tensor Flow library to build and train neural nets
- Dive into neural net architectures, including convolutional nets, recurrent nets, and deep reinforcement learning
- Learn techniques for training and scaling deep neural nets.
Automate the Boring Stuff with Python, 2nd Edition: Practical Programming for Total Beginners
The second edition of this international fan favorite includes a brand-new chapter on input validation, Gmail and Google Sheets automations, tips for updating CSV files, and more.
If you've ever spent hours renaming files or updating spreadsheet cells, you know how tedious tasks like these can be. But what if you could have your computer do them for you? Automate the Boring Stuff with Python, 2nd Edition teaches even the technically uninclined how to write programs that do in minutes what would take hours to do by handâno prior coding experience required!
This new, fully revised edition of Al Sweigartâs bestselling Pythonic classic, Automate the Boring Stuff with Python, covers all the basics of Python 3 while exploring its rich library of modules for performing specific tasks, like scraping data off the Web, filling out forms, renaming files, organizing folders, sending email responses, and merging, splitting, or encrypting PDFs. Thereâs also a brand-new chapter on input validation, tutorials on automating Gmail and Google Sheets, tips on automatically updating CSV files, and other recent feats of automations that improve your efficiency.
Detailed, step-by-step instructions walk you through each program, allowing you to create useful tools as you build out your programming skills, and updated practice projects at the end of each chapter challenge you to improve those programs and use your newfound skills to automate similar tasks. Boring tasks no longer have to take to get throughâand neither does learning Python!
Clean Architecture: A Craftsman's Guide to Software Structure and Design (Robert C. Martin Series)
Practical Software Architecture Solutions from the Legendary Robert C. Martin (âUncle Bobâ)
Â
By applying universal rules of software architecture, you can dramatically improve developer productivity throughout the life of any software system. Now, building upon the success of his best-selling books Clean Code and The Clean Coder, legendary software craftsman Robert C. Martin (âUncle Bobâ) reveals those rules and helps you apply them.
Â
Martinâs Clean Architecture doesnât merely present options. Drawing on over a half-century of experience in software environments of every imaginable type, Martin tells you what choices to make and why they are critical to your success. As youâve come to expect from Uncle Bob, this book is packed with direct, no-nonsense solutions for the real challenges youâll faceâthe ones that will make or break your projects.
- Learn what software architects need to achieveâand core disciplines and practices for achieving it
- Master essential software design principles for addressing function, component separation, and data management
- See how programming paradigms impose discipline by restricting what developers can do
- Understand whatâs critically important and whatâs merely a âdetailâ
- Implement optimal, high-level structures for web, database, thick-client, console, and embedded applications
- Define appropriate boundaries and layers, and organize components and services
- See why designs and architectures go wrong, and how to prevent (or fix) these failures
Clean Architecture is essential reading for every current or aspiring software architect, systems analyst, system designer, and software managerâand for every programmer who must execute someone elseâs designs.
Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
Get Coding!: Learn HTML, CSS & JavaScript & Build a Website, App & Game
Crack open this book and set off on several fun missions â while simultaneously learning the basics of writing code. Want to make a website from scratch? Create an app? Build a game? All the tools are here, laid out in a user-friendly format that leads kids on an imaginary quest to keep a valuable diamond safe from dangerous jewel thieves. Presented by Young Rewired State â an international collective of tech-savvy kids â in easy-to-follow, bite-size chunks, the real-life coding skills taught in this engaging, comprehensive guide may just set young readers on the path to becoming technology stars of the future.
The Pragmatic Programmer: Your Journey To Mastery, 20th Anniversary Edition (2nd Edition)
âOne of the most significant books in my life.â
âObie Fernandez, Author,
The Rails Way
âTwenty years ago, the first edition of The Pragmatic Programmer completely changed the trajectory of my career. This new edition could do the same for yours.â
âMike Cohn, Author of
Succeeding with Agile
,
Agile Estimating and Planning
, and
User Stories Applied
â. filled with practical advice, both technical and professional, that will serve you and your projects well for years to come.â
âAndrea Goulet, CEO, Corgibytes, Founder, LegacyCode.Rocks
â. . . lightning does strike twice, and this book is proof.â
âVM (Vicky) Brasseur, Director of Open Source Strategy, Juniper Networks
The Pragmatic Programmer is one of those rare tech books youâll read, re-read, and read again over the years. Whether youâre new to the field or an experienced practitioner, youâll come away with fresh insights each and every time.
Dave Thomas and Andy Hunt wrote the first edition of this influential book in 1999 to help their clients create better software and rediscover the joy of coding. These lessons have helped a generation of programmers examine the very essence of software development, independent of any particular language, framework, or methodology, and the Pragmatic philosophy has spawned hundreds of books, screencasts, and audio books, as well as thousands of careers and success stories.
Now, twenty years later, this new edition re-examines what it means to be a modern programmer. Topics range from personal responsibility and career development to architectural techniques for keeping your code flexible and easy to adapt and reuse. Read this book, and youâll learn how to:
- Fight software rot
- Learn continuously
- Avoid the trap of duplicating knowledge
- Write flexible, dynamic, and adaptable code
- Harness the power of basic tools
- Avoid programming by coincidence
- Learn real requirements
- Solve the underlying problems of concurrent code
- Guard against security vulnerabilities
- Build teams of Pragmatic Programmers
- Take responsibility for your work and career
- Test ruthlessly and effectively, including property-based testing
- Implement the Pragmatic Starter Kit
- Delight your users
Youâll become a Pragmatic Programmer.
Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
The DevOps Handbook: How to Create World-Class Agility, Reliability, & Security in Technology Organizations
This award-winning and bestselling business handbook for digital transformation is now fully updated and expanded with the latest research and new case studies!
â[The DevOps Handbook] remains a must-read for any organization seeking to scale up its IT capability and expand DevOps practices across multiple departments or lines of business.â âMike Perrow, TechBeacon
For years, The DevOps Handbook has been the definitive guide for taking the successes laid out in the bestselling The Phoenix Project and applying them in any organization. Now, with this fully updated and expanded edition, it's time to take DevOps out of the IT department and apply it across the full business.
Technology is now at the core of every company, no matter the business model or product. The theories and practices laid out in The DevOps Handbook are tools to be used by anyone from across the organization to create joy and succeed in the marketplace.
The second edition features 15 new case studies, including stories from Adidas, American Airlines, Fannie Mae, Target, and the US Air Force. In addition, renowned researcher and coauthor of Accelerate, Dr. Nicole Forsgren, provides her insights through new and updated material and research. With over 100 pages of new content throughout the book, this expanded edition is a must read for anyone who works with technology.
â[The DevOps Handbook is] a practical roadmap to improving IT in any organization. It's also the most valuable book on software development I've read in the past 10 years.â âAdam Hawkins, software developer and host of the podcast SmallBatches