Sunday, September 18, 2005

Khoa KHMT cần dạy gì cho thị trường việc?

[ Thông tin biết qua blog của Daniel Lemier]

Một bài viết
của Dan Zambonini càm ràm rằng sinh viên mới ra trường ở các khoa KHMT học rất nhiều thứ "kêu" như mạng neural, computer vision, AI, complexity theory, machine learning, quantum computing, bio-computing, ... mà thiếu kiến thức căn bản cho đa phần thị trường việc. Đại ý Dan nói rằng: "các khoa KHMT chú trọng quá nhiều vào phần science mà bỏ qua phần engineering" của máy tính.

Một danh sách sơ bộ các topics cần cho thị trường mà Dan nêu ra bao gồm:

  • The basics of Programming (variables, data types, references, pointers, scope, error handling, iteration, core algorithms - searching, sorting, etc.)
  • Basic mathematics, basic statistics
  • Patterns and Anti-Patterns (With real world examples, not just theory)
  • Real world Databases (Normalisation and De-normalisation, SQL, Indexing)
  • Basics of good code architecture: Loose Coupling, etc.
  • OO Design, Interfaces, etc.
  • The importance and tools of Planning: Spec'ing,, UML etc.
  • Architectures: client/server, SOA, P2P, etc.
  • A 'Big' language or two (Java, C#, C/C++)
  • A scripting/'agile' language or two (PHP, Perl, Python, Ruby)
  • XML (DOM/SAX, XSLT/XPath, etc.)
  • Economics, Business Studies, Costing Projects, Commercial pressures
  • Copyright, Privacy, Data Protection
  • Project/Time Management
  • Internationalisation, Localisation, Encoding, Unicode
  • Grammar, punctuation, concise and clear writing
  • Interface Design, Usability, Accessibility, HCI
  • Security
  • Code Reading
  • Common Protocols (TCP/IP, HTTP, SMTP, FTP)
  • Testing, Debugging, Performance, Re-factoring
  • Problem analysis
  • Source control, change management
  • The typical Software lifecycle
  • Metadata, Information Architecture, etc.
  • The basics of GIS
  • Touch typing
  • Health and safety (nutrition?)

Danh sách các topics này khá là thú vị. Tôi sẽ viết về một chương trình tôi cho là lý tưởng về KHMT vào dịp khác