Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Updated README.md #175

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
40 changes: 20 additions & 20 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
# Python Homework
# Python Homework--
Python homework for Introduction to Computer (計算機概論), Fall 2018

## Introduction
## Introduction--

In this homework, you will learn some basic techniques for Python, Git and CI/CD.


## Task 0: Environment Setup
## Task 0: Environment Setup--

### OS
### OS--

If you are using Linux, perfect! Please ignore this part.

Expand All @@ -29,7 +29,7 @@ It is the most convinient way as you could use both Linux terminal and Windows a

For 2 and 3, use `<ctrl>+<alt>+T` to open the terminal after booting your Linux.

### GitHub
### GitHub--

1. Please create a GitHub account.

Expand All @@ -45,7 +45,7 @@ For 2 and 3, use `<ctrl>+<alt>+T` to open the terminal after booting your Linux.
```


### Miniconda
### Miniconda--

_"Package, dependency and environment management for any language—Python, R, Ruby, Lua, Scala, Java, JavaScript, C/ C++, FORTRAN"_ -- https://conda.io/docs/

Expand Down Expand Up @@ -87,7 +87,7 @@ Miniconda is a light-weighted version of Conda. Installing Miniconda for Python3
You need to fix them later to get the points of Flake8.


### Others (optional)
### Others (optional)--

The following tools would **significantly** improve your coding efficiency if you learn how to use it. Please at least give [oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh) a try.
* Install [oh-my-zsh](https://github.com/robbyrussell/oh-my-zsh). OMZ is a wonderful command line configuration. It includes auto-completion, alias, beautiful display and many more utilities.
Expand Down Expand Up @@ -119,7 +119,7 @@ Please copy `src/students/sample_code.py` to `src/students/<your student ID>.py`
### Task 8: Modules


## Repository Structure
## Repository Structure--
```
├── client
│   ├── package.json
Expand Down Expand Up @@ -173,7 +173,7 @@ Please copy `src/students/sample_code.py` to `src/students/<your student ID>.py`

## Grading

### Send a Pull Request (PR) (20%)
### Send a Pull Request (PR) (20%)--

Please send a Pull Request (PR) to the *master* branch.

Expand All @@ -194,7 +194,7 @@ If you are not satisfied with your score, you could send another PR.
However, each following make-up PR would result in *10 points off*.


### Pass the tests for each task (60%)
### Pass the tests for each task (60%)--

* Task 1 (4%, no private data)

Expand All @@ -204,19 +204,19 @@ You could use `python autograder.py -student_id <student ID>` to see if you pass

You will know the score for the private data once the PR is merged.

### Pass the Flake8 checker (10%)
### Pass the Flake8 checker (10%)--

Please use `flake8 src/<student ID>.py` to see if your file has passed the Flake8 checker.

### Write readable code and commit message (10%)
### Write readable code and commit message (10%)--

Please write readable code and commit message.

Some examples:
* [How to Write a Git Commit Message](https://chris.beams.io/posts/git-commit/).
* [zedr/clean-code-python](https://github.com/zedr/clean-code-python)

### Bonus (up to 50%)
### Bonus (up to 50%)--

* Rebase before the Pull Request (10%)

Expand All @@ -228,7 +228,7 @@ Some examples:

* Send a PR and solve a bug in this repository (30%)
## FAQ
### Python Environment
### Python Environment--

1a.(Recommended) If you are using miniconda, please make sure that you have create the environment
By using `conda env create -f environment.yaml`, you can create an environment to meet the need for this homework.
Expand All @@ -237,13 +237,13 @@ To activate your environment:`source activate your_environment_name`
1b.If you have problem or can't install miniconda (e.g. Arm-based linux such as Raspbian),please make sure that Python3 version is 3.6 or later.You could use `python3 -V` to check your Python version. And if you want to install python package, we recommended to create a virtual environment first with `python3 -m venv your_env_name` and activate the environment with
`source ~/envs/your_env_name/bin/activate` then use `pip3 install <package_name>` to install packages.

### Install Packages
### Install Packages--

1. To install Python packages, we recommended to use "conda" to install needed modules.
`conda install <package_name>`
If you have not installed miniconda, you can use `pip`.

### Error messages
### Error messages--

1. To solve `ModuleNotFoundError: No module named 'yaml' `, please make sure you have already install `pyyaml` by using
`conda install pyyaml`
Expand All @@ -262,7 +262,7 @@ SyntaxError: invalid syntax
### Git


#### Clone
#### Clone--

If you want to clone a remote repository (e.g. Github) to local, you can use `git clone`

Expand Down Expand Up @@ -298,7 +298,7 @@ Checking connectivity... done.
```
It will create a directory <repo_name> under your current directory, and you can modify the files now.

#### Commit && Push
#### Commit && Push--

If you want to store current contents of the index, you can use `git commit`
Before making a commit, you *should* add modified files first, using `git add <file_name>`
Expand Down Expand Up @@ -329,7 +329,7 @@ To [email protected]:b07902999/PythonHomework

```

#### Update local and remote repository
#### Update local and remote repository--

Since this repository is frequently updated, you may need to update your repository to latest version but also keep your changes. To do this:

Expand All @@ -354,7 +354,7 @@ After rebase your local git, `git push` may not work since your git tree has cha

To read more: [merging vs rebasing](https://www.atlassian.com/git/tutorials/merging-vs-rebasing).

#### Advanced Operation
#### Advanced Operation--
1. Merge Multiple Commits into One Commit
2. Send PR with only one commit
https://medium.com/@s950449/git-advanced-operation-c1d56ac4d920
Expand Down