Download The Self-Taught Programmer: The Definitive Guide to Programming Professionally PDF

TitleThe Self-Taught Programmer: The Definitive Guide to Programming Professionally
File Size40.1 MB
Total Pages278
Table of Contents
                            amazon
The Self-taught Programmer
____________________________
Cory Althoff
Part I Introduction to Programming
	Chapter 1. Introduction
		How This Book Is Structured
		Endgame First
		The Self-taught Advantage
		Why You Should Program
		Sticking With It
		How This Book is Formatted
		Technologies Used In This Book
		Vocabulary
		Challenge
	Chapter 2. Getting Started
		What is Programming
		What is Python
		Installing Python
		Troubleshooting
		The Interactive Shell
		Saving Programs
		Running Example Programs
		Vocabulary
		Challenge
		Examples
		Comments
		Printing
		Lines
		Keywords
		Spacing
		Data Types
		Constants and Variables
		Syntax
		Errors and Exceptions
		Arithmetic Operators
		Comparison Operators
		Logical Operators
		Conditional Statements
		Statements
		Vocabulary
		Challenge
	Chapter 4. Functions
		Representing Concepts
		Defining Functions
		Parameters
		Passing Parameters
		pass
		Nested Functions
		Scope
		Built-in Functions
		Exception Handling
		Docstrings
		Challenge
	Chapter 5. Containers
		Lists
		Tuples
		Dictionaries
		Challenge
	Chapter 6. String Manipulation
		Triple Strings
		Indexes
		Strings are Immutable
		Methods
		Change Case
		format
		split
		join
		replace
		index
		in
		Escaping Strings
		Newline
		Concatenation
		String Multiplication
	Chapter 7. Loops
		For Loops
		While Loops
		Break
		Continue
		Nested Loops
		Challenge
	Chapter 8. Modules
		Importing Built-in Modules
		Importing Modules
		Challenge
	Chapter 9. Files
		Working With Files
		Using with
		Reading Files
		CSV Files
		Challenge
	Chapter 10. Bringing It All Together
		Hangman
		Challenge
	Chapter 11. Practice
		Exercises
		Read
		Getting Help
		Other Resources
Part II Introduction to Object-oriented Programming
	Chapter 12. Programming Paradigms
		State
		Imperative Programming
		Functional Programming
		Object-oriented Programming
		Challenge
	Chapter 13.  The Four Pillars of Object-oriented Programming
		Inheritance
		Polymorphism
		Abstraction
		Encapsulation
		Composition
		Challenge
	Chapter 14. More Object-oriented Programming
		How Variables Work
		is
		None
		Classes Are Objects
		Class Variables vs. Instance Variables
		Private variables
		Overriding Methods
		Super
		Overriding Built-in Methods
		Challenge
	Chapter 15. Bringing It All Together
		Cards
		Deck
		Player
		Game
		War
	Chapter 16. Practice
		Exercises
		Read
Part III Introduction to Programming Tools
	Chapter 17. Bash
		Finding Bash
		Relative vs Absolute Paths
		Navigating
		Flags
		vim
		Touch
		View A File With less
		Users
		Permissions
		Bash Programs
		Processes
		Hidden Files
		Environmental Variables
		$PATH
		pipes
		cat
		Recent Commands
		Jump Around
		Tab Complete
		Wildcard
		Other Tools
		The One Week Challenge
	Chapter 18. Regular Expressions
		Setup
		Simple Match
		Ignore Case
		Only Return Matched
		Match Beginning and End
		Match Multiple Characters
		Repetition
		Range
		Escaping
		Regular Expressions in Python
		Zen Challenge
	Chapter 19. Package Managers
		Packages
		Apt-get
		Homebrew
		OneGet
		pip
		Challenge
	Chapter 20. Version Control
		Repositories
		Getting Started
		Pushing and Pulling
		Pushing Example
		Pulling Example
		Reverting Versions
		diff
		The Other Pull Request
		Learning More
		Challenge
	Chapter 21. SQLite
		NoSQL vs. SQL
		Getting Started
		Data Types
		Create a Table
		Constraints
		Query Data
		or Query
		and Query
		Count
		Communicating with Databases
		Challenge
	Chapter 22. Bringing It All Together
		HTML
		Scrape Google News
		Challenge
	Chapter 23. Practice
		Exercises
		Read
Part IV Introduction to Computer Science
	Data Structures & Algorithms
		What Are Algorithms & Data Structures?
		Big O Notation
		Modulo
		Bubble Sort
		Sequential Search
		Binary Search
		Recursion
		Abstract Data Types
		Nodes
		Stacks
		Linked Lists
		Arrays
		Binary Trees
		Breadth First & Depth First Search
		Hash Tables
		Challenge
	Chapter X. Relational Database Design
		Normalization
		Referential Integrity
		Indexing
		Challenge
	Chapter X. Computer Architecture
		How Your Computer Works
			I/O
		How Programming Languages Work
		How Your Operating System Works
		Challenge
	Chapter X. Network Programming
		Client-Server Model
		TCP/IP
		Challenge
	Chapter #TK. Bringing It All Together
		Create a Server
		Create a Client
		Challenge
	Chapter #TK. Practice
		Exercises
		Read
Part V Programming for Production
	Chapter #TK. Testing
		The Waterfall Software Development Process
		Other Software Development Processes
		Testing
		Assertions
		Types of Tests
		TDD
		Writing Good Tests
		Code Coverage
		Testing Saves Time
		Challenge
	Chapter  #TK. Best Programming Practices
		Write Code As A Last Resort
		DRY
		Orthogonality
		Every Piece Of Data Should Have One Representation
		Functions Should Do One Thing
		Use Dummy Data
		If It’s Taking Too Long You Are Probably Making a Mistake
		Logging
		Do Things The Best Way The First Time
		Follow Conventions
		Code Reviews
		Security
		Challenge
	Chapter #TK. Bringing It All Together
		Word Cloud Lyrics
	Practice
		Exercises
		Read
Part VI Land a Job
	Chapter X. Your First Programming Job
		Choose a Path
		Getting Initial Experience
		Getting an Interview
		The Interview
		Hacking The Interview
	Chapter X. Working on a Team
		Master the Basics
		Don’t Ask What You Can Google
		Changing Code
		Imposter Syndrome
	Further Learning
		The Classics
		Online Classes
		Hacker News
		Other
	Next Steps
		Find a Mentor
		Strive to Go Deep
		Other Advice
	Acknowledgements
	Glossary
	Biography
                        

Similer Documents