Những nét chính về cách để trở thành một lập trình viên

Trở thành lập trình viên là một quá trình tích lũy xây dựng các kỹ năng của bạn qua thời gian, và đó có thể trở thành một công việc thích thú và được đền đáp xứng đáng (về cả trí tuệ, tinh thần và tài chính). Hướng dẫn này không hứa hẹn đem đến cho bạn một phương pháp thần kỳ để trở thành một lập trình viên một cách dễ dàng, và trình tự các bước cũng không quá quan trọng, nhưng bạn sẽ nắm được những nét chính về cách để trở thành một lập trình viên ở một trong những lĩnh vực lập trình hiện đại.

Các bước

Những nét chính về cách để trở thành một lập trình viên
Bước 1:
cái này và cái này) là đủ rồi. Sau đó bạn có thể quay lại bước này sau khi bạn học ngôn ngữ lập trình đầu tiên của mình.
Bước 3:
Học một ngôn ngữ lập trình sơ đẳng (cho trẻ con). Đừng ngượng khi học một ngôn ngữ như vậy chỉ bởi bạn đã quá lớn để gọi là “trẻ con”.
Một ví dụ về các ngôn ngữ lập trình kiểu này là Scratch. Các ngôn ngữ lập trình này có thể giảm được nhiều khó khăn cho bạn trong việc học ngôn ngữ lập trình đầu tiên. Tuy nhiên, bước này chỉ là tùy chọn, bạn cũng có thể thực hiện nó trước bước trước đó.
Bước 4:
Tìm hiểu sơ bộ về các mô hình lập trình thủ tục, lập trình hướng đối tượng, và lập trình hàm.
Bước 5:
Tham gia một khóa học cơ bản về một trong các ngôn ngữ lập trình thủ tục. Cho dù ngôn ngữ bạn chọn sau này là gì, bạn sẽ vẫn cần tới lập trình thủ tục ở một mức nào đó. Ngoài ra, các lập trình viên cho rằng lập trình thủ tục là khởi đầu dễ nhất cho việc nắm bắt ý tưởng về lập trình nói chung.
Bước 6:
Học ít nhất một phương pháp mô hình hóa nâng cao như UML hay ORM.
Bước 7:
Bắt tay viết vài ứng dụng nhỏ kiểu ứng dụng giao tiếp (console application) hay tương tự như vậy. Bạn có thể sử dụng các bài thực hành nho nhỏ trong các cuốn sách về ngôn ngữ lập trình. Để làm điều này, hãy chọn một công cụ để viết các chương trình theo ngôn ngữ lập trình mà bạn định viết.
Bước 8:
Học một khóa nâng cao hơn về ngôn ngữ lập trình bạn chọn. Đảm bảo rằng bạn hiểu rõ các khái niệm sau và có thể áp dụng chúng tương đối dễ dàng trước khi đi tiếp:
  • Nhập vào và xuất ra thông tin cho người dùng của một chương trình.
  • Luồng lô gic và luồng thực thi của các chương trình trong các ngôn ngữ thủ tục.
  • Khai báo, gán và so sánh các biến.
  • Các câu lệnh rẽ nhánh trong lập trình như if..then..else và select/switch..case.
  • Các lệnh lặp như while..do, do..while/until, for..next.
  • Cú pháp ngôn ngữ lập trình của bạn để tạo và gọi các thủ tục và hàm.
  • Các kiểu dữ liệu và thao tác chúng.
  • Các kiểu dữ liệu được người dùng định nghĩa (các bản ghi/cấu trúc/đơn vị) và cách dùng chúng.
  • Nếu ngôn ngữ của bạn hỗ trợ nạp chồng hàm, hãy hiểu rõ nó.
  • Các phương pháp truy cập bộ nhớ của ngôn ngữ bạn chọn (các con trỏ, cách thức đọc nội dung một ô nhớ bất kỳ…)
  • Nếu ngôn ngữ của bạn hỗ trợ nạp chồng toán tử, hãy hiểu rõ nó.
  • Nếu ngôn ngữ của bạn hỗ trợ con trỏ hàm, hãy hiểu rõ nó.
Bước 9:
Áp dụng các kỹ thuật nâng cao mà bạn đã học được.
Mô hình hướng đối tượng.
Bước 10:
Tham gia một khóa học cơ bản về ít nhất là một ngôn ngữ lập trình khác trong mô hình lập trình khác. Bạn nên học một ngôn ngữ lập trình cho mỗi mô hình, phần lớn các lập trình viên cao cấp đều làm thế. Tuy nhiên bạn nên thường khởi đầu với một ngôn ngữ, làm việc với nó một thời gian, áp dụng những kiến thức của mình và thực hành nó. Sau khi đã có kinh nghiệm thực tế về lập trình rồi mới học tiếp ngôn ngữ mới. Hãy thử một trong các mảng ngôn ngữ sau:
  • Mô hình lập trình lô gic.
  • Mô hình lập trình hàm.
Bước 11:
Hãy thử so sánh hai ngôn ngữ lập trình mà bạn đã học được cho tới giờ. Đánh giá các điểm mạnh và điểm yếu của mỗi ngôn ngữ. Việc này thường được thực hiện bằng cách:
  • Dùng một mẫu công việc đơn giản trước đây với ngôn ngữ lập trình đầu tiên và viết lại nó bằng ngôn ngữ lập trình thứ hai.
  • Tạo một dự án mới và thử thực hiện nó bằng cả hai ngôn ngữ. Đôi khi tùy thuộc vào việc bạn chọn dự án và ngôn ngữ, chưa chắc bạn đã có thể thực hiện được dự án đó chỉ với một trong hai ngôn ngữ đó!
  • Viết so sánh theo kiểu một bảng tra cứu nhanh hoặc bảng tóm tắt giữa hai câu lệnh tương tự trong hai ngôn ngữ và những đặc điểm độc nhất của mỗi ngôn ngữ.
  • Thử tìm cách bắt chước đặc điểm độc nhất của một trong hai ngôn ngữ bằng ngôn ngữ còn lại.
Bước 12:
Học các khái niệm lập trình trực quan sử dụng một trong các ngôn ngữ bạn đã học. Hầu hết các ngôn ngữ lập trình đều có các phiên bản/thư viện hỗ trợ lập trình trực quan và các kiểu lập trình hỗ trợ giao tiếp hoặc tương tự khác. Bạn có thể thực hiện điều này bằng cách:
  • Tìm hiểu sơ bộ về lập trình sự kiện. Hầu hết lập trình trực quan ở một mức nào đó đều dựa vào các sự kiện và việc xử lý các sự kiện (sử dụng ngôn ngữ lập trình bạn chọn).
  • Thử các phần mềm máy bàn nhiều nhất có thể và tìm hiểu chúng làm gì. Đa phần các công ty phát triển phần mềm đều cung cấp các phiên bản thử nghiệm (beta) của sản phẩm cho người dùng để kiểm tra phần mềm. Do vậy, hãy luôn cập nhật những tiến bộ về giao diện người dùng.
  • Đọc vài bài viết hoặc hướng dẫn về các giao diện đồ họa người dùng.
Bước 13:
Bắt đầu áp dụng kiến thức của bạn cho các dự án phần mềm nhỏ bạn thiết kế. Thử áp dụng kỹ năng lập trình của bạn cho các vấn đề mà bạn đối mặt hàng ngày. Ví dụ viết một chương trình đổi tên tập tin hàng loạt, so sánh các tập tin văn bản một cách trực quan, sao chép tên các tập tin trong một thư mục vào một tập tin nhớ/văn bản, và những thứ tương tự. Nhớ là trước tiên chỉ cần đơn giản thôi.
Bước 14:
Tạo một “dự án tốt nghiệp” ảo. Hoàn thành dự án cho tới lúc kết thúc, áp dụng các kỹ thuật về lập trình trực quan mà bạn đã học được cho tới giờ.
Bước 15:
Mở rộng hiểu biết của bạn về khung công việc/thư viện/gói trực quan mà bạn học được trước đây bằng cách tham gia các khóa nâng cao, chú ý hơn vào chi tiết và học thêm các lời khuyên cũng như mẹo hay cho khung công việc của bạn từ các tài nguyên trực tuyến.
Bước 16:
Tìm kiếm các gói/thư viện về yếu tố trực quan khác cho ngôn ngữ lập trình của bạn và nghiên cứu chúng.
Bước 17:
Tham gia một khóa học về đồ họa (không phải thiết kế đồ họa). Nó sẽ rất hữu ích cho các lập trình viên muốn viết nên những yếu tố giao diện người dùng cuốn hút.
Bước 18:
Trở thành một lập trình viên trò chơi (tùy chọn). Lập trình trò chơi phần lớn vẫn được xem là lập trình máy bàn. Nếu bạn dự định trở thành một lập trình viên trò chơi, bạn sẽ cần học thêm về lập trình trò chơi sau khi hoàn tất các bước này. Một khóa học đồ họa là bắt buộc đối với các nhà lập trình trò chơi ,và ngôn ngữ lựa chọn thứ hai trong các bước trước đây nên là ngôn ngữ lập trình lô gic/hàm (nên chọn Prolog hay Lisp).

Cách xử lý: 3 - Lập trình Ứng dụng phân tán

Bước 1:
Tìm hiểu về lập trình ứng dụng phân tán. Lập trình ứng dụng phân tán được nhiều người xem là một trong những thứ khó học nhất và đòi hỏi kiến thức phong phú về máy tính cũng như các công nghệ truyền thông.
Bước 2:
Tìm hiểu cấp tốc về các hệ thống thoại và phần cứng của chúng. Bước này là tùy chọn. Tuy nhiên việc có hiểu biết về các cấu trúc liên kết mạng là rất hữu ích.
Bước 3:
Tự làm quen với kiến trúc phần cứng và các thiết bị làm việc mạng như các bộ tập trung trung tâm (hub), thiết bị chuyển mạch (switch) và định tuyến (router).
Bước 4:
Học một khóa học về các giao thức và những thứ cơ bản liên quan. Bạn cần có hiểu biết tốt về mô hình Kết nối các hệ thống mở (OSI), Ethernet, IP, TCP, UDP và HTTP trước khi bắt đầu với lập trình các ứng dụng phân tán.
Bước 5:
Học ngôn ngữ XML và tự làm quen với nó.
Bước 6:
Bắt đầu bằng việc học một ngôn ngữ lập trình kịch bản cho chương trình thông dịch lệnh. Đối với lập trình trên nền Windows, đó có thể là bất kỳ kịch bản nào làm việc với Windows Scripting Host. Đối với lập trình trên nền Linux, các kịch bản Bash và Perl sẽ là đủ dùng. jаvascript rất được khuyến khích cho việc này ở cả hai nền tảng vì các lý do sau:
  • Nó được hỗ trợ bởi hầu hết các công cụ cung cấp kịch bản trong bất kỳ hệ điều hành nào (Windows Scripting Host mặc định hỗ trợ jаvascript, đa phần các bản phân phối Linux đều có một gói hỗ trợ giao tiếp kịch bản jаvascript).
  • Nó được nhiều lập trình viên cho là dễ học hơn .
  • Nó có một cú pháp bắt nguồn từ ALGOL cho phép bạn quen với nhiều ngôn ngữ lập trình khác khi bạn cần chọn một ngôn ngữ lập trình thứ hai C, C++, C#, Java và J# đều có cú pháp bắt nguồn từ ALGOL.
  • Bằng việc học jаvascript, bạn sẽ tự quen dần với việc lập kịch bản trên máy khách cho các trang web, rõ ràng là một tác dụng phụ có lợi!
Bước 7:
Đầu tiên, chỉ áp dụng lập trình thủ tục bằng ngôn ngữ kịch bản mà bạn chọn. Sau đó, bạn có thể sử dụng thêm các kỹ thuật và mô hình lập trình nâng cao theo ngôn ngữ lập trình kịch bản của bạn và những gì nó hỗ trợ. Tất cả các ngôn ngữ lập trình kịch bản đều có liên quan tới lập trình thủ tục ở mức độ nào đó.
Bước 8:
Sử dụng ngôn ngữ lập trình kịch bản bạn đã học để viết các kịch bản thực hiện việc thông tin giữa các máy. Tìm hiểu những gì cần thiết để làm được việc đó. Chỉ cần thông tin liên lạc đơn giản là đủ.
Bước 9:
Chuyển đổi sang một ngôn ngữ lập trình/kịch bản máy bàn. Tốt nhất là một ngôn ngữ đa mô hình như Python. Tìm hiểu sơ bộ về ngôn ngữ thứ hai này. Java là ngôn ngữ được hầu hết các lập trình viên lựa chọn vì nhiều lý do. Tuy nhiên, C# lại giúp tạo đà nhanh hơn ở mảng này. Java và C# được ưa chuộng vì các lý do sau:
  • Chúng là các ngôn ngữ lập trình hướng đối tượng giúp cho các lập trình viên trong các nhóm lớn tránh được việc thực hiện các chi tiết vì chúng đều có khả năng hỗ trợ các thành phần (có nghĩa là các đơn vị mã, tiền biên dịch thực hiện cho một tác vụ cụ thể có thể được sử dụng trong các chương trình khác)
  • Chúng hỗ trợ lập trình theo sự kiện cũng như OO (hướng đối tượng) và lập trình thủ tục ở một mức độ nào đó.
  • Khung công việc mà ngôn ngữ được xây dựng trên đó có đặc điểm bản chất là phân tán (trong trường hợp Java).
  • Có nhiều gói lập trình được tạo sẵn để xử lý việc kết nối mạng, ở cả dạng mã nguồn mở hay tích hợp sẵn trong khung công việc; điều này tạo thuận lợi cho lập trình viên khi làm việc trên sản phẩm của những người khác.
Bước 10:
Tập trung hơn vào các tính năng cốt lõi của ngôn ngữ, đặc biệt là những tính năng hỗ trợ kết nối mạng. Chú ý ít hơn vào các yếu tố giao diện người dùng như xuất thông tin ra, thiết kế và các kỹ thuật cho cửa sổ làm việc, và các yếu tố giao diện người dùng.
Bước 11:
Tham gia một khóa đào tạo về thiết kế và kiến trúc ứng dụng phân tán. Bạn có thể học qua sách vở, các bài hướng dẫn trên mạng hoặc các khóa học học thuật. Tuy nhiên, dù làm bằng cách nào bạn cần nắm bắt được kiến trúc của các ứng dụng phân tán và các khái niệm của nó.
Bước 12:
Học cách xây dựng các thành phần dịch vụ cũng như sử dụng ngôn ngữ lập trình bạn chọn.
Bước 13:
Học một hoặc nhiều hơn các công nghệ sau. Ít nhất bạn nên tìm hiểu qua toàn bộ chúng. Đa phần các lập trình viên ứng dụng phân tán không chỉ học một hay hai ngôn ngữ lập trình, mà ít nhất là một ngôn ngữ lập trình trên mỗi hệ điều hành. Đó là vì nếu bạn muốn ứng dụng của bạn được “phân tán”, ít nhất bạn phải cung cấp một phiên bản của nó cho mỗi hệ điều hành phổ biến.
  • Common Object Request Broker Architecture (CORBA) (Kiến trúc môi giới các đối tượng chung)
  • Simple Object Access Protocol (SOAP) (Giao thức truy cập đối tượng đơn giản)
  • Asynchronous jаvascript and XML (AJAX) (jаvascript và XML không đồng bộ)
  • Distributed Component Object Model (DCOM) (Mô hình đối tượng thành phần phân tán)
  • .NET Remoting (Giải pháp xử lý tính toán từ xa)
  • XML Web Services (Các dịch vụ Web XML)

Cách xử lý: 4 - Lập trình Thư viện/Nền tảng/Khung công việc/Lõi

Bước 1:
Hiểu được lập trình lõi là gì. Các lập trình viên lõi đơn thuần là những lập trình viên cao cấp có nhiệm vụ chuyển các ứng dụng lập trình sang các đơn vị mã lập trình để các lập trình viên khác sử dụng.
Bước 2:
Nếu bạn chưa học, thì hãy học một ngôn ngữ lập trình hỗ trợ cho việc xây dựng các thành phần/gói tái sử dụng được.
Bước 3:
Học một khóa nâng cao về UML và ORM. Hầu hết các nhà phát triển thư viện sử dụng một hoặc cả hai thứ này.
Bước 4:
Tham gia một khóa về kỹ thuật phần mềm.
Bước 5:
Ít nhất phải tìm hiểu các kỹ thuật và khái niệm lập trình dạng mô đun, dựa trên thành phần, hướng đối tượng và theo sự kiện. Bạn càng am hiểu nhiều mô hình và ngôn ngữ lập trình, bạn càng thành công hơn trong việc trở thành một lập trình viên thư viện/gói.
Bước 6:
Học thêm về các hệ điều hành khác nhau và các khung công việc lập trình được hỗ trợ bởi các hệ điều hành này.
Bước 7:
Tập trung nỗ lực học tập của bạn vào các khung công việc, các ngôn ngữ lập trình và các công nghệ độc lập với nền tảng.
Bước 8:
Nếu các ngôn ngữ bạn học cho đến giờ có các phiên bản theo tiêu chuẩn ANSI/ISO/IEEE/W3C, thì hãy nắm vững các tiêu chuẩn. Hãy cố sử dụng mã tiêu chuẩn bất cứ khi nào bạn có thể.
Bước 9:
Hãy thử bắt chước các thư viện đơn giản đã được lập sẵn, đặc biệt là các thư viện mã nguồn mở. Điều này rất hữu dụng trong giai đoạn đầu để trở thành một lập trình viên thư viện/gói. Bắt đầu với những gói đơn giản như các gói chuyển đổi đơn vị và tính toán khoa học trung cấp. Nếu bạn là sinh viên, hãy tận dụng các môn phi lập trình bằng cách thử thực hiện các phương trình và nhân khoa học của chúng như các thư viện.
Bước 10:
Tìm kiếm và thử các gói nguồn mở trong lĩnh vực lập trình của bạn. Trước tiên hãy tải về các phần nhị phân/thực thi được của gói. Thử sử dụng nó và tìm các điểm mạnh và điểm yếu. Sau khi xong, hãy tải mã nguồn về và thử tìm hiểu xem nó được thực hiện như thế nào. Hãy thử tái tạo lại các thư viên đó hoặc các phần của chúng. Trước hết, hãy làm điều đó sau khi bạn đã thấy mã nguồn và sau đó thì làm trước khi bạn thấy mã nguồn. Ở các giai đoạn sau, hãy thử cải tiến các thư viện đó.
Bước 11:
Hãy nghiên cứu các phương pháp tiếp cận khác nhau để phân phối và triển khai các thành phần tới các lập trình viên.
Thông thường, các lập trình viên thư viện/gói có khuynh hướng suy nghĩ một cách đệ quy và/hoặc lặp lại về tất cả các vấn đề được đưa ra cho họ. Hãy thử nghĩ về mỗi vấn đề như một tập hợp của các vấn đề nhỏ hơn (một chuỗi các tác vụ đơn giản hơn) hoặc như một quy trình lặp lại của việc để giảm phạm vi vấn đề xuống các phạm vi nhỏ hơn và rồi xếp chồng các phạm vi đó lên nhau.
Các lập trình viên thư viện/gói có xu hướng khái quát hóa. Đó là khi được trình bày một vấn đề cụ thể đơn giản, họ thường nghĩ tới một vấn đề tổng quát hơn và cố giải quyết vấn đề tổng quát đó để rồi nó sẽ tự động giải quyết các vấn đề nhỏ hơn.

Cách xử lý: 5 - Lập trình Hệ thống

Bước 1:
Hiểu xem lập trình hệ thống đòi hỏi những gì. Các lập trình viên hệ thống làm việc với “khoa học” của lập trình chứ không phải những công việc thực hiện cụ thể của nó. Đừng bó buộc mình với một nền tảng cụ thể nào.
Bước 2:
Thực hiện theo ba bước đầu tiên để trở thành các Lập Trình Viên Ứng Dụng Máy Bàn.
Bước 3:
Tham gia một khóa mở đầu về Đại số Tuyến tính.
Bước 4:
Học một khóa về Tính toán.
Bước 5:
Tham gia một khóa học về Lô gic học và/hoặc Toán rời rạc.
Bước 6:
Tự làm quen với các hệ điều hành cơ bản khác nhau. Điều này có thể được thực hiện bằng cách:
  • Hiểu được cách cài đặt các hệ điều hành.
  • Học cách cài đặt các hệ điều hành khác nhau trên một PC (tùy chọn, nhưng nên làm).
  • Cài đặt nhiều hơn một hệ điều hành. Đừng cài đặt bất kỳ gói phụ trợ nào khác lên hệ thống; thay vào đó chỉ sử dụng các chức năng cơ bản được hệ điều hành cung cấp.
Bước 7:
Tham gia một khóa học (hoặc có thể đọc sách) về kiến trúc phần cứng máy tính[[.
Bước 8:
Phát huy hiểu biết về các nền tảng phần cứng máy tính khác nhau.
Bước 9:
Làm quen bước đầu với hợp ngữ của hệ điều hành/nền tảng phần cứng mà bạn chọn. Sau này bạn sẽ học thêm hợp ngữ của các hệ điều hành/nền tảng khác.
Bước 10:
Học các ngôn ngữ ANSI C và C++, cùng với các khái niệm về lập trình thủ tục.
Bước 11:
Hiểu rõ và thực hành các thư viện C/C++ tiêu chuẩn trên nền tảng bạn chọn. Đặc biệt lưu ý tới Thư viện mẫu tiêu chuẩn (STL) và có thể cả Thư viện mẫu hoạt động (ATL).
Bước 12:
Tìm kiếm các tài nguyên trực tuyến, sách vở và các khóa học để hiểu được đặc tính của C trên nền tảng bạn chọn.
Bước 13:
Thực hành tạo mã nâng cao với C và C++.
Bước 14:
Học thêm Hợp ngữ cao cấp.
Bước 15:
Học một khóa về thiết kế hệ điều hành.
Bước 16:
Tìm và đọc các tư liệu về nền tảng cụ thể mà bạn chọn. Điều này sẽ dễ dàng hơn nếu bạn chọn một hệ điều hành dựa trên Unix. Hãy nắm vững hệ thống mà bạn sẽ làm việc về sau.
Bước 17:
Thực hành những kiến thức bạn có được. Trước tiên hãy tạo một số tiện ích hệ thống nhỏ. Sẽ thường hữu ích nếu bạn:
  • Thử tái tạo các công cụ nhỏ có sẵn trên hệ thống của bạn.
  • Thử chuyển các tiện ích có sẵn trên các hệ điều hành khác sang hệ điều hành của bạn.
Bước 18:
Học các ngôn ngữ theo thứ tự hữu ích nhất. Đây là mảng duy nhất mà ngôn ngữ lập trình đầu tiên được học có ý nghĩa của nó. Hãy học ANSI C trước, chứ không phải C++, C#, Java hay D trước. Sau đó mới học C++.
Giới hạn ngôn ngữ đầu tiên vào C và chỉ có C bởi vì lập trình các hệ thống đòi hỏi lập trình viên phải quen thuộc với các khái niệm sau:
Biên dịch thực tế và toàn bộ mã nguồn.
Các tập tin đầu ra đối tượng cấp thấp.
Các mã nhị phân liên kết.
Ngôn ngữ máy cấp thấp/lập trình hợp ngữ. Nhiều người cho rằng ngôn ngữ C có thể thay thế và dễ dàng hơn để học hợp ngữ. Nó còn hỗ trợ việc chèn mã hợp ngữ vào trong mã bất cứ khi nào bạn thích và nó chỉ có tính thủ tục (giống như hợp ngữ).

Cách xử lý: 6 - Khoa học Lập trình

Bước 1:
Biết được một nhà khoa học lập trình làm gì. Các nhà khoa học lập trình là những lập trình viên rất cao cấp thay vì phát triển các ứng dụng, thì họ phát triển các công nghệ tính toán như mã hóa, các ngôn ngữ lập trình và các thuật toán khai thác dữ liệu. Mức độ này hiếm khi đạt được mà không có sự nghiên cứu học thuật và chuyên sâu.
Bước 2:
Tích lũy kiến thức khoa học tương đương với bằng cấp 4-năm trong ngành khoa học máy tính. Điều này có thể đạt được bằng một trong các cách:
  • Học lấy một bằng cấp học thuật thực sự (thực tế thường là như vậy).
  • Tìm đề cương môn học cho một bằng cấp như vậy từ một trong các trường đại học hiện có và tự học các môn này hoặc là tham gia các khóa học riêng. Về mặt lý thuyết bạn có thể đạt được điều này, nhưng bạn nên đi theo con đường đầu tiên.
Bước 3:
Chọn lựa mảng chuyên ngành. Càng cụ thể thì càng tốt. Điều này tùy thuộc và sở thích của bạn. Tuy nhiên, sau đây là một danh sách các chủ đề chính trong khoa học lập trình máy tính:
  • Thiết kế thuật toán (tìm kiếm, phân loại, mã hóa, giải mã và phát hiện lỗi trong thông tin liên lạc là một vài ví dụ)
  • Thiết kế/tối ưu hóa các ngôn ngữ lập trình/trình biên dịch
  • Các mảng trí tuệ nhân tạo (nhận dạng mẫu, nhận dạng giọng nói, xử lý ngôn ngữ tự nhiên, các mạng nơ ron)
  • Khoa học người máy
  • Lập trình khoa học
  • Siêu tính toán
  • Thiết kế/mô hình hóa trợ giúp bởi máy tính (CAD/CAM)
  • tại ảo
Đồ họa máy tính (Đồ họa máy tính thường bị nhầm lẫn với thiết kế đồ họa hay thiết kế giao diện đồ họa người dùng. Đồ họa máy tính là lĩnh vực nghiên cứu cách thể hiện và thao tác đồ họa trong các hệ thống máy tính).
Bước 4:
Cân nhắc việc lấy một bằng cấp học thuật cao hơn. Bạn có thể theo đuổi một chương trình đào tạo thạc sĩ hoặc tiến sĩ.
Bước 5:
Học các công nghệ và ngôn ngữ lập trình liên quan tới lĩnh vực lập trình bạn chọn.

Lời khuyên

Bất kể kiểu lập trình nào bạn muốn thử và bất kể mức độ nào bạn muốn đạt được, hãy cân nhắc việc tham gia các lớp ở trường hoặc đại học cộng đồng ở địa phương. Đừng e ngại bởi những thuật ngữ như “Khoa học Máy tính”. Bất kỳ lớp học nào bạn tham gia mà không đòi hỏi những yêu cầu hay điều kiện ban đầu đều sẽ tập trung vào giảng dạy cơ bản về lập trình, nhưng dù sao bạn cũng nên kiểm tra với giảng viên hoặc người cố vấn trước khi thực hiện để đảm bảo rằng nó là thứ bạn đang tìm kiếm, vì những lớp học như “Kỹ năng Máy tính” có thể tập trung nhiều hơn vào việc làm quen với các ứng dụng văn phòng hay gì đó tương tự.

TIN LIÊN QUAN

Những điểm cần biết về phiên Scratch 3.0 mới

Phiên bản Scratch mới này đã được ra mắt trong tháng 8 vừa qua. Được biết đây là một bản cập nhật rất được mong chờ và hứa hẹn sẽ nhận được sự quan tâm đặc biệt của những người yêu mến Scratch.

Những vấn đề cần nắm bắt khi bắt đầu học lập trình máy tính

Lập trình thật vui và vô cùng hữu dụng. Với lập trình, bạn sẽ được thỏa sức sáng tạo cùng nhiều cơ hội việc làm rộng mở. Nếu muốn học cách lập trình, hãy đọc chỉ dẫn dưới đây để nắm được nơi bạn cần đi và những gì mà bạn cần học.

Cách thay đổi ngôn ngữ trên trình duyệt Cốc Cốc

Trên trình duyệt Cốc Cốc theo mặc định, ngôn ngữ sử dụng của trình duyệt sẽ là Tiếng Việt. Tuy nhiên nếu bạn muốn thêm ngôn ngữ khác cho trình duyệt thì làm thế nào?

Cách đổi ngôn ngữ trên Facebook Messenger dành cho người dùng Android và iOS

Nếu bạn muốn thay đổi ngôn ngữ trên Messenger, dưới đây là hướng dẫn nhanh để lựa chọn thay đổi các ngôn ngữ trên Messenger dành cho người dùng Android và iPhone.

Cách sửa lỗi trình duyệt Cốc Cốc ngốn nhiều RAM

Cốc Cốc sẽ chiếm một lượng bộ nhớ trên máy tính của bạn và có thể ngốn quá nhiều RAM, dẫn đến tình trạng máy hoạt động chậm.

Lý do khiến ngôn ngữ lập trình C không bao giờ lỗi thời

Tạp chí IEEE Spectrum xếp ngôn ngữ C như là ngôn ngữ hàng đầu trong năm 2017 trước cả Java, C # và jаvascript. Nếu bạn học C trong năm nay, nó sẽ không làm lãng phí thời gian và công sức của bạn. Dưới đây là năm lý do tại sao.

Cách làm món bò khô thơm ngon, hợp vệ sinh ngay tại nhà bằng nồi chiên không dầu

Bò khô là món ăn vặt thơm ngon được rất nhiều người yêu thích, nhưng hiện nay trên thị trường lại rất dễ mua phải bò khô chế biến không hợp vệ sinh.

Cách cài báo thức trên iOS 15 để có một giấc ngủ ngon và dậy đúng giờ

Chế độ Tập trung (Focus Mode) là nâng cấp hữu ích cho tính năng báo thức trên iPhone chạy iOS 15. Sau đây là hướng dẫn cách cài báo thức trên iOS 15 nhé...

THỦ THUẬT HAY

Hướng dẫn xóa tất cả danh bạ trên iPhone nhanh chóng và đơn giản

Cũng như bạn đã biết, trên iPhone để xoá đi một liên hệ, bạn có thể thao tác như sau: Vào mục Danh bạ (Liên hệ) trên iPhone, sau đó chọn một liên hệ bất kỳ Sửa > Xoá liên hệ.

10 thủ thuật nhỏ với Android 6.0: xem app link, bật rung, chơi flappy bird, chỉnh icon status bar...

Android 6.0 hiện cũng đã có mặt trên kha khá thiết bị nhờ cả vào bản cập nhật chính thức lẫn các bản ROM cook. Trong bài này xin giới thiệu với anh em một số thủ thuật để anh em sử dụng tốt hơn hệ điều hành này, từ

Những plugin GIMP tốt nhất và cách cài đặt chúng

Tuy nhiên, plugin hỗ trợ GIMP thật phức tạp. Trải nghiệm tổng thể plugin GIMP không hề thân thiện người dùng. Chúng khó kiếm, cài đặt rắc rối và nảy sinh nhiều vấn đề tương thích.

Thủ thuật để smartphone hoạt động nhanh hơn

Việc tải nhiều dữ liệu, lưu trữ nhiều nội dung giải trí đa phương tiện và cài đặt nhiều phần mềm vào điện thoại sẽ làm thiết bị hoạt động chậm đi sau một thời gian sử dụng. Biện pháp dưới đây sẽ giúp người dùng khắc

Những phần mềm format thẻ nhớ tốt nhất cho điện thoại Android

Đây là top 4 phần mềm fomat thẻ nhớ tốt nhất cho điện thoại Android giúp bạn có thể khôi phục, định dạng thẻ nhớ một cách nhanh chóng, hiệu quả chỉ với vài thao tác vô cùng đơn giản.

ĐÁNH GIÁ NHANH

Trên tay và đánh giá nhanh Lenovo Tab 3 7 Essential

Giữ vững phong độ ở thị trường phổ thông, Lenovo đã cho ra mắt chiếc Tab 3 7 Essential với mức giá hợp lý cùng cấu hình đáp ứng tốt nhu cầu sử dụng của người dùng.

Đánh giá chi tiết Mobiistar Prime X 2017: Thay đổi mạnh mẽ

Phiên bản nâng cấp của dòng Prime khiến người ấn tượng ở thiết kế, độ hoàn thiện, camera và cấu hình của máy. Với mức giá dưới 4 triệu, liệu...

Đánh giá Honda CB500F 2018 giá 172 triệu mới về Việt Nam

Honda CB500F 2018 nằm trong nhóm môtô chiến lược của thương hiệu, sử dụng động cơ 471 cc. Mới đây, CB500F đã chính thức được Honda phân phối chính hãng tại Việt Nam theo hình thức nhập khẩu từ Thái Lan.