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 cho một khoa KHMT vào dịp khác.

Chủ đề : CNTT các nước và VN, Giáo dục. Bookmark the permalink. Trackbacks are closed, but you can post a comment.

9 Comments

  1. Anonymous
    Posted 14/09/2005 at 1:58 pm | Permalink

    Xin bo sung:

    - common lisp or scheme
    - basic unix/linux
    - coding conventions
    - ergonomics
    - the importance of hotkeys (don’t touch that mouse!)
    - don’t try to do everything with emacs/vi
    - don’t bash M$ just because everyone around you does
    - don’t send emails with big attachment or in rtf/html/mime format unless absolutely necessary
    - use PPT animation sparingly
     

    Viết bởi vu ha

  2. Anonymous
    Posted 16/09/2005 at 2:02 am | Permalink

    Tôi rất thích Scheme, và cho rằng nó là ngôn ngữ “đẹp” nhất mà tôi biết.

    Tuy vậy, ngoài các research labs về AI thì bác Vũ có biết người ta có hay dùng Lisp/Scheme để viết applications thông thường không? (Ngoại trừ Emacs của RMS và vài ứng dụng  của bọn geeks như Paul Graham viết) 

    Viết bởi Ngô Quang Hưng

  3. Anonymous
    Posted 17/09/2005 at 7:28 pm | Permalink

    Toi doc cac comments theo link bai viet cua Dan ma anh Hung da post. Rat thu vi. Toi thich mot y kien cho rang, sinh vien hoc CS can co it nhat nhung hieu biet sau:
    – Analytic skills: calculus, algebra, statistics & probability, …
    – Languages: C/C++, Java, Perl, …
    – Algorithms: nam duoc cac giai thuat co ban trong Algorihms(Rober Sedgewick), canh phan tich va thiet ke thuat toan trong Introduction to Algorithms (CLRS’s book)
    – Code & debug experience: lam viec trong cac programming project cua ca 1 hoc ki hoac dai hon.
    – English: du tot de doc, viet, thuet trinh.
    – Nhung kien thuc khac: Computer Architecture, Database, Computer Network, OOD.

    Ngoai ra mot sinh vien CS ko phai chi hoc co cac lop ve CS. Can phai co nhung kien thuc co ban ve mot so nghanh xa hoi, va cac khoa hoc khac. Kinh nghiem cua toi thi nhung ten lam duoc viec thuong la nhung ten co hieu biet rong, dieu do lam tri tuong tuong phong phu hon, dan de co nhieu idea hay.

    Theo toi co le quay ve de dinh nghia “The nao la Computer Science? “, va “Mot software engineerer can nhung kien thuc gi?” Hy vong chu de nay se co duoc mot so bai viet cua cac anh chi di truoc.

    Nguyen 

    Viết bởi Bach Hung Nguyen

  4. Anonymous
    Posted 18/09/2005 at 9:55 pm | Permalink

    Theo em, một số môn học có thể không cần thiết, sinh viên có thể tự học thêm. Ví dụ như ngôn ngữ lập trình cụ thể nào đó. Nếu sinh viên đã biết một (hoặc vài) ngôn ngữ lập trình căn bản thì việc tự học để chuyển sang một ngôn ngữ khác không khó mấy. Trong khi đó, một số môn học em rất thích nhưng không thấy dạy ở VN là:

    Patterns and Anti-Patterns (With real world examples, not just theory)
    Basics of good code architecture: Loose Coupling, etc.
    The importance and tools of Planning: Spec’ing,, UML etc.
    Copyright, Privacy, Data Protection
    Touch typing
    Health and safety (nutrition?): theo em là đặc biệt quan trọng đối với dân CNTT.

    Hix, đọc bài này tự nhiên lại quy thành những môn nào là quan trọng trong số các môn học trên :( . Chắc anh Hưng lại sắp đề cập đến hệ quy chiếu để xác định môn nào là quan trọng :) .

    /Thái 

    Viết bởi Thái

  5. Anonymous
    Posted 19/09/2005 at 11:06 am | Permalink

    Lisp/Scheme hau nhu khong co ung dung gi trong thuc te. Ngay ca cac AI labs cung dan chuyen sang cac ngon ngu pho bien khac nhu Java, Python.

    Tuy vay, co chut khai niem ve Lisp/Scheme se giup lap trinh tot hon. Neu co it thoi gian (khoang 1-2 gio) thi co the doc bai cua Peter Norvig: “Lisp as an alternative for Java”. Co mot so bai tren Internet co thu dich Norvig’s concise Lisp idioms sang C++, rat la good food for thought.

    Toi dong y la good debug skill rat quan trong, nhung it khi duoc day den noi den chon. Rat nhieu lap trinh vien chi biet mot cong cu debug duy nhat la printf/cout/System.out.println.
     

    Viết bởi vu ha

  6. Anonymous
    Posted 03/10/2005 at 5:36 am | Permalink

    Toi nhan thay ngon ngu Java la mot ngon ngu lap trinh rat manh. So, neu la nguoi hoc lap trinh thi nen hoc mot ngon ngu co ban hon nhu Pascal va co the la VB chang han!
    Toi nghi dieu thiet yeu can cho mot nguoi bat dau hoc lap trinh la phai biet tu duy va sang tao. 

    Người viết: Nguyen Truong Xuan

  7. Anonymous
    Posted 03/10/2005 at 5:40 am | Permalink

    ntxuan_ntxuan@yahoo.com

  8. Anonymous
    Posted 06/10/2005 at 9:55 am | Permalink

    Lap trinh trong C/C++/Lisp/SmallTalk ta co the co nhung luc thot len “that’s the smartest 5 lines of code I’ve ever written”. Ca nhan, toi chua bao gio co nhung giay phut nay khi lap trinh trong Java/Pascal/VB.

    The nao la co ban trong lap trinh? Cau hoi nay tuong doi kho tra loi. Neu nhu “co ban” co nghia la co ban trong nhung “mau lap trinh” (programming paradigms), thi ta nen it nhat la tham khao nhung mau lap trinh sau day:

    - Lap trinh OO (?) Vi du: Smalltalk/C++/Java.
    - Lap trinh ham (functional programming). Vi du: Lisp dialects.
    - Lap trinh tong quat (generic programming). Vi du Lisp/C++.
    - Lap trinh sieu (meta programming). Vi du Lisp/C++.

    Lisp macros (?) & C++ mau (templates) rat la hung manh (powerful), nhung cung rat de bi dung sai (misused). Do la mot trong nhung ly do nhung cong ty/tap doan lon (big corporations) ua thich nhung ngon ngu an toan hon nhu Java.

    Paul Graham dang thiet ke mot ngon ngu moi ten la “Arc”. Toi rat la to mo muon biet Arc se nhu the nao. Paul Graham, nhu NQH da viet, co rat nhieu bai tieu luan (essay) ve lap trinh rat gay suy nghi (thought provoking)

    (?) danh dau nhung tu toi khong biet dich sang tieng Viet.

    Hey, lam sao co the viet tieng Viet vo+’i da^’u ha(?n hoi? NQH? XLN? 

    Người viết: vu ha

  9. Anonymous
    Posted 06/10/2005 at 2:23 pm | Permalink

    Dear bác Vũ,

    Tôi dùng Unikey  

    Người viết: Ngô Quang Hưng

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>