My Account Log in

1 option

The self-taught computer scientist : the beginner's guide to data structures and algorithms / Cory Althoff.

O'Reilly Online Learning: Academic/Public Library Edition Available online

View online
Format:
Book
Author/Creator:
Althoff, Cory, author.
Language:
English
Subjects (All):
Computer science--Vocational guidance.
Computer science.
Computer science--Study and teaching.
Data structures (Computer science).
Algorithms.
Computer science--Programmed instruction.
Electronic data processing--Study and teaching.
Electronic data processing.
Physical Description:
1 online resource (xxii, 201 pages) : illustrations
Place of Publication:
Hoboken, New Jersey : Wiley, [2022]
Summary:
Get a head start in a rapidly growing industry with help from a Silicon Valley insider. Computer science is one of the fastest growing industries in the world and shows no signs of slowing down. In The Self-Taught Computer Scientist: The Beginner's Guide to Computer Science, expert programmer and author Cory Althoff shows you the hands-on exercises, stories, and examples, you need to help you become a successful computer scientist. You'll discover how to: Understand computer science fundamentals, including how memory and compilers work, how the TCP/IP stack works, and how to pass a technical job interview; Use data structures and algorithms, both of which are essential to a successful programming career; Write your first programs in Python, an easy-to-use programming language ideal for beginners. Perfect for self-taught programmers everywhere, The Self-Taught Computer Scientist will help you get up to speed and ready for a job in computer science whether you're brand new to coding or you've already learned a language or two.
Contents:
Cover
Title Page
Copyright Page
About the Author
About the Technical Editor
Acknowledgments
Contents at a Glance
Contents
Introduction
What You Will Learn
Who Is This Book For?
Self-Taught Success Stories
Matt Munson
Tianni Myers
Getting Started
Installing Python
Troubleshooting
Challenges
Sticking with It
Part I Introduction to Algorithms
Chapter 1 What Is an Algorithm?
Analyzing Algorithms
Constant Time
Logarithmic Time
Linear Time
Log-Linear Time
Quadratic Time
Cubic Time
Exponential Time
Best-Case vs. Worst-Case Complexity
Space Complexity
Why Is This Important?
Vocabulary
Challenge
Chapter 2 Recursion
When to Use Recursion
Chapter 3 Search Algorithms
Linear Search
When to Use a Linear Search
Binary Search
When to Use a Binary Search
Searching for Characters
Chapter 4 Sorting Algorithms
Bubble Sort
When to Use Bubble Sort
Insertion Sort
When to Use Insertion Sort
Merge Sort
When to Use Merge Sort
Sorting Algorithms in Python
Chapter 5 String Algorithms
Anagram Detection
Palindrome Detection
Last Digit
Caesar Cipher
Chapter 6 Math
Binary
Bitwise Operators
FizzBuzz
Greatest Common Factor
Euclid's Algorithm
Primes
Chapter 7 Self-Taught Inspiration: Margaret Hamilton
Part II Data Structures
Chapter 8 What Is a Data Structure?
Chapter 9 Arrays
Array Performance
Creating an Array
Moving Zeros
Combining Two Lists
Finding the Duplicates in a List
Finding the Intersection of Two Lists
Chapter 10 Linked Lists
Linked List Performance.
Create a Linked List
Search a Linked List
Removing a Node from a Linked List
Reverse a Linked List
Finding a Linked List Cycle
Chapter 11 Stacks
When to Use Stacks
Creating a Stack
Using Stacks to Reverse Strings
Min Stack
Stacked Parentheses
Chapter 12 Queues
When to Use Queues
Creating a Queue
Python's Built-In Queue Class
Create a Queue Using Two Stacks
Chapter 13 Hash Tables
When to Use Hash Tables
Characters in a String
Two Sum
Chapter 14 Binary Trees
When to Use Trees
Creating a Binary Tree
Breadth-First Tree Traversal
More Tree Traversals
Invert a Binary Tree
Chapter 15 Binary Heaps
When to Use Heaps
Creating a Heap
Connecting Ropes with Minimal Cost
Chapter 16 Graphs
When to Use Graphs
Creating a Graph
Dijkstra's Algorithm
Chapter 17 Self-Taught Inspiration: Elon Musk
Chapter 18 Next Steps
What's Next?
Climbing the Freelance Ladder
How to Get an Interview
How to Prepare for a Technical Interview
Additional Resources
Final Thoughts
Index
EULA.
Notes:
Includes index.
Description based on print version record.
ISBN:
9781119724339
1119724333
9781119724445
1119724449
OCLC:
1273980935

The Penn Libraries is committed to describing library materials using current, accurate, and responsible language. If you discover outdated or inaccurate language, please fill out this feedback form to report it and suggest alternative language.

Find

Home Release notes

My Account

Shelf Request an item Bookmarks Fines and fees Settings

Guides

Using the Find catalog Using Articles+ Using your account