Giter Club home page Giter Club logo

pythondatastructures's Introduction

Exploring Data Structures in Python

About

This repo is the skeleton for an exploratory, TDD-based course on Data Structures using Python. The series is based on Dave Astels' DBC Deep Dives, and adapted for implementation in, and of, the Python language.

I've done a bit of asking around, and attempted to adopt most commonly followed practices in the world of python testing. Tests are written using the built in unittest framework and run using nose. A few naming conventions might look different, because I've framed them around what I think is the best way to teach the material through TDD (and a bit of BDD).

Using this Repo

Dependencies

Here's a detailed breakdown is the software you'll need in order to work through these exercises:

  • You'll need git, for cloning the repo:
    • First, double check to see if you already have it: git --version
    • If you don't, visit this website for instructions.
  • Make sure you have python installed, and check the version: this repo uses 2.x
    • python --version will check the version you're using
    • if you're using python 3.x, and you don't already have a tool like pyenv installed, go ahead and install it. After it's installed, check out the docs for which commands will set up your environment.
  • install nose: pip install nose

Getting started

  • First, clone the repo: git clone [email protected]:celeen/PythonDataStructures.git
  • Then choose the Data Structure you're exploring- take, for example, Lists.
    • cd into the tests directory, and run nosetests list_tests.py
      • run nosetests -v list_tests.py for verbose output
    • confirm it runs, and that everything passes
    • Find the related file in the main package, and delete its contents.
    • run the tests again; confirm they run and that nothing passes.

Happy Coding!

Feedback

Any feedback is welcome in the form of PRs, issues, or emails. This is a work in progress.

pythondatastructures's People

Contributors

celeen avatar

Watchers

James Cloos avatar Lorena Mesa avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.