Thứ Năm, 9 tháng 1, 2014

Phải hồi môn học Nhập môn lập trình và Nhập môn CNTT - HK I năm học 2013 - 2014

Nhận xét chung:
-    Đây là 2 môn học theo chuyên ngành Công nghệ thông tin đầu tiên được học. Nó giúp sinh viên tiếp cận gần với với chuyên ngành đang theo học và đây cũng là 2 môn học nền tảng giúp hình thành những kiến thức cơ bản nhưng cực kì quan trọng.
-    Kiến thức thầy(cô) truyền đạt đầy đủ và dễ hiểu. Cùng với các tài liệu giúp sinh viên có thể xem lại khi về nhà và ôn tập lại dễ dàng.
-    Các thầy(cô) nhiệt tình trả lời và giúp đỡ sinh viên cả khi không ở trên lớp.
-    Việc kết hợp vừa truyền đạt kiến thúc vừa giới thiệu thêm về các công việc, việc làm sau này giúp sinh viên hình dung rõ hơn về ngành học của mình.
Nhập môn lập trình:
-    Thầy Trần Đan Thư: thầy có kiến thức vững vàng với nhiều kinh nghiệm trong lập trình. Thầy vừa kết hợp dạy kiến thức mới vừa kết hợp truyền tải vào bài học nhưng vẫn đề xung quanh như kinh nghiệm lập trình từng mảng, cái gì nên hay không nên khi lập trình một vấn đề nào đó. Ngoài ra thầy còn kết hợp giới thiệu cho sinh viên biết thêm về các ngành học các công  việc làm sau này v.v....
-    Thầy Đỗ Nguyên Kha, Nguyễn Khắc Huy: cả hai thầy đều rất nhiệt tình trong việc hỗ trợ sinh viên khi làm bài tập hay cả khi có nhũng phần lí thuyết chưa rõ. Thầy luôn tận tâm và quan tâm đến từng sinh viên một khi làm bài.
-    Thầy Ngô Chánh Đức: mặc dù gặp thầy ở các buổi Nhập môn lập trình không nhiều (đa số là ở môn kĩ năng mềm) nhưng mỗi lần gặp thầy đều rất nhiệt tình giải giảng các bài tập và lí thuyết. Thầy luôn cố gắng trả lời hết tất cả các câu hỏi của sinh viên và luôn tìm cách trả lời hay diễn đạt tốt nhất để sinh viên hiểu và áp dụng được từ lý thuyết vào bài tập.
Nhập môn Công Nghệ Thông Tin
-    Thầy Trương Phước Hưng: thầy là người thú với những phương pháp dạy khá đặc biệt. Thầy luôn hướng cho sinh viên những cái mới, cái hay, cái lạ. Mặc dù đa phần ai cũng than về bài tập thầy cho nhiều nhưng ai cũng rất vui vẻ khi làm bởi nó khá bổ ích và đem lại nhiều kiến thức mới quan trọng cho sinh viên. Thầy đã tốt chức buổi Opentalk giúp sinh viên tiếp cận và hiểu rõ hơn về nhiều mặt qua việc tiếp xúc với các anh đã đi trước và thành đạt giúp cho sinh viên có được cái nhìn mới về phương pháp học hiện tại và sau này.
-    Thầy Trần Thái Sơn: phải gọi là thầy có một kiến thức uyên thâm. Kiến thức của thầy rộng về nhiều mảng và sự truyền đạt của thầy cũng giúp sinh viên dễ hình dung, dễ tiếp cận với những ví dụ bên lề khá thú vị và gần mới môn học. Thầy cũng thường giới thiệu về những công việc làm sau này về ngành CNTT cho sinh viên hiểu rõ và biết thêm được những kiến thức cần biết về ngành mình đang học.
-    Thầy Nguyễn Trọng Việt: dù không được học với thầy nhiều nhưng có thể thấy thầy là người yêu công nghệ. Thầy vừa dạy kiến thức mới vừa giới thiệu thêm cho sinh viên biết thêm sự phát triển về công nghệ hiện nay qua những ứng dụng mới phần mềm mới hiện nay.

Thứ Bảy, 7 tháng 12, 2013

Cách cài đặt LaTex và tạo một file LaTex

Trong blog này tôi xin trình bày cách cài đặt 2 phần mềm hỗ trợ soạn thảo LaTex thông dụng là MiKTeX và TeXnicCenter.
1. Cài đặt Engine LaTex: MiKTeX
Link download: http://www.miktex.org/
Version: Basic MikTeX 2.9.4813
Platform hỗ trợ:
  • Windows 7 
  • Windows Sever 2008, 2003
  • Windows Vista
  • Windows XP
  • Windows 2000
Các bước cài đặt:
  • Chạy file basic-miktex-2.9.4813.exe
  • Cài đặt như các softs thông thường.


Thứ Tư, 4 tháng 12, 2013

Soạn thảo tài liệu bằng LaTeX

LaTeX là một công cụ soạn thảo tài liệu miễn phí. Mặc dù không phải là công cụ soạn thảo kiểu WYSIWYG như Word của Microsoft Office nhưng cũng khá mạnh và thân thiện. Mỗi công cụ đều có những ưu và khuyết điểm riêng của nó, LaTeX cũng vậy.
Sơ lược về LaTeX
LaTeX là một gói các tập lệnh cho phép tác giả có thể soạn thảo và in ấn tài liệu của mình với chất lượng bản in cao nhờ việc thống nhất cách trình bày từ trước. LaTeX được thiết kế bởi Leslie Lamport dựa trên việc sử dụng công cụ định dạng của TeX (một chương trình được thiết kế bởi Donald E. Knuth - tác giả của cuốn sách “The Art of Programming”). Ngày nay, LaTeX được duy trì và phát triển bởi một nhóm những người yêu thích và nghiên cứu về TeX, một trong số đó là Frank Mittlebach.

Thứ Sáu, 29 tháng 11, 2013

Kĩ thuật lập trình Game – Cơ bản - part 2

VI.  Giao điểm của hai đường thẳng
Từ hai đoạn thẳng (hoặc vector) trong mặt phẳng 2D, ta có  thể tìm được giao điểm của chúng để 
tính toán các góc phản xạ và hướng di chuyển.
1.  Tạo phương trình đường thẳ ng từ đoạn thẳng
Ta có hai điểm A(x1,y1) và B(x2,y2) tạo thành một đoạn thẳng, để tạo được một phương trình 
đường thẳng từ  hai điểm  này, ta cần  tính được độ nghiêng của đường thẳng (slope) theo công 
thức:  
a = (y2 –  y1)/(x2 –  x1)
Thay thế x2, y2 bằng hai biến x,y:
a = (y –  y1)/(x –  x1)
=> y –  y1 = a(x –  x1)
Hay:
y = ax + (y1 – ax1)
Đặt b = y1 – ax1, ta có:
y = ax + b
2.  Tính giao điể m của hai đường thẳng
Ta có hai phương trình đường thẳng
(1): y = a1x + b1
(2): y = a2x + b2
Ta có thể tính được giao điểm của chúng bằng cách tìm   giao điểm x trước:
a1x + b1 = a2x + b2;
=> x(a1 – a2) = b2 – b1
=> x = (b2 – b1)/(a1 – a2)
Khi đã có x, ta sẽ thế vào (1) hoặc (2 ) để tính được y.  Để kiểm tra hai đoạn thẳng có cắt nhau 
không, ta chỉ cần kiểm tra điểm {x,y} thuộc cả hai đoạn thẳng hay không.   Ngoài ra ta cần loại 
trừ trường  hợp  hai đường thẳng song song  hoặc trùng nhau, khi đó  giá trị slope của chúng sẽ 
bằng nhau. 

Chủ Nhật, 17 tháng 11, 2013

Kĩ thuật lập trình Game – Cơ bản - part 1

I.   Vòng lặp game (Game loop) hoạt động thế  nào?
Phần cốt lõi của hầu hết các game chính là vòng lặp được dùng để cập nhật và hiển thị trạng thái của game. Trong bài viết này,  ta  sẽ minh họa các phương pháp tạo vòng lặp   game với ngôn ngữ javascript.
1.  Vòng lặp cơ bản
Một vòng lặp game cơ bản bao gồm các việc được thực hiện theo thứ tự sau:
while(gameRunning)
{
 processInput(); // keyboard, mouse,...
 updateGame();
 draw();
 // checkGameOver();
}
Minh họa: