Các phương pháp lập trình
Là việc viết chương trình để máy tính thực hiện nhằm giải quyết một vấn đề (bài toán) cho trước. Quá trình này bao gồm: việc phân tích vấn đề, tìm ra thuật toán giải; viết chương trình (diễn tả thuật toán theo một ngôn ngữ lập trình đã chọn); ...
Là việc viết chương trình để máy tính thực hiện nhằm giải quyết một vấn đề (bài toán) cho trước. Quá trình này bao gồm: việc phân tích vấn đề, tìm ra thuật toán giải; viết chương trình (diễn tả thuật toán theo một ngôn ngữ lập trình đã chọn); thử chương trình trên máy tính và sửa lỗi cho tới khi chương trình chạy thông trên máy, đáp ứng yêu cầu đã đặt ra.
Phương pháp lập trình thủ tục (procedural programming) chính là cách thực hiện phương pháp hướng chức năng kể trên. Phương pháp thủ tục chia một chương trình (chức năng) lớn thành các khối chức năng hay hàm (thủ tục) đủ nhỏ để dễ lập trình và kiểm tra. Mỗi hàm có một điểm bắt đầu và một điểm kết thúc và có dữ liệu và logic riêng. Trong một hệ thống chương trình, các biến có các phạm vi nhìn thấy nhất định. Trong chương trình, các hàm làm việc độc lập với nhau. Dữ liệu được chuyển đổi qua lại thông qua các tham số gọi hàm. Việc chia chương trình thành các hàm cho phép nhiều người có thể tham gia vào việc xây dựng chương trình. Mỗi người xây dựng một hay một số các hàm độc lập với nhau. Phương pháp này dẫn đến một khái niệm mới – sự trừu tượng hóa. Sự trừu tượng hóa có thể xem như khả năng quan sát một sự việc mà không cần xem xét đến các chi tiết bên trong của nó. Trong một chương trình thủ tục, chúng ta chỉ cần biết một hàm nào đó có thể làm được những công việc cụ thể gì là đủ. Còn làm thế nào để thực hiện công việc đó là không quan trọng, chừng nào hàm còn tin cậy được thì còn có thể dùng nó mà không cần phải biết nó thực hiện đúng đắn chức năng của mình như thế nào. Điều này gọi là sự trừu tượng hóa theo chức năng (functional abstraction) (hay còn gọi là sự chuyên môn hóa) và là nền tảng của lập trình thủ tục.
Ta có thể có một cái nhìn khác về lập trình thủ tục(LTCCT) như sau: Kĩ thuật lập trình dựa trên quan niệm phân tích một chức năng xử lí thông tin thành các chức năng nhỏ hơn, làm mịn dần quá trình này cho tới khi xây dựng được các đơn thể. Chương trình chỉ dùng các cấu trúc điều khiển cơ bản: tuần tự, rẽ nhánh, lặp và ra khỏi lặp. LTCCT sử dụng cách tiếp cận từ trên xuống, tức là phân tách từ toàn thể đến bộ phận, rồi lại từ bộ phận đến bộ phận nhỏ hơn. Các đơn thể trong một chương trình có cấu trúc có tính độc lập tương đối cao, chỉ giao tiếp với nhau thông qua giao diện đã xác lập trước, do đó LTCCT có một số ưu điểm: dễ phân công nhiều người cùng lập một chương trình, dễ thử và hiệu chỉnh chương trình.
Lập trình hướng đối tượng (object-oriented programming viết tắt là OOP), hay còn gọi là lập trình định hướng đối tượng, là kĩ thuật lập trình hỗ trợ công nghệ đối tượng. OOP được xem là giúp tăng năng suất, đơn giản hóa độ phức tạp khi bảo trì cũng như mở rộng phần mềm bằng cách cho phép lập trình viên tập trung vào các đối tượng phần mềm ở bậc cao hơn. Ngoài ra, nhiều người còn cho rằng OOP dễ tiếp thu hơn cho những người mới học về lập trình hơn là các phương pháp trước đó.Một cách giản lược, đây là khái niệm và là một nỗ lực nhằm giảm nhẹ các thao tác viết mã cho người lập trình, cho phép họ tạo ra các ứng dụng mà các yếu tố bên ngoài có thể tương tác với các chương trình đó giống như là tương tác với các đối tượng vật lý.
Những đối tượng trong một ngôn ngữ OOP là các kết hợp giữa mã và dữ liệu mà chúng được nhìn nhận như là một đơn vị duy nhất. Mỗi đối tượng có một tên riêng biệt và tất cả các tham chiếu đến đối tượng đó được tiến hành qua tên của nó. Như vậy, mỗi đối tượng có khả năng nhận vào các thông báo, xử lý dữ liệu (bên trong của nó), và gửi ra hay trả lời đến các đối tượng khác hay đến môi trường
Trong OOP, việc lập trình dựa trên cơ chế kế thừa, tận dụng mọi đặc trưng đã được mô tả cho các lớp có sẵn để tạo ra lớp mới. Các đối tượng trong OOP dùng các thông báo gửi tới các đối tượng khác để thực hiện yêu cầu tính toán cần thiết. OOP quan tâm nhiều tới việc nhìn nhận khía cạnh tĩnh của đối tượng - dữ liệu, và coi chương trình xử lí là một thành phần của dữ liệu đó phản ánh mặt động của đối tượng.
Một phương pháp tiếp cận việc biểu diễn tri thức và giải các bài toán lôgic từ một cơ sở tri thức cho trước trên máy tính. Một cơ sở tri thức là một tập các sự kiện và các luật biểu diễn quan hệ lôgic giữa các sự kiện đó. LTLG xuất phát từ một cơ sở tri thức và một câu hỏi, tiến hành các lập luận lôgic để tìm ra lời giải cho câu hỏi đó