+ List of resources for Algorithms and Data Structures in Python & other CS topics @2017
I was inspired by @googleasheck - Coding Interview University to create my own list of resources ![](https://camo.githubusercontent.com/87558b4cf7fe6021da363a12b70165155cec6b125d35654958242ac2dbf7484c/68747470733a2f2f7331312e706f7374696d672e6f72672f347865376b6f6b78662f737461722e706e6767)
![](https://camo.githubusercontent.com/87558b4cf7fe6021da363a12b70165155cec6b125d35654958242ac2dbf7484c/68747470733a2f2f7331312e706f7374696d672e6f72672f347865376b6f6b78662f737461722e706e6767)
![](https://camo.githubusercontent.com/87558b4cf7fe6021da363a12b70165155cec6b125d35654958242ac2dbf7484c/68747470733a2f2f7331312e706f7374696d672e6f72672f347865376b6f6b78662f737461722e706e6767)
![](https://camo.githubusercontent.com/87558b4cf7fe6021da363a12b70165155cec6b125d35654958242ac2dbf7484c/68747470733a2f2f7331312e706f7374696d672e6f72672f347865376b6f6b78662f737461722e706e6767)
![](https://camo.githubusercontent.com/87558b4cf7fe6021da363a12b70165155cec6b125d35654958242ac2dbf7484c/68747470733a2f2f7331312e706f7374696d672e6f72672f347865376b6f6b78662f737461722e706e6767)
Note: These are the books and resources I used in my learning journey. The ratings below are based on my opinion.
Note: Every topic links to a list of questions range from easy to medium taken from LeetCode, HackerRank and Cracking the Coding Interview
- Big O Notation
- Arrays
- Linked List
- Stacks and Queues
- Hash Tables
- Recusrion
- Trees
- Graphs
- Sorting
- Backtracking:
- Dynamic Programming
Rules to solve problems by John Sonmez Improving Your Coding Problem Solving Skills ![](https://camo.githubusercontent.com/87558b4cf7fe6021da363a12b70165155cec6b125d35654958242ac2dbf7484c/68747470733a2f2f7331312e706f7374696d672e6f72672f347865376b6f6b78662f737461722e706e6767)
![](https://camo.githubusercontent.com/87558b4cf7fe6021da363a12b70165155cec6b125d35654958242ac2dbf7484c/68747470733a2f2f7331312e706f7374696d672e6f72672f347865376b6f6b78662f737461722e706e6767)
![](https://camo.githubusercontent.com/87558b4cf7fe6021da363a12b70165155cec6b125d35654958242ac2dbf7484c/68747470733a2f2f7331312e706f7374696d672e6f72672f347865376b6f6b78662f737461722e706e6767)
![](https://camo.githubusercontent.com/87558b4cf7fe6021da363a12b70165155cec6b125d35654958242ac2dbf7484c/68747470733a2f2f7331312e706f7374696d672e6f72672f347865376b6f6b78662f737461722e706e6767)
![](https://camo.githubusercontent.com/87558b4cf7fe6021da363a12b70165155cec6b125d35654958242ac2dbf7484c/68747470733a2f2f7331312e706f7374696d672e6f72672f347865376b6f6b78662f737461722e706e6767)
Rule #1 Understand the problem
Rule #2 Solve the problem Manually
Rule #3 Write the steps in Pseudo-code
Rule #4 Trasnlate the Pseudo-code into actual
Rule #5 Test the program with small input __ Rule #6 Test the program with large input
Rule #7 Break the program by inserting invalid inputs to get edge cases
-
Grokking Algorithm Python
-
Problem Solving with Algorithms and Data Structures using Python
-
Free Code Camp :
JavaScript
-
Think Like a Programmer: An Introduction to Creative Problem Solving
-
Automate the Boring Stuff with Python: Practical Programming for Total Beginners
-
The Linux Command Line: A Complete Introduction
-
HackerRank -- Algorithms and Date Structures by Gayle Laakmann McDowell
-
Ace Your Coding Interview & Land Your Dream Programming Job by Brian Jordan
-
A list of 370 Free Online Programming & Computer Science Courses by freeCodeCamp -- >
Five stars for compiling a huge list of FREE courses
-
The Self-Taught Programmer: The Definitive Guide to Programming Professionally
-
NMap 101 byHAK5 --> Basic Level
-
Netcat by HAK5 -->Basic Level
-
Wireshark by HAK5 -->Basic Level
-
Python Network Programming - Part 2: Multivendor Environment
-
Operating System Concepts 8th Edition by Abraham Silberschatz
-
Introduction on Operating Systems by Udacity Georgia Tech -- >Basic Level
-
Volume I : The Complete Cyber Security Course by Nathan House
-
Volume II: The Complete Cyber Security Course by Nathan House --> Intermediate Level
-
Volume III: The Complete Cyber Security Course by Nathan House --> Intermediate Level
-
Volume IV: The Complete Cyber Security Course by Nathan House
-
System Security: Basic to advance level course by infySEC UK (5 starts for the delivery of the concepts) --> Basic Level
-
Malware and Security course by infySEC UK (5 starts for the delivery of the concepts) --> Intermediate Level
-
Cybersecurity Fundamentals by University of Marlyand (Coursera)
-
Frozenrelic great resources
- Let’s Build A Simple Interpreter by Ruslan Blog Simple Python Interpreter
This section for articles and videos that provided me with a great advice in how to prepare well for interviews.
-
How to Break Into the Tech Industry—a Guide to Job Hunting and Tech Interviews by Hasseeb Qureshi
-
How to Crack The Coding Interview With Practicing Only 30 Questions
-
I've been struggling with Cracking the Coding problems. How do I get better at these problems?
-
Applying to Google: How to Ace the Engineering and Technical Interview
-
Ask Me Anything: Gayle Laakmann McDowell (author of Cracking the Coding Interview)
-
How can I prepare for a tough coding interview in one week? - Quora
-
How I landed a top-tier tech internship by doing something I love
-
Improving Your Coding Problem Solving Skills Basic Rules to approach Coding Problems
-
Import Python - A collection of Python books from novice to expert
-
Complete Python BootCamp by Jose Portilla :
-
Web Development BootCamp by Colt Steele (Udemy online Course)
-
The Compelete Web Developer Course- Build 14 website v1.0 by Rob Percival
-
The Complete BootStrap: Master Class Course Build 4 projects by Joe Parys
-
PacktPub.com ---- offers a great collection of e-books in IT, Computer Science and Secruity
-
Computer Science Videos by Tutorial Points __Algorithm, DS, OS __
-
IT PRO TV --> Technical Skills
-
Timothy de Block Infosec Podcast