Python WorkoutThe only way to master a skill is to practice. In Python Workout, author Reuven M. Lerner guides you through 50 carefully selected exercises that invite you to flex your programming muscles. As you take on each new challenge, you'll build programming skill and confidence. The thorough explanations help you lock in what you've learned and apply it to your own projects. Along the way, Python Workout provides over four hours of video instruction walking you through the solutions to each exercise and dozens of additional exercises for you to try on your own.
To become a champion Python programmer you need to work out, building mental muscle with your hands on the keyboard. Each carefully selected exercise in this unique book adds to your Python prowess - one important skill at a time.
Python Workout presents 50 exercises that focus on key Python 3 features. In it, expert Python coach Reuven Lerner guides you through a series of small projects, practicing the skills you need to tackle ...
PC Assembly LanguageThis book has extensive coverage of interfacing assembly and C code and so might be of interest to C programmers who want to learn about how C works under the hood. All the examples use the free NASM (Netwide) assembler. The tutorial only covers programming under 32-bit protected mode and requires a 32-bit protected mode compiler. It is possible to use the book and examples on a 64-bit OS; however, the programs will be running in 32-bit mode and cannot use any 64-bit functionality. ...
JavaScript RegExpThe book heavily leans on examples to present features of regular expressions one by one. It is recommended that you manually type each example and experiment with them.
You should have a good understanding of basic-level programming concepts and prior experience working with JavaScript. Should also know functional programming concepts like map and filter. ...
Introduction to Data ScienceThe demand for skilled data science practitioners in industry, academia, and government is rapidly growing. This book introduces concepts and skills that can help you tackle real-world data analysis challenges. It covers concepts from probability, statistical inference, linear regression and machine learning. It also helps you develop skills such as R programming, data wrangling with dplyr, data visualization with ggplot2, algorithm building with caret, file organization with UNIX/Linux shell, version control with Git and GitHub, and reproducible document preparation with knitr and R markdown. The book is divided into six parts: R, Data Visualization, Data Wrangling, Probability, Inference and Regression with R, Machine Learning, and Productivity Tools. Each part has several chapters meant to be presented as one lecture. The book includes dozens of exercises distributed across most chapters. ...
Coding in the ClassroomComputer science opens more doors for today's youth than any other discipline - which is why Coding in the Classroom is your key to unlocking students' future potential. Author Ryan Somma untangles the current state of CS education standards; describes the cognitive, academic, and professional benefits of learning CS; and provides numerous strategies to promote computational thinking and get kids coding!
Whether you're a teacher, an after-school coach, or a parent seeking accessible ways to boost your kid's computer savvy, Coding in the Classroom is here to help. With quick-start programming strategies, scaffolded exercises for every grade level, and ideas for designing CS events that promote student achievement, this book is a rock-solid roadmap to CS integration from a wide variety of on-ramps.
You'll learn: tips and resources for teaching programming concepts via in-class activities and games, without a computer; development environments that make coding and sharing web apps a ...
Write Great Code: Volume 1, 2nd EditionThis, the first volume in Randall Hyde's Write Great Code series, dives into machine organization without the extra overhead of learning assembly language programming. Written for high-level language programmers, Understanding the Machine fills in the low-level details of machine organization that are often left out of computer science and engineering courses.
Learn: How the machine represents numbers, strings, and high-level data structures, so you'll know the inherent cost of using them; How to organize your data, so the machine can access it efficiently; How the CPU operates, so you can write code that works the way the machine does; How I/O devices operate, so you can maximize your application's performance when accessing those devices; How to best use the memory hierarchy to produce the fastest possible programs.
Great code is efficient code. But before you can write truly efficient code, you must understand how computer systems execute programs and how abstractions in prog ...
Write Great Code: Volume 2, 2nd EditionToday's programming languages offer productivity and portability, but also make it easy to write sloppy code that isn't optimized for a compiler. Thinking Low-Level, Writing High-Level will teach you to craft source code that results in good machine code once it's run through a compiler.
You'll learn: How to analyze the output of a compiler to verify that your code generates good machine code; The types of machine code statements that compilers generate for common control structures, so you can choose the best statements when writing HLL code; Enough assembly language to read compiler output; How compilers convert various constant and variable objects into machine data.
With an understanding of how compilers work, you'll be able to write source code that they can translate into elegant machine code. ...
Write Great Code: Volume 3The field of software engineering may value team productivity over individual growth, but legendary computer scientist Randall Hyde wants to make promising programmers into masters of their craft. To that end, Engineering Software - the latest volume in Hyde's highly regarded Write Great Code series - offers his signature in-depth coverage of everything from development methodologies and strategic productivity to object-oriented design requirements and system documentation.
You'll learn: Why following the software craftsmanship model can lead you to do your best work; How to utilize traceability to enforce consistency within your documentation; The steps for creating your own UML requirements with use-case analysis; How to leverage the IEEE documentation standards to create better software.
This advanced apprenticeship in the skills, attitudes, and ethics of quality software development reveals the right way to apply engineering principles to programming. Hyde will teach you the ...
Ruby RegexpScripting and automation tasks often need to extract particular portions of text from input data or modify them from one format to another.
This book will help you learn Ruby Regular Expressions, a mini-programming language for all sorts of text processing needs.
The book heavily leans on examples to present features of regular expressions one by one. It is recommended that you manually type each example and experiment with them.
You should have prior experience working with Ruby, should know concepts like blocks, string formats, string methods, Enumerable, etc. ...
Operating Systems: From 0 to 1This book helps you gain the foundational knowledge required to write an operating system from scratch. Hence the title, 0 to 1.
After completing this book, at the very least you will learn: How to write an operating system from scratch by reading hardware datasheets. In the real world, it works like that. You won't be able to consult Google for a quick answer. A big picture of how each layer of a computer is related to the other, from hardware to software. Write code independently. It's pointless to copy and paste code. Real learning happens when you solve problems on your own. Some examples are given to kick start, but most problems are yours to conquer. However, the solutions are available online for you to examine after giving it a good try. Linux as a development environment and how to use common tools for low-level programming. x86 assembly in-depth. How a program is structured so that an operating system can run. How to debug a program running directly on hardware with gdb an ...