Skip to content

Commit ea22c09

Browse files
committed
Added setup
1 parent 0cd7203 commit ea22c09

File tree

2 files changed

+76
-0
lines changed

2 files changed

+76
-0
lines changed

Notes/00_Setup.md

+75
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
1+
# Course Setup and Overview
2+
3+
Welcome to Practical Python Programming!
4+
5+
## Setup and Python Installation
6+
7+
You need nothing more than a basic Python 3.6 installation or newer.
8+
There is no dependency on any particular operating system, editor,
9+
IDE, or extra Python-related tooling. There are no third-party
10+
dependencies.
11+
12+
That said, most of this course involves learning how to write scripts
13+
and small programs that involve data read from files. Therefore, you
14+
need to make sure you're in an environment where you can easily work
15+
with files. This includes using an editor to create Python programs
16+
and being able to run those programs from the shell/terminal.
17+
18+
You might be inclined to work on this course using a more interactive
19+
environment such as Jupyter Notebooks. **I DO NOT ADVISE THIS!**
20+
Although notebooks are great for experimentation, many of the
21+
exercises in this course teach concepts related to program
22+
organization. This includes working with functions, modules, import
23+
statements, and refactoring of programs whose source code spans
24+
multiple files. In my experience, it is hard to replicate this kind
25+
of working environment in notebooks.
26+
27+
## Forking/Cloning the Course Repository
28+
29+
To prepare your environment for the course, I recommend creating your
30+
own fork of the course GitHub repo at
31+
[https://github.com/dabeaz-course/practical-python](https://github.com/dabeaz-course/practical-python).
32+
Once you are done, you can clone it to your local machine:
33+
34+
```
35+
bash % git clone https://github.com/yourname/practical-python
36+
bash % cd practical-python
37+
bash %
38+
```
39+
40+
Do all of your work within the `practical-python/` directory. If you
41+
commit your solution code back to your fork of the repository, it will
42+
keep all of your code together in one place and you'll have a nice
43+
historical record of your work when you're done.
44+
45+
If you don't want to create a personal fork or don't have a GitHub account,
46+
you can still clone the course directory to your machine:
47+
48+
```
49+
bash % git clone https://github.com/dabeaz-course/practical-python
50+
bash % cd practical-python
51+
bash %
52+
```
53+
54+
With this option, you just won't be able to commit code changes except
55+
to the local copy on your machine.
56+
57+
## File Layout
58+
59+
Do all of your coding work in the `Work/` directory. Within that directory,
60+
there is a `Data/` directory. The `Data/` directory contains a variety of
61+
datafiles and other scripts used during the course. You will frequently have
62+
to access files in `Data/`. Course exercises are written with the assumption
63+
that you are creating programs in the `Work/` directory.
64+
65+
## Solutions
66+
67+
The `Solutions/` directory contains full solution code to selected exercises.
68+
Feel free to look at this if you need a hint.
69+
70+
71+
72+
73+
74+
75+

Notes/Contents.md

+1
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ Python 3.6 or newer and time--especially the latter.
3333

3434
## Table of Contents
3535

36+
* [0. Course Setup (READ FIRST!)](00_Setup)
3637
* [1. Introduction to Python](01_Introduction/00_Overview)
3738
* [2. Working with Data](02_Working_with_data/00_Overview)
3839
* [3. Program Organization](03_Program_organization/00_Overview)

0 commit comments

Comments
 (0)