/LambdaSchool-CS-Resource

A basic, centralized resource list for Lambda School students going into CS

Apache License 2.0Apache-2.0

🤖 Lambda_School_CS_Resource

This is an UNOFFICIAL basic resource list for Lambda School students going into CS. It's broken up according the what should be done by the first day. After that it's broken up according to what materials are covered by which week. Reading Resources are recommended to read when you have time to help supplement.

If you are a student coming from DS, PLEASE review proper Gitflow documented here.

This is not a complete list. In CS you will be responsible for Googling anything the instructors do not cover in class.

Lambda School's Complete CS Wiki:

https://github.com/LambdaSchool/CS-Wiki/wiki

Git Intro (for DS students) always fork ➡️ clone ➡️ create a new branch

https://learn.lambdaschool.com/web1/module/rect59e95N6OSvoCd
This is very important for DS students to learn the proper Gitflow
You should always:

  • Create YOUR OWN version of Repo —> (Fork)
  • Add your TL as a collaborator on GitHub
    • Settings -> Collaborators -> Add Collaborator (use your TL’s handle)
  • Clone YOUR Repo
    • back on your machine:
      git clone < your-repo-address >  
    
  • Create a branch (the one you are going to be working on)
    • cd < repo directory >
     git checkout -b 'firstname-lastname'
    
  • Push your new branch up to GitHub and make all future pushes to that branch
    git push origin firstname-lastname
    
  • On GitHub:
    • Compare & Pull Request -> Base: YOUR MASTER (Not the Lambda Master)
      compare fork: YOUR FORK
  • Add your TL as a reviewer on the Pull Request
    • On the ‘Open a Pull Request‘ page click on Reviewers.

What to have done/installed by Monday:

Install python 3 and pipenv (pipenv is the python way of NPM installing- it creates a virtual environment so you can have different versions of python and other things running on different projects) HEADS UP: Windows Python installation can be on the more difficult side https://github.com/LambdaSchool/CS-Wiki/wiki/Installing-Python-3-and-pipenv

Review Day 1 of Intro to Python (This can take a few hours to go through the material for Monday’s lecture)
https://learn.lambdaschool.com/cs/module/recay2erzDlYUPSeO

Fork and clone Intro to Python (This is a two day project)
https://github.com/LambdaSchool/Intro-Python-I

U.P.E.R. Problem solving framework (THIS IS A MUST READ)
https://github.com/LambdaSchool/CS-Wiki/wiki/Lambda-Problem-Solving-Framework

Essential UPER Questions (pdf)
UPER Questions

Lambda School Python/Javascript Cheatsheet
https://github.com/LambdaSchool/CS-Wiki/wiki/Javascript-Python-cheatsheet

Recommended Data Structure Reading/Visualizations Before Week 2:

Problem Solving with Algorithms and Data Structures
https://www.cs.auckland.ac.nz/compsci105s1c/resources/ProblemSolvingwithAlgorithmsandDataStructures.pdf

Data Structures and Algorithms Using Python
http://home.ustc.edu.cn/~huang83/ds/Data%20Structures%20and%20Algorithms%20Using%20Python.pdf

Data Structure Visualizations
https://www.cs.usfca.edu/~galles/visualization/Algorithms.html

Python Tutor Visualization
http://www.pythontutor.com/visualize.html#mode=edit

Computing Big-O notation
https://github.com/LambdaSchool/CS-Wiki/wiki/Computing-Big-O

Big O Notation
https://rob-bell.net/2009/06/a-beginners-guide-to-big-o-notation/

Big O Cheatsheet
https://www.bigocheatsheet.com/

Iteration vs Recursion
https://medium.com/backticks-tildes/iteration-vs-recursion-c2017a483890

Factorial Using Recursion
https://www.youtube.com/watch?v=GazC3A4OQTE

Understanding Time Complexity
https://www.geeksforgeeks.org/understanding-time-complexity-simple-examples/?ref=lbp

Breadth First Search
https://www.youtube.com/watch?v=s-CYnVz-uh4&t=7s

Depth First Search
https://www.youtube.com/watch?v=AfSk24UTFS8&t=497s

Dijkstra's Algorithm
https://www.youtube.com/watch?v=GazC3A4OQTE

Recommended Algorithm Reading/Visualizations Before Week 3:

Grokking Algorithms
https://github.com/RbkGh/Free-Algorithm-Books/blob/master/book/Grokking%20Algorithms%20-%20An%20illustrated%20guide%20for%20programmers%20and%20other%20curious%20people.pdf

Sorting Visualization
https://visualgo.net/bn/sorting?slide=1

Optional Computer Architecture Reading Before Unit 2:

Code: The Hidden Language of Computer Hardware and Software (for Computer Architecture)
https://bobcarp.files.wordpress.com/2014/07/code-charles-petzold.pdf

Other Reading Resources:

Python Writing Gotchas
https://docs.python-guide.org/writing/gotchas/

How to ask question
https://zellwk.com/blog/asking-questions/

Lambda School Optional CS Reading list
https://github.com/LambdaSchool/CS-Wiki/wiki/Computer-Science-Reading-List

Pipenv Docs
https://pipenv-fork.readthedocs.io/en/latest/index.html

Python PEP8 style guide
https://www.python.org/dev/peps/pep-0008/

Cracking the Code Interview
http://ahmed-badawy.com/blog/wp-content/uploads/2018/10/Cracking-the-Coding-Interview-6th-Edition-189-Programming-Questions-and-Solutions.pdf

Automate the Boring Stuff
https://1.droppdf.com/files/5iHzx/automate-the-boring-stuff-with-python-2015-.pdf

Extra Learning Resources:

Composing Programs - A free online introduction to programming and computer science.
http://composingprograms.com/

Composing Programs Intructor for the course above has the lectures here
https://www.youtube.com/c/JohnDeNero/playlists

Kaggle
https://www.kaggle.com/learn/overview

Net Ninja- Intro to Python (Youtube)
https://www.youtube.com/playlist?list=PL4cUxeGkcC9idu6GZ8EU_5B6WpKTdYZbK

Colt Steele's Data Structures and Algos Masterclass (I haven’t used it but wait for it to go on sale)
https://www.udemy.com/course/js-algorithms-and-data-structures-masterclass/

If you have other recommendations, please feel free to submit a PR to add to this list