Books | Programming

Python Crash Course is a fast-paced, thorough introduction to Python that will have you writing programs, solving problems, and making things that work in no time.

In the first half of the book, youâll learn about basic programming concepts, such as lists, dictionaries, classes, and loops, and practice writing clean and readable code with exercises for each topic. Youâll also learn how to make your programs interactive and how to test your code safely before adding it to a project. In the second half of the book, youâll put your new knowledge into practice with three substantial projects: a Space Invadersâinspired arcade game, data visualizations with Pythonâs super-handy libraries, and a simple web app you can deploy online.

As you work through Python Crash Course youâll learn how to:âUse powerful Python libraries and tools, including matplotlib, NumPy, and PygalâMake 2D games that respond to keypresses and mouse clicks, and that grow more difficult as the game progressesâWork with data to generate interactive visualizationsâCreate and customize Web apps and deploy them safely onlineâDeal with mistakes and errors so you can solve your own programming problems

If youâve been thinking seriously about digging into programming, Python Crash Course will get you up to speed and have you writing real programs fast. Why wait any longer? Start your engines and code!

I am a self-taught programmer. After a year of self-study, I learned to program well enough to land a job as a software engineer II at eBay. Once I got there, I realized I was severely under-prepared. I was overwhelmed byÂ the amount ofÂ things I needed to know but hadn't learned yet. My journey learning to program, and my experience at my first job as a software engineer were the inspiration for this book.Â

This book is not just about learning to program; although you will learn to code. If you want to program professionally, it is not enough to learn to code; that is why, in addition to helping you learn to program, I also cover the rest of the things you need to know to program professionally that classes and books don't teach you. "The Self-taught Programmer" is a roadmap, a guide to take you from writing your first Python program, to passing your first technical interview. I divided the book into five sections:Â

1. Learn to program in Python 3 and build your first program.Â 2. Learn Object-oriented programming and create a powerful Python program to get you hooked.Â 3. Learn to use tools like Git, Bash, regular expressions and databases. Then use your new coding skills to build a web scraper.Â 4. Study Computer Science fundamentals like data structures and algorithms.5. Finish with tips for working with a team and landing a programming job.Â

You CAN learn to program professionally. The path is there. Will you take it?

The bible of all fundamental algorithms and the work that taught many of todayâs software developers most of what they know about computer programming.

âByte, September 1995

Â

Countless readers have spoken about the profound personal influence of Knuthâs work. Scientists have marveled at the beauty and elegance of his analysis, while ordinary programmers have successfully applied his âcookbookâ solutions to their day-to-day problems. All have admired Knuth for the breadth, clarity, accuracy, and good humor found in his books.

Â

I canât begin to tell you how many pleasurable hours of study and recreation they have afforded me! I have pored over them in cars, restaurants, at work, at homeâ¦ and even at a Little League game when my son wasnât in the line-up.

âCharles Long

Â

Primarily written as a reference, some people have nevertheless found it possible and interesting to read each volume from beginning to end. A programmer in China even compared the experience to reading a poem.

Whatever your background, if you need to do any serious computer programming, you will find your own good reason to make each volume in this series a readily accessible part of your scholarly or professional library.

Â

Itâs always a pleasure when a problem is hard enough that you have to get the Knuths off the shelf. I find that merely opening one has a very useful terrorizing effect on computers.

âJonathan Laventhol

In describing the new fourth volume, one reviewer listed the qualities that distinguish all of Knuthâs work.

[In sum:] detailed coverage of the basics, illustrated with well-chosen examples; occasional forays into more esoteric topics and problems at the frontiers of research; impeccable writing peppered with occasional bits of humor; extensive collections of exercises, all with solutions or helpful hints; a careful attention to history; implementations of many of the algorithms in his classic step-by-step form.

âFrank Ruskey

These four books comprise what easily could be the most important set of information on any serious programmerâs bookshelf.

What do flashlights, the British invasion, black cats, and seesaws have to do with computers? In CODE, they show us the ingenious ways we manipulate language and invent new means of communicating with each other. And through CODE, we see how this ingenuity and our very human compulsion to communicate have driven the technological innovations of the past two centuries. Using everyday objects and familiar language systems such as Braille and Morse code, author Charles Petzold weaves an illuminating narrative for anyone whoâs ever wondered about the secret inner life of computers and other smart machines. Itâs a cleverly illustrated and eminently comprehensible storyâand along the way, youâll discover youâve gained a real context for understanding todayâs world of PCs, digital media, and the Internet. No matter what your level of technical savvy, CODE will charm youâand perhaps even awaken the technophile within.

When it comes to game programming, C++ is the name of the game. If you aspire to move from game player to game creator, it all starts with learning the fundamentals of C++ and game-programming basics. With BEGINNING C++ THROUGH GAME PROGRAMMING, FOURTH EDITION, you will find an up-to-date and thorough introduction to everything you need to get started--with no previous programming experience required. In the new fourth edition of this popular guide to learning C++, you will work with a complete program while learning each new concept and a game program at the end of each chapter. A final game project at the end of the book draws together everything you've learned. Written with the beginning programmer in mind, BEGINNING C++ THROUGH GAME PROGRAMMING, FOURTH EDITION is a great way to get started in game programming.

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.

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 impressive feats of automation to:âSearch for text in a file or across multiple filesâCreate, update, move, and rename files and foldersâSearch the Web and download online contentâUpdate and format data in Excel spreadsheets of any sizeâSplit, merge, watermark, and encrypt PDFsâSend reminder emails and text notificationsâFill out online forms

Step-by-step instructions walk you through each program, and practice projects at the end of each chapter challenge you to improve those programs and use your newfound skills to automate similar tasks.

Donât spend your time doing work a well-trained monkey could do. Even if youâve never written a line of code, you can make your computer do the grunt work. Learn how in Automate the Boring Stuff with Python.

So you want to be a programmer? Or maybe you just want to be ableto make your computer do what YOU want for a change? Maybe youenjoy the challenge of identifying a problem and solving it. Ifprogramming intrigues you for whatever reason, BeginningProgramming All-In-One Desk Reference For Dummies is likehaving a starter programming library all in one handy, if beefy,book.

In this practical guide, youâll find out about compiling,algorithms, best practices, debugging your programs, and much more.The concepts are illustrated in several different programminglanguages, so youâll get a feel for the variety of languagesand the needs they fill. Seven minibooks cover:

Even bad code can function. But if code isnât clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesnât have to be that way.

Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship. Martin 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 a 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 Code is 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

This book is a must for any developer, software engineer, project manager, team lead, or systems analyst with an interest in producing better code.

Early in his software developer career, John Sonmez discovered that technical knowledge alone isn't enough to break through to the next income level - developers need "soft skills" like the ability to learn new technologies just in time, communicate clearly with management and consulting clients, negotiate a fair hourly rate, and unite teammates and coworkers in working toward a common goal.

As John invested in these skills his career took off, and he became a highly paid, highly sought-after developer and consultant.

Today John helps more than 1.4 million programmers every year to increase their income by developing this unique blend of skills.

"If you're a developer, green or a veteran, you owe it to yourself to read The Complete Software Developers Career Guide." - Jason Down, Platform Developer, Ontario, Canada

What You Will Learn in This Book

How to systematically find and fill the gaps in your technical knowledge so you can face any new challenge with confidence

Should you take contract work - or hold out for a salaried position? Which will earn you more, what the tradeoffs are, and how your personality should sway your choice

Should you learn JavaScript, C#, Python, C++? How to decide which programming language you should master first

Ever notice how every job ever posted requires "3-5 years of experience," which you don't have? Simple solution for this frustrating chicken-and-egg problem that allows you to build legitimate job experience while you learn to code

Is earning a computer science degree a necessity - or a total waste of time? How to get a college degree with maximum credibility and minimum debt

Coding bootcampssome are great, some are complete scams. How to tell the difference so you don't find yourself cheated out of $10,000

Interviewer tells you, "Dress code is casual around here - the development team wears flipflops." What should you wear?

How do you deal with a boss who's a micromanager. Plus how helping your manager with his goals can make you the MVP of your team

The technical skills that every professional developer must have - but no one teaches you (most developers are missing some critical pieces, they don't teach this stuff in college, you're expected to just "know" this)

An inside look at the recruiting industry. What that "friendly" recruiter really wants from you, how they get paid, and how to avoid getting pigeonholed into a job you'll hate

Who Should Read This Book

Entry-Level Developers

This book will show you how to ensure you have the technical skills your future boss is looking for, create a resume that leaps off a hiring manager's desk, and escape the "no work experience" trap.

Mid-Career Developers

You'll see how to find and fill in gaps in your technical knowledge, position yourself as the one team member your boss can't live without, and turn those dreaded annual reviews into chance to make an iron-clad case for your salary bump.

Senior Developers

This book will show you how to become a specialist who can command above-market wages, how building a name for yourself can make opportunities come to you, and how to decide whether consulting or entrepreneurship are paths you should pursue.

Brand New Developers

In this book you'll discover what it's like to be a professional software developer, how to go from "I know some code" to possessing the skills to work on a development team, how to speed along your learning by avoiding common beginner traps, and how to decide whether you should invest in a programming degree or "bootcamp."

Manage research, learning and skills at IT1me. Create an account using LinkedIn to manage and organize your IT knowledge. IT1me works like a shopping cart for information -- helping you to save, discuss and share.

Manage research, learning and skills at IT1me. Create an account using LinkedIn to manage and organize your IT knowledge. IT1me works like a shopping cart for information -- helping you to save, discuss and share.