Forum:Python Programming (Suggestions are needed)
4
0
Entering edit mode
8.2 years ago

Hi,

I am python learner. I am using different blogs and tutorials to learn python. in fact, my PhD supervisor has asked me to learn python as my work would be init, involving machine learning, natural language processing and data mining to deal with pubmed data. I am feeling difficulty in learning python. can anyone suggest me better to get good skills in python.

Regards

python • 3.9k views
ADD COMMENT
3
Entering edit mode

Python is very easy to learn if you already have experience with another programming language. Maybe your problem is learning how to program. In that case you should join a programming course at your university.

ADD REPLY
0
Entering edit mode

Spot on. If you are not familiar with programming, blogs, tutorials or cookbooks are not a good start point. Apart from taking lessons, another way is to buy a good book that systematically teaches you the basic principles of programming along with python. I don't know what would be a good book, though, as my first programming language is not python.

ADD REPLY
1
Entering edit mode

Have a look at "Learn Python The Hard Way". Really useful and good introduction to Python programming.

ADD REPLY
1
Entering edit mode

I always think it is funny how people - in this case your supervisor - think that this is supposed to work. You have no programming experience and yet he is talking about machine learning, language processing and data mining? I mean, it just surprises me. On each of these topics you could read multiple books, get deep into mathematics and research on your own, yet it is expected that you learn about it on the side - while learning programming and working on your phd which involves a lot of other stuff than programming first. Sounds funny. I hope for you that he means 'using existing packages' rather than really get into these topics - and still: I feel like people think of this as too easy. Use a couple of packages and than you are good. But are you, if you don't understand the background of it all?

And this is not to blame you my friend - you can not get into everything.

ADD REPLY
2
Entering edit mode
8.2 years ago
James Ashmore ★ 3.4k

Give the 'Python for Biologists' books a try - they are well explained and really cleanly written, the examples also focus on biological examples.

ADD COMMENT
0
Entering edit mode

This is should be the starting place for anyone who wants to learn python for bioinformatics.... it's a great resource.

ADD REPLY
2
Entering edit mode
8.2 years ago
John 13k

It totally depends on how you learn. Some people like to learn from books, some from YouTube videos, and others by doing.
Personally I had to learn by doing. There was no other way to get my brain to remember the names of all the built-in functions unless it was by necessity. Why is it 'string'.split('r') but 'r'.join(['st','ing'])? etc. It also took me about 6-8 years to learn programming, so i wouldn't say I was a fast learner by any means...

However, I do know a few fast learners - my Physicist friends from the near-by Uni tell me they started learning C++ during their PhD, and by the end they are all submitting really high-quality code thats is currently being used in the ATLAS project. Totally blown away by how fast they learned, I studied them for about a year and found that they have two big secrets:

1) They learned intensively. The first year is spent almost solely learning to program in all sorts of languages (ROOT, Mathematica, C++, Python) in daily workshops. Totally immersed in it, and when they are not learning, they are studying code from other people back in their office.

2) They know nothing about "program development" in the wider sense. They just know the stuff thats specific to their physics problems. I had to explain to one graduate (who recently landed a 100k job in Switzerland) what floating point arithmetic is and how it can lead to inaccuracies. His explanation - it had never come up (until now). Being highly specialized can save you a lot of time, because most python books will have a section on Twisted/django, or something server-client. There's also a big temptation for yourself (if you like learning) to wander into areas totally unrelated to Bioinformatics but still Python. Stay lean and focused, at least while you feel behind at work.

I wish I could give you more concrete advice like, define 100 functions, 100 loops, and 100 iterators a day, every day - but sadly all I have this wishy washy "work hard and stay focused" stuff. But hopefully it helps somewhat.

ADD COMMENT
1
Entering edit mode

The hard part of programming is data structure – how to logically organize complex objects and their relations into proper classes/structs/containers. Numerical programming usually does not use complex data structures. Vectors, matrices and basic control flows are often adequate. They are arguably taking on easier tasks. That said, physicists and mathematicians are trained to abstract complex stuffs. This helps programming.

ADD REPLY
1
Entering edit mode
8.2 years ago
Parham ★ 1.6k

http://www.codecademy.com has a very good interactive python course and other languages.

ADD COMMENT
1
Entering edit mode
8.2 years ago

There is a very nice course available on coursera which is more that enough to give you a head start:

Here is the link: https://www.coursera.org/learn/python-data

And here is the syllabus:

Week 1

Chapter Six: Strings

  1. Welcome
  2. Materials
  3. Lecture materials
  4. Review: Chapter 6
  5. Assignment: Chapter 6
  6. Bonus: Chapter 6
  7. Additional materials

Quizzes/Assignments:

  1. Quiz: Chapter 6 Quiz
  2. Assignment 6.5

Week 2

Unit: Installing and Using Python

  1. Installing Python - Overview
  2. Recommended: Install Python - Windows 8
  3. Recommended: Using Python - Macintosh
  4. Recommended: Using Python - Linux / Raspberry Pi
  5. Recommended: Optional Assignment

Week 3

Chapter Seven: Files

  1. Lecture Materials
  2. Review: Chapter 7
  3. Assignment: Chapter 7
  4. Bonus: Chapter 7

Quizzes/Assignments:

  1. Quiz: Chapter 7 Quiz
  2. Assignment 7.1
  3. Assignment 7.2

Week 4

Chapter Eight: Lists

  1. Lecture Materials
  2. Review: Chapter 8
  3. Assignment: Chapter 8
  4. Bonus: Chapter 8

Quizzes/Assignments:

  1. Quiz: Chapter 8 Quiz
  2. Assignment 8.4
  3. Assignment 8.5

Week 5

Chapter Nine: Dictionaries

  1. Lecture Materials
  2. Review: Chapter 9
  3. Assignment: Chapter 9
  4. Bonus: Chapter 9

Quizzes/Assignments:

  1. Quiz: Chapter 9 Quiz
  2. Assignment 9.4

Week 6

Chapter Ten: Tuples

  1. Lecture Materials
  2. Review: Chapter 10
  3. Assignment: Chapter 10
  4. Bonus: Chapter 10

Quizzes/Assignments:

  1. Quiz: Chapter 10 Quiz
  2. Assignment 10.2
ADD COMMENT

Login before adding your answer.

Traffic: 2673 users visited in the last hour
Help About
FAQ
Access RSS
API
Stats

Use of this site constitutes acceptance of our User Agreement and Privacy Policy.

Powered by the version 2.3.6