Python, Science

Progress Update: Python

I can’t believe it has been three months since I started learning Python!

(Or rather, it’s been three months since I started from scratch with Python Crash Course by Eric Matthes, after giving up on Codeacademy’s Python course for various reasons, which I wrote about here.)

I’m about halfway through PCC so far, nearly done with chapter 6 (about dictionaries). I really enjoy this book, and I’m so glad I came across it in the public library when I did. In this post, I’m going to talk about what I’ve learned from experimenting with different approaches to not just understanding the material, but remembering it.

My initial approach to going through the examples and exercises in this book involved taking notes by hand in a spare composition notebook. I used highlighting and different colored pens to annotate things I wrote down. This sounds incredibly tedious, doesn’t it?

My notes on strings. These notes are thorough, but thoroughly a waste of my time.

It took way too long to do this for even a few pages of material from the book, which meant that I didn’t spend nearly as much time on actual practice. As a result, I got bored quickly, and I found myself opening the book less and less each day.

After realizing this, I tried a different tack: highlighting and jotting things down directly in the book with only one color.

I only highlight key parts of the explanations, and annotate the examples as needed with blue ink pen to facilitate my understanding.

By using this approach, I found that I was able to get through the material in the book more quickly and understand what I was reading (and typing!) without getting bored.

In addition to this, I also decided to put together a document that summarizes the key concepts in the sections of each chapter, so that I can have the information all in one place in a shorter form. I am also including a few examples to illustrate the key concepts in a comprehensive way, so that I can have a few concepts demonstrated in one or two examples instead of several (as in the book).

I have completed chapters 1 through 5 so far, and the document – including a table of contents and an appendix – is 28 pages long. (In the book, chapters 1 through 5 make up 90 pages. Quite a difference!)

The book has 11 chapters of learning material, followed by three projects. My goal is to finish the remaining 6 chapters and then complete one of the three projects (the second one, on data visualization). After this, I’ll go back to Codeacademy, with a stronger knowledge of basic Python, and add supplementary content to my “notes document” as needed.

I also want to go through Learning Python 3 The Hard Way, and see what more I can learn from that. (But that’s in the future, after I finish Codeacademy.)

Ultimately, my reasons for learning Python are essentially three-fold. I want to apply my knowledge of Python to:

  • Data visualization and data analysis (which will be highly useful skills for me to have as a scientist)
  • Software used in data analysis (like R and MatLab, which are used a lot in by laboratories in my university)
  • Making visual novels in a Python-based visual novel engine (Ren’Py, which I wrote about here)

Are you learning a computer language? What kinds of strategies are you using, and what goals do you have for learning? :)

Thanks for reading, stay tuned for more cool things!



4 thoughts on “Progress Update: Python”

  1. well this might be better advice for after you have coded a bit more, but here it is anyway:

    Learn Discrete Mathematics.

    It is the underlying math concepts behind computer programming, and will be invaluable.

    Those problems u can do by hand, and you will find yourself jotting out algorithms in math form.

    Otherwise, for actually coding, its best to just dive in and start programming! run program. rewrite. run another. repeat.

    Liked by 1 person

    1. Thanks for your advice! I haven’t thought of learning discrete mathematics (I only took precalculus and statistics as an undergraduate).

      You’re right; just jumping in and practicing is exactly what I’m going to do! I thought of an idea for a useful (and hopefully simple enough for a beginner) program I can write for something school-related. :)


  2. Is that the library book you are marking? 😂

    I’m learning pythin too.. have fone a combinstion of short classroom course and online learning including codeacademy although I’ve yet to finish that, plus there is a good course on FutureLearn too which I intend to go back and finish. I’ve found the best way to learn however has been in applying what I know (very little) to an actual project at work and picking up things along the way through trial and error and a borrowing from good answers on stackoverflow. I just had a major win today and finished my script but need to read up on list and dictionary comprehension. Are you writing code outside of the exercises in the text book?


    1. Ah, no! It’s not! It’s my own copy of the book that I purchased, after I returned the library book to the library. XD

      Wow, that’s wonderful! Great job! I’ve never heard of FugureLearn before – I’ll check it out!

      Writing code outside of the book exercises is an excellent idea, and something that I should definitely do more of. Python has been on the back burner for me for the past month and a half because I have been busy with other things, but I hope to remedy that soon!

      Liked by 1 person

Have something to add?

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s