Đã từ lâu tôi muốn viết 1 câu chuyện nhỏ kể lại quá trình hình thành và phát triển phần mềm này để mọi người cùng biết. Tôi sẽ viết dần, nhớ đến đâu viết tới đó mỗi ngày một ít vì thời gian không cho phép.
Quay lại năm 1987, khoảng tháng 3. Tôi nhớ hồi đó HVKTQS có địa điểm chính trong Tam Đảo nhưng GV phần lớn vẫn ở ngoài thị xã Vĩnh Yên. Lúc đó tôi đang ở trong diện "đến lượt" để chuẩn bị thi NCS nên dạy ít. Trong bộ môn có anh Hồ Ước(*) và một vài anh khác đang làm 1 đề tài khoa học về bài toán thời khóa biểu. Tôi là dân Toán lý thuyết nên 1 chữ lập trình bẻ đôi không biết. Bỗng nhiên 1 hôm anh Ước hỏi tôi: "cậu đang rỗi có muốn tham gia làm đề tài thời khóa biểu với tớ không?". Lúc đó tôi đang rỗi thật nên gật đầu ngay. Không ngờ cái gật đầu đơn giản đó đã lôi tôi vào một bài toán và sẽ theo tôi suốt 20 năm sau. Thế là tôi tham gia vào nhóm của anh Ước với đề tài thiết lập 1 thuật toán tối ưu để xếp được thời khóa biểu. Dữ liệu mẫu là của trường Đại học Bách khoa Hà Nội.
Cùng thời gian đó HVKTQS bắt đầu có 1 số máy tính quả táo và XT đặt tại đường Phan Chu Trinh Hà Nội. Ban đầu ý định của anh Ước là tất cả nhóm dồn vào làm thuật toán, nhưng không hiểu sao tôi lại được phân công viết phần giao diện để thể hiện thời khóa biểu này trên màn hình máy tính và in ra giấy. Ngôn ngữ lập trình lựa chọn cho tôi là Pascal, môi trường lập trình là Turbo Pascal 1.0.
Tôi nhớ thời gian đó chúng tôi phải xếp hàng ở Phan Chu Trinh để đợi đên lượt mình vào làm máy tính, có rất nhiều hôm phải thức đêm để làm. Thời gian đó tôi gặp và quen Quốc, Dũng, anh Nam, ... sau này lập công ty AIC.
Khi bắt đầu làm tôi có ý kiến với các anh trong nhóm là tôi sẽ làm không chỉ thể hiện mà làm cả phần xếp bằng tay và 1 phần xếp tự động trên máy tính. Các anh trong nhóm không nghe và tôi đã có những cuộc cãi nhau nảy lửa với các anh. Cuối cùng tôi vẫn lẳng lặng làm theo ý mình và các anh kia vẫn làm theo cách của họ. Tôi nhớ là chỉ sau 4 - 5 tháng tôi đã hoàn thành 1 chương trình có giao diện khá hoàn chỉnh, có phần nhập liệu, phần xếp tay và phần xếp tự động. Giao diện đầu tiên này chính là giao diện MainLoop hiện nay đang có của phần mềm TKB. Phía trên thê hiện thời khóa biểu lớp, phía dưới lệch sang phải là thời khóa biểu giáo viên hoặc phòng học. Các thao tác xếp tay bao gồm lệnh xóa và xếp 1 tiết. Tôi đã vô cùng hứng thú khi viết những dòng code đầu tiên trong đời này.
Tôi nhớ là khoảng tháng 10 năm 1987 là thời điểm cần nghiệm thu đề tài, phần việc của các anh khác chưa ai có kết quả gì, phần của tôi thì đã gần như hoàn thiện thành 1 phần mềm. Thời gian đó anh Ước đã bị thuyết phục và quay ra ủng hộ cách làm của tôi. Đến gần ngày nghiệm thu, tôi và anh Ước bàn là phải dùng phần mềm xếp tay bằng được 1 thời khóa biểu nghiêm chỉnh. Chúng tôi đã thức nhiều đêm tại cơ sở Phan Chu Trinh để cùng xếp tay thời khóa biểu cho trường ĐHBK. Tôi không nhớ chính xác chỉ biết rằng vào 1 đêm đẹp trời, lúc đã quá nửa đêm, chúng tôi đã xếp xong trọn vẹn 1 thời khoa biểu và như vậy đề tài coi như hoàn thành. Thật là một cảm giác vui sướng, 2 anh em ra quán ăn và nói chuyện suốt đến sáng. Kỷ niệm đó tôi không bao giờ quên, lần đầu tiên trong đời làm trọn vẹn 1 phần mềm máy tính mà mới chỉ cách đó 5 tháng chưa biết 1 tí gì về máy tính và lập trình.
Đề tài đó về sau đã được bảo vệ xuất sắc tại ĐHBK (**). Đó chính là tiền thân đầu tiên của phần mềm TKB bây giờ.
(*) Anh Hồ Ước đã mất tại Nga năm 1992.
(**) Tại buổi bảo vệ đề tài tại trường ĐHBK có Bùi Quang Ngọc học cùng lớp phổ thông cũ, lúc đó vẫn đang là giảng viên khoa Toán ứng dụng trường ĐHBK Hà Nội. Bùi Quang Ngọc hiện là Phó CT HĐQT công ty FPT.
Bùi Việt Hà, Công ty Công nghệ Tin học Nhà trường
School@net
|