Main Commitment: I will read books about Python at least 30 minutes per day for the next 100 days.

Start Date: 2018-01-12

## Rules

1. I will read books about Python at least 30 minutes every day.
2. I will tweet my progress every day, with the hashtag #100DaysOfReading #100DaysOfX #python #DataScience and note which day of the challenge I’m on.
3. I will track my progress here and push to GitHub.
4. I will only skip a day if something important comes up. And when I resume, I won’t count the day I skipped as one of my 100 days.
5. I will encourage and support at least two people each day in the #100DaysOfReading challenge on Twitter. I can read at most 5 tweets about #100DaysOfReading each day. Less is more. Don’t spend more than enough time on the social networking website.

3 Options

• Like tweets
• (optional) Looking at their projects and giving them feedback (no more than 10 minutes per day)

• Don’t skip two days in a row, and try not to skip more than 1 day in 2 weeks.

## Motivations

I had read some programming books in the past. At that time, I input the knowledge into Anki and hoped that I could remember it in the future.

My goal of reading books changes. I made some big tables and input syntax of all programming languages into the tables. There are some other programming languages in it, such as Python and JavaScript.

I will not memorize any syntax anymore. Every time I want to use something, the tables are the first place to check. Besides, it is convenient to compare different languages.

It is tough to memorize syntax if multiple programming languages are used in the same period.

For example, all languages have boolean, the most basic variable type. There are two values, true or false.

• Python: True, False
• R: TRUE, FALSE
• JavaScript: true, false

You can get it. There are 3 ways to present boolean. My brain is reluctant to memorize which language uses which method.

Other examples:

• How to define a function?
• Whether variables should be declared before usage?
• Whether variables types should be written when we create variables
• Whether there is a keyword to declare a variable?
• and more

If you can memorize details of all programming languages you have learned, you are genius in my eyes.

## LOG

### Day 1: 2018-01-12 Friday

Today’s Progress (achievements and frustrations):

• Finished Chapter 1 + exercise

Thoughts and Emotions

It is more pleasant to read Python books than R books. Because Python books follow the structure of most other programming languages, such as Java, C, and C++. The benefit is that I can read more quickly than R books.

Tomorrow’s plan

### Day 2: 2018-01-14 Sunday

Today’s Progress (achievements and frustrations):

• Finished Chapter 2 + exercise

Thoughts and Emotions

I used 30 minutes to scan Chapter 2.

Tomorrow’s plan

### Day 3: 2018-01-16 Tuesday

Today’s Progress (achievements and frustrations):

• Finished Chapter 3 + exercise

Thoughts and Emotions

Reading can be finished within 30 minutes. There are more needed for exercise.

Tomorrow’s plan

### Day 4: 2018-01-17 Wednesday

Today’s Progress (achievements and frustrations):

• Part of Chapter 4
• At night, I finished Chapter 4

Thoughts and Emotions

Chapter 4 teaches lists. It slows me down.

Lists, tuples, and sets are 3 Python data types which can contain multiple values. The concept will be confusing every time I do not use it for a while.

Also, different languages have similar data types like these. Each language has different functions/properties to achieve same basic operations.

For example: concatenate two lists

• Python

• R

• JavaScript

After one day, can you remember which language uses which syntax?

Tomorrow’s plan

### Day 5: 2018-03-15 Thursday

Today’s Progress (achievements and frustrations):

page 12 - 15

Thoughts and Emotions

Different type of books shows a different list of freqent functions.

Applying 80-20 rules to python means functions used in the book Problem Solving with Algorithms and Data Structures Using Python are more frequently used?

Tomorrow’s plan

• Chapter 1