Học python trong bao lâu

Theo mọi người mất bao lâu để master đc 1 ngôn ngữ [ vd Java , Python ,.. ] . Với thời lượng học 4 tiếng / ngày

Ngôn ngữ Python có vẻ đang hot trong cộng đồng lập trình Việt Nam những năm gần đây với những cú pháp linh hoạt và nhiều công cụ tiện ích. Nhiều người vẫn nghĩ Python là ngôn ngữ mới là sai, thật ra Python được phát triển từ năm 1985-1990, có nghĩa là tuổi đời Python còn lớn hơn cả Java - trong khi đó Java đã góp mặt ở Việt Nam từ những thế hệ lập trình viên 8x - đầu 9x, thì Python lại mới làm quen ở Việt Nam những năm gần đây.

Kteam sẽ đưa ra lộ trình trở thành lập trình viên Python theo nhiều lĩnh vực khác nhau. Tuy nhiên điểm xuất phát của các bạn là cần phải học về lập trình cơ bảnhướng đối tượng của Python. Kteam sẽ nói về lộ trình học chuyên sâu hơn.

Nội dung

Trong bài viết này, chúng ta sẽ bàn về những lộ trình sau của Python:

  • Làm ứng dụng cho máy tính
  • Trở thành Web Developer
  • Lập trình nhúng/IOT
  • Làm game

Làm ứng dụng cho máy tính

Đây là con đường cơ bản nhất trong lập trình viên, việc tạo những ứng dụng có giao diện đồ họa đã giúp con người tiếp cận với máy tính hơn bao giờ hết. Nói về tạo GUI trong Python, Kteam khuyến khích các bạn dùng 1 trong 2 thư viện là Tkinter PyQT.

Đầu tiên là Tkinter, đây là thư viện được tích hợp sẵn trong Python 3, khi các bạn Cài đặt Python 3 đầy đủ thì có thể sử dụng ngay. Đây là thư viện được tạo ra ứng dụng nhanh và đơn giản, việc học không quá phức tạp. Vì vậy Tkinter ít khi sử dụng làm những ứng dụng quản lý lớn, hay được sử dụng làm giao diện cho các thiết bị điều khiển.

Còn về PyQT, đây không phải là thư viện mà là 1 Framework hỗ trợ khá đầy đủ. QT lúc đầu là của C++ để làm GUI, PyQT chính là QT được lập trình bằng Python. PyQT hỗ trợ khá đầy đủ, ngoài tạo ứng dụng thì có thể cho tự thiết kế hình dạng cửa sổ, có thư viện để kết nối cơ sở dữ liệu và có tool design.

Trở thành Web Developer

Python ở Việt Nam thường dùng cho lập trình back-end web. Có rất nhiều bạn muốn học Python theo con đường này nên Kteam sẽ nói rõ hơn!

Việc học web cần phải con đường vững chắc. Trước tiên bạn phải học Html, Css và Javascript - đây là 3 ngôn ngữ bắt buộc để làm web dù bạn có thích hay không. Khi nắm chắc cơ bản được 3 dạng này bạn có thể học Python Web - tất nhiên đây là con đường của Back-end Developer, còn các bạn muốn trở thành Front-end thì phải theo lộ trình của Javascript. Hoặc muốn trở thành Full-stack Developer thì phải theo luôn 2 lộ trình này.

Có rất nhiều Framework để lập trình Python web, thì có 2 cái phổ biến hiện này là Flask Django.

Flask là microframework, là framework thực hiện từ những việc cơ bản nhất trở lên. Bạn sẽ phải quyết định project Web của bạn như thế nào, chia bố cục ra sao, theo mô hình gì... Đây sẽ framework khá hay cho những bạn không muốn ràng buộc quá nhiều về thư viện, tự sáng tạo cách của mình - tất nhiên bạn phải biết cách chọn hướng đi tốt nhất để giải quyết, không phải mình thích là mình làm.

Khá ngược Flask, Django là Framework lớn hỗ trợ cho ta nhiều hơn, nhưng đồng thời ràng buộc những gì ta thực hiện. Django khá "đóng" hơn, bắt chúng ta phải làm theo kiểu "cách Django", Django quyết định mô hình thiết kế [mô hình MVC], cung cấp database interface theo dạng ORM [nói đơn giản là định nghĩa table sang kiểu hướng đối tượng] nên việc tương tác database bằng ngôn ngữ Python [vừa là ưu điểm và nhược điểm], quy định cấu trúc đặt file trong project...

Django hỗ trợ cho ta đầy đủ, nên việc tạo các trang web lớn sẽ giúp ta thực hiện nhanh hơn nhiều. Tất nhiên việc tạo các trang Web là do năng lực các bạn - framework là công cụ hỗ trợ, không phải quyết định kết quả của bạn. Bạn có thể chọn Framework theo sở thích của bạn, nếu còn phân vân thì ta học cả 2 luôn là biết mình thích cái nào.

Sau khi học xong 2 framework này, các bạn cũng nên học về Restful Framework của mỗi cái đó. Vì sao ta phải học nó, khi chúng ta làm các web lớn sẽ có những trường hợp cần tương tác với giữa các trang web với nhau, vì web được tạo ra từ nhiều Framework khác nhau [Asp.net, Node.js, ...] nên cần phải có một chuẩn mực chung để các trang web tương tác với nhau có thể hiểu - Đó là là REST. Khi các bạn học đến đây thì sẽ hiểu tầm quan trọng vì sao cần Restful Framework

Lập trình nhúng/IOT

Python ứng dụng rất nhiều lĩnh vực và trong đó có lập trình nhúng, tuy hiện số lượng board có hỗ trợ ngôn ngữ Python cũng hạn chế. Kteam sẽ cố gắng giới thiệu một số thư viện để các bạn có thể học lập trình nhúng Python. Vì Kteam không phải dân gốc bên điện tử - nên chỉ xin phép giới thiệu qua [nếu bạn hiểu rõ hơn! hãy đóng góp ý kiến trong phần BÌNH LUẬN bên dưới để mọi người có thể cùng tham khảo!]

Đầu tiên là thư viện MicroPython, đây là thư viện mã nguồn mở giúp ta nhanh thao tác nhanh các thiết bị nhúng như là Pyboard, Esp8266...việc phát triển lập trình nhúng cho Python sẽ trở nên dễ dàng hơn cho những ai tay ngang muốn đi theo con đường này.

Tiếp theo là Zerynth, đây là Framework hỗ trở chính cho các dòng ESP8266, SAMD21, STM32... Zerynth hỗ trở khá đầy đủ như có tính năng cho đa tiến trình, có IDE chạy đa nền tảng hỗ trở nhiều tính năng như có bài viết hướng dẫn, clone github hay hình ảnh mô tả board đang lập trình...Ngoài ra Zerynth còn hỗ trợ clouds, app, api để phát triển một project chuyên nghiệp. Zerynth có hai bản là Free và Pro, các bạn có thể chọn phiên bản miễn phí để có thể sử dụng.

Ngoài các board Pyboard, Esp8266 thì Raspberry cũng có thư viện Python để giao tiếp. Raspberry là một máy tính nhúng nên bạn có thể cài hệ điều hành vào mạch này - thường là hệ điều hành Raspbian. Để dùng Python giao tiếp với Raspberry, ta sẽ dùng 2 thư viện GPIO Zero và RPi.GPIO.

Làm game

Làm game là sở thích của nhiều bạn, có thể nó nhiều bạn muốn theo con đường công nghệ thông tin cũng từ sở thích này. Chúng ra hãy cùng tìm hiểu những thư viện Python hỗ trợ làm game

Đầu tiên là Pygame [được xây dựng từ thư viện SDL] , đây là thư viện low-level bắt buộc các bạn phải xây dựng game từ những từ cơ bản nhất, việc học Pygame là ưu tiên để cho các bạn muốn làm game chuyên sâu từ Python. Pygame có hỗ trợ phát triển trên Android, nếu muốn phát triển trên IOS cần phải thêm thư viện Kivy của Python vào. Sau khi nghiên cứu Pygame, các bạn nên tìm hiểu PyOpenGL để phát triển game 3D.

Tiếp theo là Pyglet, là một framework chạy đa nền tảng lớn hỗ trợ cho multimedia, hỗ trợ khá mạnh để phát triển đồ họa 3D, hỗ trở phát video-âm thanh, xử lý bàn phím-chuột... Pyglet thường dùng phát triển các dạng game lớn, và là 1 trong những framework được lập trình viên Python yêu thích.

Kết luận

Như vậy, Kteam đã giói thiệu cho bạn những lộ trình để trở thành lập trình viên Python, hy vọng bài giới thiệu sẽ giúp cho các bạn có thể định hình được con đường cho bản thân.Chúc bạn có thể thành công với quyết định của mình. 

Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của mình để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.

Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.

Kinh nghiệm từ một sinh viên Kinh tế với 0% kinh nghiệm lập trình theo đuổi sự nghiệp Data Scientist.

Thành thật mà nói, học một ngôn ngữ mới chẳng phải việc dễ dàng gì. Đối với những người chưa từng có kinh nghiệm trong lĩnh vực máy tính và lập trình, học một ngôn ngữ lập trình như Python có lẽ là một nhiệm vụ bất khả thi. Tuy nhiên, sẽ chẳng có gì không thể nếu bạn nghĩ chúng có thể. Vậy  chọn ngôn ngữ nào để bắt đầu sự nghiệp khoa học dữ liệu của mình?

Bài viết này sẽ chia sẻ với các bạn một số tips học lập trình của mình, đặc biệt là với ngôn ngữ lập trình phổ biến nhất năm 2020: Python.

1. Luôn có Mục Tiêu trong đầu

Học mà không có mục tiêu là một trong những lỗi tệ nhất mà một người có thể gặp phải. Không có một mục tiêu nhất định, bạn sẽ dễ dàng quên mất lý do tại sao bạn lại học ngôn ngữ ngay này và đi sai hướng. Trước đây tôi đã từng phân vân học C++ hay Java, sau đó quyết định học C++. Nhưng vấn đề là tôi chỉ học vì nghĩ mình cần phải học một ngôn ngữ lập trình gì đó chứ hoàn toàn không viết mình sẽ học nó để làm gì. Hồi đó bạn tôi khuyên rằng C++ sẽ giúp tôi "tư duy tốt hơn", điều đó chẳng sai nhưng học với một niềm tin mù mờ như thế đã khiến tôi lãng phí mất kha khá thời gian mà chẳng thu được gì nhiều nhặn.

Tuy nhiên, mọi thứ đã khác khi tôi học Python. Học Python là một phần trong kế hoạch của tôi về kỹ năng khoa học dữ liệu để chuyển sự nghiệp sang phân tích. Do đó, tôi không học Python chỉ vì mục đích học tập. Tôi cần học để có thể  phân tích dữ liệu, hiểu một loạt các thư viện để bắt đầu các dự án... Giờ đây, việc học đã không còn mông lung nữa.

Đặt đúng mục tiêu ban đầu là bạn đã hoàn thành công việc một nửa. Tìm một ứng dụng cho ngôn ngữ bạn đang học và bạn sẽ tiến một bước gần hơn để thành thạo nó.

2. Tìm các nguồn tài liệu học đa dạng

Ngoài các giáo trình chính thống, bạn có thể tìm kiếm rất nhiều tài liệu và khóa học miễn phí hoặc chi phí thấp từ khắp nơi trên thế giới thông qua Internet.

Để học online cho người mới bắt đầu và rèn luyện mỗi ngày, Khóa Python cơ bản trên Codelearn là một sự lựa chọn khá phù hợp. Khóa học sẽ cung cấp cho bạn những kiến thức căn bản nhất về Python và cách sử dụng chúng bằng lối mô tả, dẫn dắt và giải thích khá dễ hiểu. Kho tài liệu 1000 bài tập cũng là một môi trường tốt để bạn luyện tập mỗi ngày.

Bạn cần tận dụng nhiều nguồn tài nguyên sẵn có để nâng cao trải nghiệm học tập của mình, chọn lọc kiến thức và không ngừng cập nhật những thứ mới mẻ nhất. Có một số nguồn hữu ích  khác mà tôi muốn chia sẻ với các bạn dưới đây. Nó sẽ đòi hỏi 1 khả năng tiếng Anh nhất định nhưng không quá khó khăn, và hoàn toàn có thể làm quen nếu bạn chăm chỉ học một chút:

Udemy

Python Bootcamp và Python cho Khoa học Dữ liệu bao gồm những kiến thức cơ bản về lập trình Python và các thư viện cần thiết cho khoa học dữ liệu. Các khóa học này ở dạng bài giảng video và ghi chép Jupyter dưới dạng bài tập.

Interactive Coding Environment

Datacamp và Dataquest là những nền tảng tuyệt vời để code khi học về khoa học dữ liệu. Chúng cung cấp một môi trường tương tác để bạn thực hành, khiến các khái niệm trở nên dễ hiểu hơn. Đối với Python nói chung, bạn có thể tham khảo learnpython.org để có những kiến thức tương tự. Đối với một ngôn ngữ lập trình tương tự như ngôn ngữ tự nhiên, thực hành và thực hành chính là cách học tốt nhất.

edX

Tư duy tính toán bằng Python của MITx là khóa học tôi đã từng đề cập trong bài viết này: //codelearn.io/blog/view/9-khoa-hoc-lap-trinh-mien-phi-hang-dau-the-gioi

Đây là một khóa học khác dành cho người mới bắt đầu, nhằm vào những người muốn bắt đầu và thử nghiệm các lĩnh vực của lập trình nhưng không biết bắt đầu từ đâu.

Khoảng thời gian cần thiết để hoàn thành chương trình này ước tính khoảng 5 tháng, cam kết 14-16 giờ mỗi tuần, cho thấy chương trình này có nội dung chặt chẽ hơn.

Tổng quan về chương trình không yêu cầu kinh nghiệm trước đó của người học về khoa học máy tính và các chủ đề liên quan để bắt đầu. Điều này có nghĩa là bạn sẽ học các khái niệm quan trọng tạo nên nền tảng của tư duy tính toán.

Blogs

Có rất nhiều các Blog chia sẻ về cách học, tài liệu học lập trình nói chung và Python [đặc biệt là khoa học dữ liệu] nói riêng. Một trong những blog bạn nên tham khảo là Self Learn Data Science, nơi họ chủ động đưa ra những nội dung giúp người mới bắt đầu bắt đầu trong hành trình học khoa học dữ liệu. SLDS cũng trình bày các thông tin một cách rõ ràng và súc tích, cung cấp các đánh giá và đề xuất một cách khách quan. Những blog khác có uy tín hơn bao gồm Data Science Central hoặc KDnuggets. Ở Việt Nam, bạn có thể tìm đọc blog của Codelearn [Chính là trang web bạn đang đọc đây], hoặc 1 số trang chia sẻ kinh nghiệm của các LTV khác như Tôi đi code dạo [mặc dù anh này không phải chuyên về Khoa học dữ liệu nhưng cũng có những kiến thức khá hay ho về lập tình].

3. Tham gia vào dự án thực tế

Bạn sẽ không biết bạn học được bao nhiêu, có thể làm những gì trừ khi bạn áp dụng những điều bạn đã học. Làm dự án là một cách tuyệt vời để đánh giá kiến ​​thức của bạn và chắc chắn là một điểm cộng cực lớn cho hồ sơ xin việc. Làm việc trong một dự án mà bạn quan tâm và bạn có thể học được nhiều hơn là trải qua các khóa học. Ứng dụng thực tế luôn là cách tiếp cận tốt nhất để học một kỹ năng kỹ thuật.

Ví dụ, bản thân tôi làm việc dịch tài liệu Khóa học Machine Learning từ MatLab sang Python code. Tôi đã dành cả tháng để code mỗi ngày, google và tìm hiểu. Và việc này đã khiến tôi thành thạo Python hơn rất nhiều, thay vì chỉ cần mẫn đọc sách, học và giải bài tập thông thường.

4. Tận dụng GitHub

Có một hồ sơ GitHub là điều bắt buộc nếu bạn có kế hoạch tiến vào lĩnh vực công nghệ. Bạn có thể tìm thấy những source code hữu ích cho tất cả các loại ứng dụng mà bạn muốn xây dựng và thậm chí đóng góp cho các dự án thú vị.

Vậy GitHub có liên quan gì đến việc học Python? Câu trả lời là gần như liên quan đến tất cả mọi thứ. Các lập trình viên học hỏi từ việc sao chép code và GitHub chính là một kho code tuyệt vời nhất. Có một số cách bạn có thể học Python từ GitHub:

  • Sao chép code từ người khác để sử dụng trong ứng dụng của bạn [nhưng đừng quên đọc - hiểu và học hỏi từ những đoạn code đó]
  • Phát triển code của riêng bạn cho người khác và nhận phản hồi [và tranh luận với họ nếu cần]
  • Đóng góp cho các dự án hiện có [luôn tham khảo và đặt câu hỏi tại sao]

Kết

Trên đây là một số những kinh nghiệm để đi từ con số 0 trên con đường theo đuổi ngành Data Science của mình, hi vọng sẽ giúp các bạn được phần nào đó. Chẳng bao giờ là quá muộn hay không thể theo đuổi một điều gì đó các bạn khát khao. Chúc các bạn học tốt!

Video liên quan

Chủ Đề