Greenfoot – Công cụ học lập trình hướng đối tượng cho beginner

Xây dựng trên nền tảng Java, Greenfoot được tạo ra nhằm giúp những người mới tiếp cận kĩ thuật lập trình hướng đối tượng một môi trường thân thiện và dễ hiểu. Có thể coi Greenfoot là một thế giới thu nhỏ với các đối tượng đều được mô phỏng trực quan như trong thế giới thực. Qua đó, người học không chỉ tiếp thu hiệu quả mà còn cảm thấy thích thú khi có thể tự mình tạo ra một “thế giới” hoặc trò chơi dễ dàng.

Đọc tiếp

Algorithm – Minh họa Depth First Search và Breadth First Search bằng GDI+

Tiếp tục bài viết trước (Tìm đường đi ngắn nhất với Breadth First Search) về thuật toán tìm kiếm trên không gian trạng thái. Ta biết rằng đây là vấn đề cơ bản và phổ biến nhất trong lĩnh vực trí tuệ nhân tạo. Hai thuật toán điển hình khi nói về kĩ thuật này là Depth First Search (DFS – Tìm kiếm chiều sâu) và Breadth First Search (BFS – Tìm kiếm chiều rộng). Từ hai thuật toán này, bạn có thể phát triển và biến đổi thành những thuật toán tìm kiếm không gian trạng thái khác tùy từng trường hợp.

Đọc tiếp

Algorithm – Minh họa tìm đường đi ngắn nhất với Breadth First Search trong C#

Tìm đường đi ngắn nhất là một trong những bài toán được ứng dụng trong nhiều lĩnh vực. Và một thuật toán cơ bản và đơn giản nhất để làm điều này mà bạn có thể đã biết là Breadth First Search (BFS – Tìm kiếm theo chiều rộng). Cơ chế làm việc của thuật toán tương tự như vết dầu loang, tìm kiếm những điểm gần nhất trước. Bạn có thể thấy một vài game sử dụng bản đồ hay liên quan đến AI cũng có thể sử dụng thuật toán này. Một ví dụ bạn có thể áp dụng thuật toán này là n-puzzle mà tôi đã cài đặt bằng thuật toán A* để giải quyết.

Đọc tiếp

Giới thiệu về Mono – Nền tảng lập trình đa ngôn ngữ và cross-platform

Mono là một nền tảng open-source với mục đích chính là tạo những ứng dụng cross-platform trên nền .Net. Bạn có thể sử dụng Mono trên các hệ điều hành như Unix, Linux, Mac OS X, Solaris và tất nhiên là Windows. Bất kì ngôn ngữ nào được biên dịch thành mã IL thuần túy đều có thể tương thích với Mono. Ngoài ra, Mono còn cung cấp thư viện hỗ trợ rất nhiều loại ngôn ngữ lập trình khác như Java, PHP, Python, Object Pascal, Cobra… chi tiết bạn có thể coi tại đây.

Đọc tiếp

Giới thiệu về MonoDevelop IDE

MonoDevelop là một open-source GNOME IDE (intergrated development environment) hỗ trợ lập trình đa ngôn ngữ (với mục tiêu ban đầu là .Net) trên các hệ điều hành Linux, Mac OS X và Windows. Phiên bản hiện tại 2.6 (beta) ra mắt vào đầu tháng 3/2011 đã hỗ trợ .Net 4.0. Với giao diện tương tự Visual Studio, bạn có thể nhanh chóng làm quen và phát triển các dự án .Net trên những platform khác nhau.

Đọc tiếp

C# – Cơ bản về Thread

ThreadThread hay còn gọi là tiểu trình là khái niệm khá quen thuộc trong lập trình. Thread cho phép chương trình thực hiện đồng thời nhiều tác vụ, và giúp quá trình tương tác với người dùng không bị gián đoạn, lập trình song song và là kĩ thuật không thể thiếu trong các ứng dụng về mạng. Trong bài này, bạn sẽ được giới thiệu cơ bản về cách làm việc với thread cũng như kĩ thuật đồng bộ hóa và hiện tượng deadlock.

Đọc tiếp

C# – Chèn dữ liệu tại vị trí bất kì trong file nhị phân

Một trong những vấn đề thường gặp phải khi bạn thao tác với các file nhị phân là chèn dữ liệu tại một vị trí nào đó. Giả sử bạn tìm được vị trí cần thiết để chèn, tuy nhiên sau khi thực hiện thì phần dữ liệu phía sau sẽ bị ghi đè. Mặt khác bạn không muốn thực hiện điều này bằng cách nạp toàn bộ file vào memory. Có một số cách giải quyết vấn đề này, tuy nhiên chúng cũng chỉ theo một nguyên tắc gồm 3 bước là: tìm vị trí, tạo khoảng trống ghi dữ liệu.

Đọc tiếp

C# – Chuyển chuỗi biểu thức thành Expression Tree

ExpressionTree trong .Net là kĩ thuật rất hiệu quả để tính giá trị các biểu thức toán học. Tuy nhiên như trong bài Cơ bản về Expression Tree (C#) bạn cũng thấy là API này không cho phép ta parse một chuỗi văn bản thành ExpressionTree. Vậy mục đích của tôi trong bài viết là xây dựng một thư viện cho phép thực hiện điều này, qua đó bạn có thể phát triển và dùng Expression Tree như một trình thông dịch vô cùng hiệu quả.

Đọc tiếp