Added setup
This commit is contained in:
75
Notes/00_Setup.md
Normal file
75
Notes/00_Setup.md
Normal file
@@ -0,0 +1,75 @@
|
|||||||
|
# Course Setup and Overview
|
||||||
|
|
||||||
|
Welcome to Practical Python Programming!
|
||||||
|
|
||||||
|
## Setup and Python Installation
|
||||||
|
|
||||||
|
You need nothing more than a basic Python 3.6 installation or newer.
|
||||||
|
There is no dependency on any particular operating system, editor,
|
||||||
|
IDE, or extra Python-related tooling. There are no third-party
|
||||||
|
dependencies.
|
||||||
|
|
||||||
|
That said, most of this course involves learning how to write scripts
|
||||||
|
and small programs that involve data read from files. Therefore, you
|
||||||
|
need to make sure you're in an environment where you can easily work
|
||||||
|
with files. This includes using an editor to create Python programs
|
||||||
|
and being able to run those programs from the shell/terminal.
|
||||||
|
|
||||||
|
You might be inclined to work on this course using a more interactive
|
||||||
|
environment such as Jupyter Notebooks. **I DO NOT ADVISE THIS!**
|
||||||
|
Although notebooks are great for experimentation, many of the
|
||||||
|
exercises in this course teach concepts related to program
|
||||||
|
organization. This includes working with functions, modules, import
|
||||||
|
statements, and refactoring of programs whose source code spans
|
||||||
|
multiple files. In my experience, it is hard to replicate this kind
|
||||||
|
of working environment in notebooks.
|
||||||
|
|
||||||
|
## Forking/Cloning the Course Repository
|
||||||
|
|
||||||
|
To prepare your environment for the course, I recommend creating your
|
||||||
|
own fork of the course GitHub repo at
|
||||||
|
[https://github.com/dabeaz-course/practical-python](https://github.com/dabeaz-course/practical-python).
|
||||||
|
Once you are done, you can clone it to your local machine:
|
||||||
|
|
||||||
|
```
|
||||||
|
bash % git clone https://github.com/yourname/practical-python
|
||||||
|
bash % cd practical-python
|
||||||
|
bash %
|
||||||
|
```
|
||||||
|
|
||||||
|
Do all of your work within the `practical-python/` directory. If you
|
||||||
|
commit your solution code back to your fork of the repository, it will
|
||||||
|
keep all of your code together in one place and you'll have a nice
|
||||||
|
historical record of your work when you're done.
|
||||||
|
|
||||||
|
If you don't want to create a personal fork or don't have a GitHub account,
|
||||||
|
you can still clone the course directory to your machine:
|
||||||
|
|
||||||
|
```
|
||||||
|
bash % git clone https://github.com/dabeaz-course/practical-python
|
||||||
|
bash % cd practical-python
|
||||||
|
bash %
|
||||||
|
```
|
||||||
|
|
||||||
|
With this option, you just won't be able to commit code changes except
|
||||||
|
to the local copy on your machine.
|
||||||
|
|
||||||
|
## File Layout
|
||||||
|
|
||||||
|
Do all of your coding work in the `Work/` directory. Within that directory,
|
||||||
|
there is a `Data/` directory. The `Data/` directory contains a variety of
|
||||||
|
datafiles and other scripts used during the course. You will frequently have
|
||||||
|
to access files in `Data/`. Course exercises are written with the assumption
|
||||||
|
that you are creating programs in the `Work/` directory.
|
||||||
|
|
||||||
|
## Solutions
|
||||||
|
|
||||||
|
The `Solutions/` directory contains full solution code to selected exercises.
|
||||||
|
Feel free to look at this if you need a hint.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
@@ -33,6 +33,7 @@ Python 3.6 or newer and time--especially the latter.
|
|||||||
|
|
||||||
## Table of Contents
|
## Table of Contents
|
||||||
|
|
||||||
|
* [0. Course Setup (READ FIRST!)](00_Setup)
|
||||||
* [1. Introduction to Python](01_Introduction/00_Overview)
|
* [1. Introduction to Python](01_Introduction/00_Overview)
|
||||||
* [2. Working with Data](02_Working_with_data/00_Overview)
|
* [2. Working with Data](02_Working_with_data/00_Overview)
|
||||||
* [3. Program Organization](03_Program_organization/00_Overview)
|
* [3. Program Organization](03_Program_organization/00_Overview)
|
||||||
|
|||||||
Reference in New Issue
Block a user