Cracking the Coding Interview
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...
The 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...
The Hundred-Page Machine Learning Book
Peter Norvig, Research Director at Google, co-author of AIMA, the most popular AI textbook in the world: "Burkov has undertaken a very useful but impossibly hard task in reducing all of machine learning to 100 pages. He succeeds well in choosing the topics — both theory and practice — that will be useful to practitioners, and for the reader who understands that this is the first 100 (or actually 150) pages you will read, not the last, provides a solid introduction to the field."Aurélien...
Programming Arduino: Getting Started with Sketches, Second Edition (Tab)
Program Arduino™ with ease―no prior programming experience required!
This thoroughly updated guide shows, step-by-step, how to quickly program all Arduino models― including the Arduino Uno R3. Written by hobbyist and electronics guru Simon Monk, Programming Arduino™: Getting Started with Sketches, Second Edition, features easy-to-follow explanations, fun examples, and downloadable sample programs. Discover how to write basic sketches, use Arduino’s modified C language, store data,...
Automate the Boring Stuff with Python: Practical Programming for Total Beginners
If you've ever spent hours renaming files or updating hundreds of spreadsheet cells, you know how tedious tasks like these can be. But what if you could have your computer do them for you?
In Automate the Boring Stuff with Python, you'll learn how to use Python to write programs that do in minutes what would take you hours to do by hand—no prior programming experience required. Once you've mastered the basics of programming, you'll create Python programs that effortlessly perform useful and...
Computer Organization and Design, Fifth Edition: The Hardware/Software Interface (The Morgan Kaufmann Series in Computer
The fifth edition of Computer Organization and Design-winner of a 2014 Textbook Excellence Award (Texty) from The Text and Academic Authors Association-moves forward into the post-PC era with new examples, exercises, and material highlighting the emergence of mobile computing and the cloud. This generational change is emphasized and explored with updated content featuring tablet computers, cloud infrastructure, and the ARM (mobile computing devices) and x86 (cloud computing)...
Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems
Graphics in this book are printed in black and white.
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 TensorFlow—author Aurélien Géron helps...
Programming the Raspberry Pi, Second Edition: Getting Started with Python
An updated guide to programming your own Raspberry Pi projectsLearn to create inventive programs and fun games on your powerful Raspberry Pi―with no programming experience required. This practical book has been revised to fully cover the new Raspberry Pi 2, including upgrades to the Raspbian operating system. Discover how to configure hardware and software, write Python scripts, create user-friendly GUIs, and control external electronics. DIY projects include a hangman game, RGB LED...
Cracking the Coding Interview: 150 Programming Questions and Solutions
Now in the 5th edition, Cracking the Coding Interview gives you the interview preparation you need to get the top software developer jobs. This is a deeply technical book and focuses on the software engineering skills to ace your interview. The book is over 500 pages and includes 150 programming interview questions and answers, as well as other advice. The full list of topics are as follows:The Interview ProcessThis section offers an overview on questions are selected and how you will be...
Exploring Arduino: Tools and Techniques for Engineering Wizardry
Learn to easily build gadgets, gizmos, robots, and more using Arduino
Written by Arduino expert Jeremy Blum, this unique book uses the popular Arduino microcontroller platform as an instrument to teach you about topics in electrical engineering, programming, and human-computer interaction. Whether you're a budding hobbyist or an engineer, you'll benefit from the perfectly paced lessons that walk you through useful, artistic, and educational exercises that gradually get more advanced. In...
Embedded Software Design: A Practical Approach to Architecture, Processes, and Coding Techniques
Design higher-quality embedded software from concept through production. This book assumes basic C and microcontroller programming knowledge and is organized into three critical areas:
- Software Architecture and Design
- Agile, DevOps, and Processes
- Development and Coding Skills
You'll start with a basic introduction to embedded software architecture and the considerations for a successful design. The book then breaks down how to architect an...
The Hundred-Page Machine Learning Book
Peter Norvig, Research Director at Google, co-author of AIMA, the most popular AI textbook in the world: "Burkov has undertaken a very useful but impossibly hard task in reducing all of machine learning to 100 pages. He succeeds well in choosing the topics — both theory and practice — that will be useful to practitioners, and for the reader who understands that this is the first 100 (or actually 150) pages you will read, not the last, provides a solid introduction to the field."Aurélien...
Embedded Systems Architecture: Explore architectural concepts, pragmatic design patterns, and best practices to produce
Learn to design and develop safe and reliable embedded systems
Key Features- Identify and overcome challenges in embedded environments
- Understand the steps required to increase the security of IoT solutions
- Build safety-critical and memory-safe parallel and distributed embedded systems
Embedded systems are self-contained devices with a dedicated purpose. We come across a variety of fields of applications for embedded systems in industries such as automotive, telecommunications,...
Fast Circuit Boards: Energy Management
An essential guide to modern circuit board design based on simple physics and practical applications
The fundamentals taught in circuit theory were never intended to work above a few megahertz, let alone at a gigahertz. While electronics is grounded in physics, most engineers’ education in this area is too general and mathematical to be easily applied to the problem of high speed circuits. Left to their own devices, many engineers produce layouts that require expensive revisions in order...
Reusable Firmware Development: A Practical Approach to APIs, HALs and Drivers
Gain the knowledge and skills necessary to improve your embedded software and benefit from author Jacob Beningo’s more than 15 years developing reusable and portable software for resource-constrained microcontroller-based systems. You will explore APIs, HALs, and driver development among other topics to acquire a solid foundation for improving your own software. Reusable Firmware Development: A Practical Approach to APIs, HALs and Drivers not only explains critical concepts, but also...
Atmel ARM Programming for Embedded Systems (Mazidi & Naimi ARM Series) (Volume 5)
Why Atmel ARM? The AVR is the most popular 8-bit microcontroller designed and marketed by the Atmel (now part of Microchip). Due to the popularity of ARM architecture, many semiconductor design companies are adopting the ARM as the CPU of choice in all their designs. This is the case with Atmel ARM. The Atmel SAM D is a Cortex M0+ chip. A major feature of the Atmel SAM D is its lower power consumption which makes it an ideal microcontroller for use in designing low power devices with IoT. It...
The AVR Microcontroller and Embedded Systems Using Assembly and C: Using Arduino Uno and Atmel Studio
The AVR microcontroller from Atmel (now Microchip) is one of the most widely used 8-bit microcontrollers. Arduino Uno is based on AVR microcontroller. It is inexpensive and widely available around the world. This book combines the two. In this book, the authors use a step-by-step and systematic approach to show the programming of the AVR chip. Examples in both Assembly language and C show how to program many of the AVR features, such as timers, serial communication, ADC, SPI, I2C, and PWM....
Embedded Systems Fundamentals with ARM Cortex-M based Microcontrollers: A Practical Approach
Microcontrollers are embedded into larger systems to provide benefits such as better performance, more features, better efficiency, lower costs and better dependability. This textbook introduces students to creating microcontroller-based embedded systems featuring an ARM Cortex-M CPU core.
Chapter 1 introduces students to the concepts of MCU-based embedded systems, and how they differ from general-purpose computers. It then introduces the ARM Cortex-M0+ CPU, the Kinetis KL25Z MCU, and the low...
Hands-On Machine Learning with Scikit-Learn and TensorFlow: Concepts, Tools, and Techniques to Build Intelligent Systems
Graphics in this book are printed in black and white.
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 TensorFlow—author Aurélien Géron helps...
Embedded Systems with ARM Cortex-M Microcontrollers in Assembly Language and C: Third Edition
The book introduces basic programming of ARM Cortex-M cores in assembly and C at the register level, and the fundamentals of embedded system design. It presents basic concepts such as data representations (integer, fixed-point, floating-point), assembly instructions, stack, and implementing basic controls and functions of C language at the assembly level. It covers advanced topics such as interrupts, mixing C and assembly, direct memory access (DMA), system timers (SysTick), multi-tasking,...