Tải bản đầy đủ (.pdf) (63 trang)

Xây dựng hệ thống hỗ trợ sinh viên lập kế hoạch học tập

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.34 MB, 63 trang )

TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

XÂY DỰNG HỆ THỐNG HỖ TRỢ SINH VIÊN
LẬP KẾ HOẠCH HỌC TẬP

Cán bộ hướng dẫn

Sinh viên thực hiện

TS. Nguyễn Thái Nghe

Phan Thị Bích Tuyền

MSCB: 1352

MSSV: LT11791
Phạm Thị Thanh Loan
MSSV: LT11749

Cần Thơ, 2013


TRƯỜNG ĐẠI HỌC CẦN THƠ
KHOA CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

XÂY DỰNG HỆ THỐNG HỖ TRỢ SINH VIÊN


LẬP KẾ HOẠCH HỌC TẬP

Cán bộ hướng dẫn

Sinh viên thực hiện

TS. Nguyễn Thái Nghe

Phan Thị Bích Tuyền

MSCB: 1352

MSSV: LT11791
Phạm Thị Thanh Loan
MSSV: LT11749

Cần Thơ, 2013


NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................

..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................
..............................................................................................................................


LỜI CẢM ƠN
----------XY7ZW---------Trong khoảng thời gian học tập tại trường Đại học Cần Thơ chúng em đã
được sự chỉ bảo tận tình của Thầy Cô thuộc khoa Công Nghệ Thông Tin & Truyền
Thông. Không chỉ là những kiến thức quý báu và bổ ích về chuyên môn, đó còn là
sự chia sẻ, những kinh nghiệm, kỹ năng sống. Tất cả những điều đó là nền tảng quý

báu để chúng em có thể vận dụng vào thực tế công việc và cuộc sống.
Chúng em xin gửi lời cảm ơn chân thành nhất đến Thầy Nguyễn Thái Nghe,
người đã tận tình hướng dẫn, động viên chúng em trong suốt quá trình thực hiện luận
văn.
Cảm ơn quý Thầy Cô, những người đã tận tình truyền đạt cho chúng em
những tri thức, kinh nghiệm quý báu của mình. Đặc biệt cảm ơn: Cô Trần Ngân
Bình, Thầy Phan Tấn Tài trong khoảng thời gian làm cố vấn học tập cho chúng em,
đã luôn nhiệt tình giúp đỡ, giải đáp các thắc mắc cũng như hỗ trợ giải quyết những
khó khăn gặp phải trong quá trình học tập tại trường.
Đồng cảm ơn các bạn học chung ngành Công Nghệ Thông Tin, đã giúp đỡ
chúng em rất nhiều trong học tập và đặc biệt cảm ơn bạn Nguyễn Đặng Quang
Vinh – bạn cùng lớp – đã hỗ trợ chúng em rất nhiều các vấn đề kỹ thuật liên quan
đến Spring Framework, giúp chúng em có thể hoàn thành demo của đề tài.
Chúng em xin cảm ơn quý thầy cô, anh chị em thuộc Khoa Nông nghiệp &
Sinh học Ứng dụng đã giúp đỡ, động viên, chia sẻ công việc để chúng em có thời
gian hoàn thành luận văn này.
Mặc dù chúng em đã cố gắng và nổ lực hết mình nhưng không thể tránh khỏi
sai sót trong quá trình thực hiện, do lần đầu làm quen với ngôn ngữ, kiến thức còn
hạn hẹp và khả năng nghiên cứu còn hạn chế. Rất mong nhận được những ý kiến
đóng góp quý báu của quý thầy cô, các anh chị và các bạn để luận văn này ngày một
hoàn thiện hơn.
Xin chân thành cảm ơn!
Cần Thơ, ngày

tháng 12 năm 2013

Sinh viên thực hiện
Phan Thị Bích Tuyền



Luận văn tốt nghiệp

Xây dựng Hệ thống hỗ trợ sinh viên lập kế hoạch học tập

MỤC LỤC
MỤC LỤC................................................................................................................... i 
DANH SÁCH HÌNH................................................................................................. iv 
DANH SÁCH BẢNG ............................................................................................... vi 
DANH SÁCH THUẬT NGỮ .................................................................................. vii 
ABSTRACT ............................................................................................................ viii 
TÓM TẮT ................................................................................................................. ix 
CHƯƠNG 1: TỔNG QUAN.......................................................................................1 
1.1.  ĐẶT VẤN ĐỀ ...............................................................................................1 
1.2.  LỊCH SỬ VẤN ĐỀ........................................................................................2 
1.3.  MỤC TIÊU ....................................................................................................2 
1.4.  PHẠM VI ......................................................................................................2 
1.5.  PHƯƠNG PHÁP THỰC HIỆN ....................................................................3 
1.5.1. Tìm hiểu lý thuyết ..................................................................................3 
1.5.2. Cài đặt chương trình...............................................................................3 
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT ...........................................................................5 
2.1. SƠ LƯỢT VỀ HỌC CHẾ TÍN CHỈ TẠI TRƯỜNG ĐẠI HỌC CẦN THƠ ..5 
2.2. KỸ THUẬT PHÂN RÃ MA TRẬN TRONG XÂY DỰNG HỆ THỐNG
GỢI Ý......................................................................................................................6 
2.2.1. Hệ thống gợi ý và vấn đề dự đoán xếp hạng (rating prediction)............6 
2.2.2. Kỹ thuật phân rã ma trận........................................................................7 
2.3. GiỚI THIỆU VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU PostgreSQL ...............10 
2.4. SPRING FRAMEWORK ..............................................................................11 
2.5. SPRING WEB MVC FRAMEWORK ..........................................................13 
2.6. HIBERNATE FRAMEWORK ......................................................................13 
2.7. JAVASERVER PAGES (JSP) / SERVLET ..................................................15 

CHƯƠNG 3: NỘI DUNG VÀ KẾT QUẢ THỰC HIỆN.........................................17 
GVHD: TS. Nguyễn Thái Nghe 
 

 i
   

SVTH: Phan Thị Bích Tuyền
Phạm Thị Thanh Loan 


Luận văn tốt nghiệp

Xây dựng Hệ thống hỗ trợ sinh viên lập kế hoạch học tập

3.1. MÔ TẢ HỆ THỐNG......................................................................................17 
3.1.1. Mô tả hệ thống......................................................................................17 
3.1.2. Yêu cầu chức năng ...............................................................................18 
3.2. PHÂN TÍCH HỆ THỐNG .............................................................................19 
3.2.1. Mô hình dữ liệu quan niệm CDM ........................................................19 
3.2.2. Mô hình MLD ......................................................................................19 
3.3. THIẾT KẾ CƠ SỞ DỮ LIỆU ........................................................................21 
U

3.4. LƯU ĐỒ DÒNG DỮ LIỆU DFD..................................................................27 
3.4.1. DFD cấp 0 ............................................................................................27 
3.4.2. DFD cấp 1 ............................................................................................27 
3.4.3. DFD cấp 2 ............................................................................................28 
3.5. TIỀN XỬ LÝ DỮ LIỆU ................................................................................28 
U


3.6. THIẾT KẾ CHƯƠNG TRÌNH ......................................................................30 
3.6.1. Sơ đồ chức năng ...................................................................................30 
3.6.2. Lưu đồ giải thuật ..................................................................................31 
3.6.2.1. Lưu đồ giải thuật train dữ liệu...........................................................31 
3.6.2.2. Lưu đồ tính giá trị dự đoán cho u và i...............................................32 
3.6.2.3. Lưu đồ cập nhật giá trị của W, H tương ứng với u, i ........................33 
3.7. GIỚI THIỆU CHƯƠNG TRÌNH...................................................................33 
3.7.1. Giao diện trang chủ ..............................................................................33 
3.7.2. Giao diện đăng nhập.............................................................................34 
3.7.3. Giao diện lập chương trình đào tạo và kế hoạch học tập mẫu: ............34 
3.7.4. Giao diện ghi file, và dự đoán điểm dành cho người quản trị: ............35 
3.7.5. Giao diện dự đoán điểm cho sinh viên.................................................36 
CHƯƠNG 4: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN..........................................37 
4.1. KẾT QUẢ ĐẠT ĐƯỢC.................................................................................37 
4.1.1. Kết quả ứng dụng .................................................................................37 
4.1.2. Kiến thức đạt được ...............................................................................37 
4.2. HẠN CHẾ, KHÓ KHĂN VÀ HƯỚNG PHÁT TRIỂN ................................37 
GVHD: TS. Nguyễn Thái Nghe 
 

 ii
   

SVTH: Phan Thị Bích Tuyền
Phạm Thị Thanh Loan 


Luận văn tốt nghiệp


Xây dựng Hệ thống hỗ trợ sinh viên lập kế hoạch học tập

4.2.1. Hạn chế.................................................................................................37 
4.2.2. Khó khăn ..............................................................................................38 
4.2.3. Hướng phát triển ..................................................................................38 
TÀI LIỆU THAM KHẢO.........................................................................................39 
PHỤ LỤC..................................................................................................................40 
1. HƯỚNG DẪN CÀI ĐẶT .................................................................................40 
1.1 Cài đặt PostgreSQL..................................................................................40 
1.2 Cài đặt JDK ..............................................................................................41 
1.3. Cài đặt Apache Tomcat ...........................................................................42 
2. 

HƯỚNG DẪN SỬ DỤNG ...........................................................................47 
2.1. Chức năng trên trang chủ ........................................................................47 
2.2. Chức năng cập nhật chương trình đào tạo...............................................47 
2.3. Thêm chương trình đào tạo .....................................................................48 
2.4. Giao diện hiển thị kế hoạch học tập mẫu: ...............................................50 

 

GVHD: TS. Nguyễn Thái Nghe 
 

 iii
   

SVTH: Phan Thị Bích Tuyền
Phạm Thị Thanh Loan 



Luận văn tốt nghiệp

Xây dựng Hệ thống hỗ trợ sinh viên lập kế hoạch học tập

DANH SÁCH HÌNH
Hình 1- 1: Thông báo nhắc nhở đối với sinh viên bị cảnh báo học vụ .......................1
Hình 2- 1: Ma trận biểu diễn xếp hạng điểm của sinh viên trên môn.........................6 
Hình 2- 2: Minh họa kỹ thuật phân rã ma trận............................................................8 
Hình 2- 3: Giải thuật phân rã ma trận sử dụng SGD...................................................9 
Hình 2- 4: Kiến trúc 7 modules trong Spring Framework ........................................11 
Hình 2- 5: Quá trình biên dịch trang JSP ..................................................................15
Hình 3- 1: Mô hình dữ liệu quan niệm CDM ...........................................................19 
Hình 3- 2: Mô hình MLD..........................................................................................20 
Hình 3- 3: Lưu đồ dòng dữ liệu DFD cấp 0..............................................................27 
Hình 3- 4: Lưu đồ dòng dữ liệu DFD cấp 1..............................................................27 
Hình 3- 5: Lưu đồ dòng dữ liệu DFD cấp 2..............................................................28 
Hình 3- 6: Sơ đồ chức năng của hệ thống .................................................................30 
Hình 3- 7: Lưu đồ giải thuật train dữ liệu .................................................................31 
Hình 3- 8: Lưu đồ tính giá trị dự đoán ......................................................................32 
Hình 3- 9: Lưu đồ cập nhật giá trị của W, H.............................................................33 
Hình 3- 10: Giao diện trang chủ................................................................................33 
Hình 3- 11: Giao diện đăng nhập ..............................................................................34 
Hình 3- 12: Giao diện thêm chương trình đào tạo ....................................................34 
Hình 3- 13: Giao diện hiển thị chương trình đào tạo ................................................35 
Hình 3- 14: Giao diện xem kế hoạch học tập mẫu....................................................35 
Hình 3- 15: Giao diện dự đoán điểm cho người quản trị ..........................................36 
Hình 3- 16: Giao diện dự đoán điểm cho sinh viên ..................................................36 

Hình 0- 1: Chọn nơi cài đặt PostgreSQL ..................................................................40 

GVHD: TS. Nguyễn Thái Nghe 
 

 iv
   

SVTH: Phan Thị Bích Tuyền
Phạm Thị Thanh Loan 


Luận văn tốt nghiệp

Xây dựng Hệ thống hỗ trợ sinh viên lập kế hoạch học tập

Hình 0- 2: Nhập mật khẩu cho tài khoản postgres....................................................40 
Hình 0- 3: Màn hình cài đặt JDK ..............................................................................41 
Hình 0- 4: Chọn nơi cài đặt JDK ..............................................................................41 
Hình 0- 5: Thiết đặt biến môi trường cho JDK.........................................................42 
Hình 0- 6: Màn hình cài đặt Apache Tomcat............................................................42 
Hình 0- 7: Chọn chế độ cài đặt..................................................................................43 
Hình 0- 8: Thiết lập cổng mặc định cho Tomcat và tài khoản Administrator ..........43 
Hình 0- 9: Cấu hình đường dẫn tới JRE hoặc đường dẫn tới JDK ...........................44 
Hình 0- 10: Chọn nơi cài đặt Apache Tomcat ..........................................................44 
Hình 0- 11: Khởi động Server Apache Tomcat ........................................................45 
Hình 0- 12: Tiến trình khởi động Apache Tomcat....................................................45 
Hình 0- 13: Trang chủ Apache Tomcat ....................................................................46 
Hình 0- 14: Đăng nhập vào trang quản lý các ứng dụng ..........................................46 
Hình 0- 15: Trang quản lý các ứng dụng. .................................................................46 
Hình 0- 16: Deploy source nguồn .............................................................................46
Hình 4- 1: Chức năng trên trang chủ.........................................................................47 

Hình 4- 2: Chức năng cập nhật chương trình đào tạo ...............................................47 
Hình 4- 3: Giao diện hiển thị chương trình đào tạo ..................................................48 
Hình 4- 4: Giao diện thêm học phần vào chương trình đào tạo và kế hoạch học tập
...................................................................................................................................49 
Hình 4- 5: Giao diện lỗi nhập thiếu thông tin ...........................................................49 
Hình 4- 6: Giao diện lỗi nhập trùng học phần...........................................................50 
Hình 4- 7: Giao diện xem kế hoạch học tập..............................................................50 

GVHD: TS. Nguyễn Thái Nghe 
 

 v
   

SVTH: Phan Thị Bích Tuyền
Phạm Thị Thanh Loan 


Luận văn tốt nghiệp

Xây dựng Hệ thống hỗ trợ sinh viên lập kế hoạch học tập

DANH SÁCH BẢNG
Bảng 1- 1: Kế hoạch thực hiện và phân công công việc..................................................4
Bảng 2- 1: Chuyển đổi điểm ............................................................................................5 
Bảng 2- 2: Thông tin giới hạn khả năng của PostgreSql.................................................11
Bảng 3- 1: Chức năng của nhóm người dùng trong hệ thống........................................18 
Bảng 3- 2: Bảng khoa chủ quản .....................................................................................21 
Bảng 3- 3: Bảng bộ môn ................................................................................................21 
Bảng 3- 4: Bảng ngành...................................................................................................22 

Bảng 3- 5: Bảng khóa đào tạo ........................................................................................22 
Bảng 3- 6: Bảng lớp .......................................................................................................23 
Bảng 3- 7: Bảng sinh viên..............................................................................................23 
Bảng 3- 8: Bảng niên khóa học kỳ .................................................................................24 
Bảng 3- 9: Bảng học phần..............................................................................................24 
Bảng 3- 10: Bảng học phần tiên quyết...........................................................................25 
Bảng 3- 11: Bảng chương trình đào tạo .........................................................................25 
Bảng 3- 12: Bảng điểm ..................................................................................................26 

GVHD: TS. Nguyễn Thái Nghe 
 

 vi
   

SVTH: Phan Thị Bích Tuyền
Phạm Thị Thanh Loan 


Luận văn tốt nghiệp

Xây dựng Hệ thống hỗ trợ sinh viên lập kế hoạch học tập

DANH SÁCH THUẬT NGỮ
JDK
CSS
XML
JSP
MVC
POJO

RS
MF
ODBC
URL
J2EE
JDBC
IoC
EJB
AOP
DAO
ORM
API
HQL
JSON
AJAX
IDE
HTML
RMSE
SGD
JNDI
JDO

Java Development Kit
Cascading Style Sheets
eXtensible Markup Language
JavaServer Pages
Model-View-Controller
Plain Old Java Object
Recommender System
Matrix Factorization

Open Database Connectivity
Uniform Resource Locator
Java 2 Platform, Enterprise Edition
Java Database Connectivity
Inversion of Control
Enterprise JavaBean
Aspect Oriented Programming
Data Access Object
Object Relational Mapping
Application Programming Interface
Hibernate Query Language
Java Database Connectivity
Asynchronous Javascript And XML
Integrated Development Environment
HyperText Markup Language
Root Mean Squared Error
Stochastic Gradient Descent
Java Naming and Directory Interface
Java Data Objects

GVHD: TS. Nguyễn Thái Nghe 
 

 vii
   

SVTH: Phan Thị Bích Tuyền
Phạm Thị Thanh Loan 



Luận văn tốt nghiệp

Xây dựng Hệ thống hỗ trợ sinh viên lập kế hoạch học tập

ABSTRACT
Nowadays, information technology is developed strongly and fastly, it’s
applied in many areas of human life such as science, technology, service and
commerce... With the advantages of stable, fast, they have been developed and
expanded to many sectors, jobs, and areas.
Today, Can Tho university has been training under the applicable credit
system, so planning learning is important and necessary for each student. This thesis
was done with purpose of supporting student’s planning learning which is suitable
on the ability of each person. In addition, it will contribute to development the open
source softwares in Vietnam.
The systems support student learning plan focuses on applying technology
such as Java EE and its frameworks are Spring framework and Hibernate
framework, recommender system (RS) with matrix factorization technique (MF)
and PostgreSQL database management system.
After more than 4 months to implement the project, the system has been built
with features designed for two groups of users: students and administrators.

GVHD: TS. Nguyễn Thái Nghe 
 

 viii
   

SVTH: Phan Thị Bích Tuyền
Phạm Thị Thanh Loan 



Luận văn tốt nghiệp

Xây dựng Hệ thống hỗ trợ sinh viên lập kế hoạch học tập

TÓM TẮT
Trong thời đại ngày nay, công nghệ thông tin đang được phát triển mạnh mẽ,
nhanh chóng và được ứng dụng vào nhiều lĩnh vực trong cuộc sống như khoa học,
kỹ thuật, dịch vụ, thương mại... Với ưu điểm ổn định, nhanh chóng, chúng ngày
càng được phát triển và mở rộng sang nhiều ngành nghề, lĩnh vực khác nhau.
Trường Đại học Cần Thơ đã và đang áp dụng đào tạo theo học chế tín chỉ, vì
vậy việc lập kế hoạch học tập phù hợp và hiệu quả là rất quan trọng, cần thiết đối
với mỗi sinh viên. Luận văn này được làm với mục đích hỗ trợ sinh viên lập kế
hoạch học tập phù hợp theo khả năng mỗi người. Bên cạnh đó, nó sẽ góp phần vào
sự phát triển của phần mềm mã nguồn mở tại Việt Nam.
Hệ thống hỗ trợ sinh viên lập kế hoạch học tập sẽ tập trung vào việc áp dụng:
Java EE cùng với các framework hỗ trợ bao gồm Spring framework và Hibernate
framework, hệ thống gợi ý (Recommender System – RS) với kỹ thuật phân rã ma
trận (matrix factorization – MF) và hệ quản trị cơ sở dữ liệu PostgreSQL.
Sau khoảng hơn 4 tháng thực hiện đề tài, hệ thống đã được xây dựng với các
tính năng được thiết kế cho 2 nhóm người dùng: sinh viên và người quản trị.

GVHD: TS. Nguyễn Thái Nghe 
 

 ix
   

SVTH: Phan Thị Bích Tuyền
Phạm Thị Thanh Loan 



CHƯƠNG 1: TỔNG QUAN
1.1.

ĐẶT VẤN ĐỀ

Trường Đại học Cần Thơ được thành lập năm 1966, là một trường đại học đa
ngành đa lĩnh vực và là cơ sở đào tạo, nghiên cứu khoa học trọng điểm của Nhà
nước ở Đồng bằng sông Cửu Long. Năm học 2007-2008, lần đầu tiên Trường Đại
học Cần Thơ (ĐHCT) áp dụng học chế tín chỉ một cách triệt để theo «Quy chế đào
tạo đại học và cao đẳng hệ chính quy theo hệ thống tín chỉ» ban hành theo Quyết
định số 43/2007/QĐ-BGDĐT, ngày 15/8/2007 của Bộ trưởng Bộ Giáo dục và Đào
tạo.
Học chế tín chỉ có lợi cho sinh viên về nhiều mặt như chủ động được thời
gian học tập, thiết kế kế hoạch học tập theo khả năng... Tuy nhiên hàng năm,
Trường ĐHCT phải ra quyết định cảnh báo học vụ hoặc buộc thôi học một số lượng
sinh viên không nhỏ do kết quả học tập kém. Tháng 8/2013 vừa qua, Trường ĐHCT
vừa ra quyết định cảnh báo học vụ lần thứ 1 đối với 168 sinh viên [6] và có thông
báo nhắc nhở sinh viên học tốt hơn:

Hình 1- 1: Thông báo nhắc nhở đối với sinh viên bị cảnh báo học vụ
(Nguồn />bao%20trinh%20BGH.doc)

Một trong những lý do dẫn đến tình trạng trên là do sinh viên lập kế hoạch
học tập chưa phù hợp. Việc sắp xếp, lựa chọn học phần tự chọn để lập kế hoạch học


Luận văn tốt nghiệp


Xây dựng Hệ thống hỗ trợ sinh viên lập kế hoạch học tập

tập hợp lý là rất quan trọng. Giải quyết tốt vấn đề này sẽ có ý nghĩa thiết thực đến
việc nâng cao chất lượng học tập và tỷ lệ tốt nghiệp của sinh viên tại Khoa Công
nghệ thông tin và Truyền thông, Trường Đại học Cần Thơ.
Hiện nay, việc hỗ trợ sinh viên lập kế hoạch học tập phù hợp để đạt kết quả
tốt đã được Trường ĐHCT quan tâm, giải quyết (như hình trên). Tuy nhiên, hiện chỉ
dừng lại ở việc cử cố vấn học tập phụ trách theo dõi, đánh giá và tư vấn cho sinh
viên lập kế hoạch học tập. Với cách làm này, cố vấn học tập đã gặp không ít khó
khăn, hạn chế về thời gian, công sức trong việc theo dõi, đánh giá và tư vấn cho
sinh viên.
Từ những lý do trên, hệ thống hỗ trợ sinh viên lập kế hoạch học tập ra đời
với những ưu điểm: gợi ý một kế hoạch học tập mẫu, hỗ trợ sinh viên dự đoán kết
quả học phần theo khả năng, giúp sinh viên giảm lo lắng, bối rối khi đưa ra quyết
định chọn học phần, giảm thiểu thời gian cố vấn học tập tư vấn cho từng sinh viên.
1.2.

LỊCH SỬ VẤN ĐỀ

Trường ĐHCT đã ứng dụng công nghệ thông tin cho phép sinh viên tự lập kế
hoạch học tập, đăng ký học phần trực tuyến. Tuy nhiên, vẫn chưa có một hệ thống
cho phép dự báo kết quả, hướng dẫn sinh viên lập kế hoạch theo khả năng.
Việc triển khai hệ thống hỗ trợ sinh viên lập kế hoạch học tập tại Trường
ĐHCT nói chung, Khoa Công nghệ Thông tin và Truyền thông nói riêng sẽ góp
phần tiết kiệm thời gian và công sức cho thầy và trò trong việc phát hiện sớm những
sinh viên có khả năng bị cảnh báo học vụ, nhằm giúp họ cải thiện tình trạng học tập,
giảm gánh nặng cho gia đình và xã hội.
1.3.

MỤC TIÊU


Mục tiêu của luận văn là xây dựng một hệ thống hỗ trợ sinh viên lập kế
hoạch học tập bằng cách dựa trên kết quả những học phần đã có trước đó để dự
đoán kết quả của tất cả các học phần còn lại trong chương trình đào tạo. Từ đó, hệ
thống đưa ra giá trị dự đoán kết quả học phần, giúp sinh viên dễ dàng ra quyết định
lựa chọn học phần và lập kế hoạch học tập.
1.4.

PHẠM VI

Đề tài tập trung nghiên cứu, ứng dụng kỹ thuật phân rã ma trận trong hệ
thống gợi ý vào việc lập kế hoạch học tập cho sinh viên Khoa Công nghệ Thông tin
và Truyền thông – Trường Đại học Cần Thơ
-

Xây dựng công cụ đưa ra dự đoán điểm học phần hỗ trợ sinh viên lập kế
hoạch học tập đạt kết quả cao.

-

Xây dựng chương trình đào tạo (theo từng ngành học và khóa học)

-

Xây dựng kế hoạch học tập mẫu (theo từng ngành học và khóa học).

GVHD: TS. Nguyễn Thái Nghe 
 

 2

   

SVTH: Phan Thị Bích Tuyền
Phạm Thị Thanh Loan 


Luận văn tốt nghiệp
1.5.

Xây dựng Hệ thống hỗ trợ sinh viên lập kế hoạch học tập

Dự đoán điểm học phần cho sinh viên

PHƯƠNG PHÁP THỰC HIỆN
1.5.1. Tìm hiểu lý thuyết
-

Tìm hiểu về học chế tín chỉ, chương trình đào tạo, quy định lập kế hoạch
học tập, đăng ký học phần và cách tính điểm của Trường Đại học Cần
Thơ.

-

Tìm hiểu kỹ thuật phân rã ma trận trong xây dựng hệ thống gợi ý

-

Tìm hiểu cách xây dựng ứng dụng Java EE sử dụng công nghệ
JSP/Servlet và Spring Framework.


-

Tìm hiểu các thành phần tích hợp trong Spring Framework để xây dựng
ứng dụng Web.

1.5.2. Cài đặt chương trình
-

Apache Tomcat server 7.0 – là một Java Servlet được phát triển bởi
Apache Software Foundation. Dùng để thực thi các ứng dụng Java Servlet
và JavaServer Pages.

-

Java Development Kit (JDK) – bộ công cụ cho người phát triển ứng dụng
bằng ngôn ngữ lập trình Java.

-

Eclipse IDE for Java EE Developers – là một môi trường tiêu chuẩn cho
phát triển các ứng dụng Java EE.

-

Postgre SQL 8.3 – Hệ quản trị cơ sở dữ liệu quan hệ nguồn mở.

-

Notepad++ v5.9.8 dùng để viết mã JavaScript, HTML, CSS, XML


Kế hoạch thực hiện:

STT

Tuần

1

1

Công việc
Tìm hiểu về JSP/Servlet, Apache
Tomcat Server, hệ quản trị
PostgreSQL

2

2

Tìm hiểu về Spring Framework

3

3

Tìm hiểu về Spring Web MVC
Framework

4


4

Tìm hiểu về Hibernate Framework

5

5

Đặc tả, phân tích yêu cầu

6

6

Thiết kế mô hình

GVHD: TS. Nguyễn Thái Nghe 
 

 3
   

Người thực hiện
Phan Thị Bích Tuyền
Phạm Thị Thanh Loan

SVTH: Phan Thị Bích Tuyền
Phạm Thị Thanh Loan 



Luận văn tốt nghiệp

Xây dựng Hệ thống hỗ trợ sinh viên lập kế hoạch học tập

STT

Tuần

Công việc

Người thực hiện

7

7

8

8, 9

Tích hợp Hibernate framework vào
Spring framework, tạo các lớp
POJO chứa các đối tượng và quan
hệ để ánh xạ thành cơ sở dữ liệu

9

10, 11, 12,
13, 14


Xử lý dữ liệu, thực hiện train, test
dữ liệu

Phan Thị Bích Tuyền

Cấu hình Spring và xây dựng
chương trình

Phạm Thị Thanh Loan

Kiểm tra và sửa lỗi chương trình

Phan Thị Bích Tuyền

Tìm hiểu các thành phần tích hợp
vào Spring Framework

10

15

11

16,17

Phạm Thị Thanh Loan
Viết báo cáo
Bảng 1- 1: Kế hoạch thực hiện và phân công công việc

GVHD: TS. Nguyễn Thái Nghe 

 

 4
   

SVTH: Phan Thị Bích Tuyền
Phạm Thị Thanh Loan 


Luận văn tốt nghiệp

Xây dựng Hệ thống hỗ trợ sinh viên lập kế hoạch học tập

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1. SƠ LƯỢT VỀ HỌC CHẾ TÍN CHỈ TẠI TRƯỜNG ĐẠI HỌC CẦN THƠ
Chương trình đào tạo (CTĐT):
CTĐT của mỗi ngành học gồm các học phần thuộc khối kiến thức giáo dục
đại cương và giáo dục chuyên nghiệp. Tích lũy đủ các học phần của CTĐT sinh
viên sẽ được xét cấp bằng tốt nghiệp.
Kế hoạch học tập
Mỗi sinh viên phải xây dựng kế hoạch học tập toàn khóa bằng cách liệt kê
các học phần phải học cho từng học kỳ của khóa học. Kế hoạch học tập là cơ sở để
sinh viên đăng ký học phần trong mỗi học kỳ và có thể thay đổi thứ tự học phần,
thêm bớt học phần tự chọn trong quá trình học.
Học kỳ (HK): Mỗi năm học được tổ chức thành 3 HK: 2 HK chính và HK hè.
Học phần là lượng kiến thức tương đối trọn vẹn được dạy trong 1 học kỳ.
Mỗi học phần có tên riêng và được ký hiệu bằng một mã số.
Học phần bắt buộc là học phần sinh viên phải tích lũy (kết quả từ điểm D
trở lên).
Học phần tự chọn là học phần sinh viên tự lựa chọn để tích lũy.

Tín chỉ là đơn vị được dùng để do lường kiến thức của mỗi học phần và toàn
khóa học.
Điểm học phần được công bố và ghi nhận theo theo hệ điểm chữ A-B-C-DF. Học phần chỉ được tích lũy khi đạt từ điểm D trở lên.
Các điểm chữ sẽ được quy đổi sang điểm số (thang điểm 4) để tính điểm
trung bình. Cách quy đổi được thực hiện theo bảng dưới đây:
Điểm chữ

Điểm số (hệ 10)

Điểm số (hệ 4)

A

>= 8,5

4,0

B+

>=8,0 và <=8,4

3,5

B

>=7,0 và <=7,9

3,0

C+


>=6,5 và <=6,9

2,5

C

>=5,5 và <=6,4

2,0

D+

1,5

D

>=5,0 và <=5,4

1,0

F

<5,0
Bảng 2- 1: Chuyển đổi điểm

0,0

GVHD: TS. Nguyễn Thái Nghe 
 


 5
   

SVTH: Phan Thị Bích Tuyền
Phạm Thị Thanh Loan 


Luận văn tốt nghiệp

Xây dựng Hệ thống hỗ trợ sinh viên lập kế hoạch học tập

Cảnh báo học vụ: là hình thức cảnh báo khi sinh viên có điểm trung bình
dưới 0,80 hoặc đăng ký không đủ số tín chỉ tối thiểu (8 tín chỉ) trong học kỳ chính.
Buộc thôi học nếu đã bị cảnh báo học vụ và học kỳ chính kế tiếp có điểm
trung bình dưới 1,00
2.2. KỸ THUẬT PHÂN RÃ MA TRẬN TRONG XÂY DỰNG HỆ THỐNG GỢI Ý
Phần lý thuyết dưới đây được sử dụng từ tài liệu số [5] có điều chỉnh các
khái niệm cho phù hợp với nội dung luận văn
2.2.1. Hệ thống gợi ý và vấn đề dự đoán xếp hạng (rating prediction)
Hệ thống gợi ý (Recommender System – RS) được ứng dụng khá thành công
trong dự đoán sở thích của người dùng; Nó là một dạng của hệ thống lọc thông tin
(information filltering), được sử dụng để dự đoán sở thích (preference) hay xếp hạng
(rating) mà người dùng có thể dành cho một mục thông tin (item) nào đó mà họ chưa
xem xét tới trong quá khứ (item có thể là bài hát, đoạn phim, sách, bài báo, ...)
Hiện tại RS đang được ứng dụng khá thành công trên nhiều lĩnh vực khác nhau
như: thương mại điện tử (bán hàng trực tuyến), giải trí (gợi ý phim ảnh, video clip, âm
nhạc,...), giáo dục và đào tạo (gợi ý nguồn tài nguyên học tập,... cho người học)
Trong RS, ba thông tin cơ bản về sinh viên, học phần và điểm được biểu diễn
thông qua một ma trận như trong hình, mỗi dòng là một sinh viên, mỗi cột là một

học phần và mỗi ô là một giá trị dự đoán biểu diễn điểm của sinh viên trên học phần
tương ứng. Các ô có giá trị là những học phần mà các sinh viên đã đạt điểm trong
quá khứ. Những ô trống là những học phần chưa có điểm (điều đáng lưu ý là mỗi
sinh viên chỉ đạt điểm ở một vài học phần trong quá khứ, do vậy có rất nhiều ô
trống trong ma trận này – còn gọi là ma trận cực thưa – sparse matrix).

Hình 2- 1: Ma trận biểu diễn xếp hạng điểm của sinh viên trên môn
Nhiệm vụ chính của RS là dựa vào các ô có giá trị trong ma trận này (điểm
của các sinh viên đã đạt trong quá khứ), để dự đoán các ô còn trống (điểm dự đoán
của sinh viên hiện hành), từ đó gợi ý chúng cho sinh viên.
Một cách hình thức:

GVHD: TS. Nguyễn Thái Nghe 
 

 6
   

SVTH: Phan Thị Bích Tuyền
Phạm Thị Thanh Loan 


Luận văn tốt nghiệp

Xây dựng Hệ thống hỗ trợ sinh viên lập kế hoạch học tập

• Gọi U là một tập hợp n user, |U| = n, và u là một sinh viên cụ thể nào
đó (u U).
• Gọi I là một tập hợp m item, |I| = m, và i là một học phần cụ thể nào
đó (i I).

• Gọi R là một tập hợp các giá trị dùng để ước lượng điểm của sinh viên,
và rui R (R Â) là điểm dự đoán của sinh viên u trên học phần i.
• Gọi Dtrain ⊆ U × I × R là tập dữ liệu huấn luyện
• Gọi Dtest ⊆ U × I × R là tập dữ liệu kiểm thử.
Gọi
r: U × I →R
(u, i)
Mục tiêu của RS là tìm một hàm :U × I → ℜ

rui

Sao cho ξ(r, ) thỏa mãn một điều kiện nào đó. Ví dụ, nếu ξ là một hàm ước
lượng lỗi như Root Mean Squared Error (RMSE) thì nó cần phải được tối tiểu.
(1)
RS có 3 nhóm giải thuật chính:
• Nhóm giải thuật cộng tác (Collaborative Filtering): trong nhóm này,
các giải thuật chủ yếu dựa trên các kỹ thuật:
o Phương pháp láng giềng (Neighborhood-based, còn gọi là
Memory-based)
o Dựa trên mô hình (Model-based): Nhóm này liên quan đến việc
xây dựng các mô hình dự đoán dựa trên các dữ liệu thu thập được
trong quá khứ. Như mô hình Bayesian, các mô hình nhân tố tiềm ẩn
(latent factor models): trong đó kỹ thuật phân rã ma trận (matrix
factorization) là một điển hình.


Nhóm giải thuật lọc trên nội dung (Content-based Filtering)

Kết hợp cả hai
2.2.2. Kỹ thuật phân rã ma trận

Kỹ thuật phân rã ma trận (Matrix Factorization – MF) là một trong những kỹ
thuật tốt nhất hiện nay trong RS. MF không chỉ hoạt động tốt trên dữ liệu của hệ
thống gợi ý trong lĩnh vực giải trí mà còn hoạt động tốt trên cả dữ liệu của lĩnh vực
giáo dục.
Kỹ thuật phân rã ma trận là việc chia một ma trận lớn X thành hai ma trận có
kích thước nhỏ hơn W và H, sao cho ta có thể xây dựng lại X từ hai ma trận nhỏ
hơn này càng chính xác càng tốt, nghĩa là X ~ WHT, được minh họa như hình sau:

GVHD: TS. Nguyễn Thái Nghe 
 

 7
   

SVTH: Phan Thị Bích Tuyền
Phạm Thị Thanh Loan 


Luận văn tốt nghiệp

Xây dựng Hệ thống hỗ trợ sinh viên lập kế hoạch học tập

Hình 2- 2: Minh họa kỹ thuật phân rã ma trận
Gọi wuk và hik là các phần tử tương ứng của hai ma trận W và H, khi đó điểm
của sinh viên u trên học phần i được dự đoán bởi công thức:
(2)
Như vậy vấn đề then chốt của kỹ thuật MF là làm sao để tìm được giá trị của
hai tham số W và H. Hai tham số này có được bằng cách tối ưu hóa hàm mục tiêu
(objectivefunction). Hàm mục tiêu thông dụng nhất trong RS chính là RMSE ở
công thức (1). Ta có thể viết lại hàm mục tiêu của MF như sau:


Một trong những kỹ thuật có thể dùng để tối ưu hóa hàm mục tiêu là dùng
SGD (Stochastic Gradient Descent). Để tối ưu hóa hàm mục tiêu (3), trước tiên ta
khởi tạo các giá trị ngẫu nhiên cho W và H, sau đó từng bước cập nhật giá trị của
chúng cho đến khi hàm mục tiêu hội tụ về giá trị nhỏ nhất (convergence).
Để làm được điều đó, ta cần phải biết là nên tăng hay nên giảm các giá trị
của Wvà H qua mỗi lần cập nhật, do vậy cần phải tìm đạo hàm tương ứng của
chúng:

Sau khi tìm đạo hàm, các phần tử của W và H sẽ được cập nhật ngược hướng
với giá trị của đạo hàm qua công thức:

GVHD: TS. Nguyễn Thái Nghe 
 

 8
   

SVTH: Phan Thị Bích Tuyền
Phạm Thị Thanh Loan 


Luận văn tốt nghiệp

Xây dựng Hệ thống hỗ trợ sinh viên lập kế hoạch học tập

Trong đó β là tốc độ học (learning rate, 0 <β < 1). Quá trình cập nhật sẽ
được thực hiện đến khi nào hàm mục tiêu đạt được giá trị nhỏ nhất.
Chính tắc hóa (Regularization): Để ngăn chặn sự quá khớp (overfitting),
người ta thay đổi hàm mục tiêu (3) để thêm vào một đại lượng gọi là chính tắc hóa

(regularization) để điều khiển độ lớn của các giá trị trong W và H. Hàm mục tiêu
(3) bây giờ trở thành:

Trong đó λ là hệ số chính tắc hóa (0 ≤ λ <1) và || ||2F ⋅ là chuẩn
Frobenius1.Với hàm mục tiêu mới này, giá trị của wuk và hik được cập nhật qua công
thức:

Giải thuật 1 mô tả chi tiết quá trình huấn luyện mô hình MF bằng kỹ thuật
SGD. Trước hết, giá trị của W và H được khởi tạo một cách ngẫu nhiên, ví dụ, lấy
từ phân phối chuẩn N (0, σ2) với trung bình là 0 và độ lệch là σ2 = 0.01, như ở dòng
2-3. Ở mỗi lần lặp, ta chọn ngẫu nhiên một dòng (u, i, rui) từ tập dữ liệu huấn luyện,
kế tiếp là tính giá trị dự đoán cho u và i này, như ở các dòng 5-9. Sau đó cập nhật
các giá trị của W and H tương ứng của u và i như ở dòng 11-14.
Giải thuật 1. Kỹ thuật phân rã ma trận sử dụng SGD. Các siêu tham số
(hyperparameters): Số lần lặp (Iter); số nhân tố tiềm ẩn K; tốc độ học β; và
regularization λ

Hình 2- 3: Giải thuật phân rã ma trận sử dụng SGD
GVHD: TS. Nguyễn Thái Nghe 
 

 9
   

SVTH: Phan Thị Bích Tuyền
Phạm Thị Thanh Loan 


Luận văn tốt nghiệp


Xây dựng Hệ thống hỗ trợ sinh viên lập kế hoạch học tập

Dự đoán kết quả:
Sau quá trình tối ưu (huấn luyện), ta có được hai tham số W và H, khi đó,
điểm dự đoán của sinh viên u cho học phần i được dự đoán qua công thức:

Ví dụ: Dự đoán điểm của sinh viên 2 cho học phần 2 trong hình 3:
ui

= 0.5*0.8 + 0.6*0.1 = 0.46

2.3. GIỚI THIỆU VỀ HỆ QUẢN TRỊ CƠ SỞ DỮ LIỆU POSTGRESQL
PostgreSQL là hệ quản trị cơ sở dữ liệu được viết theo hướng mã nguồn mở
và rất mạnh mẽ. Hệ quản trị cơ sở dữ liệu này đã có hơn 15 năm phát triển, có khả
năng làm việc trên cơ sở dữ liệu lớn.
PostgreSQL có thể chạy trên tất cả các hệ điều hành, bao gồm cả Linux,
UNIX và Windows. Nó hỗ trợ đầy đủ các foreign keys, joins, views, triggers,… Hệ
quản trị này còn bao gồm các kiểu dữ liệu SQL 2008 như INTEGER, NUMBER,
BOOLEAN, CHAR, VARCHAR, DATE INTERVAL, và TIMESTAMPs.
PostgreSQL cũng hỗ trợ lưu trữ các đối tượng có kiểu dữ liệu nhị phân lớn, bao
gồm cả hình ảnh, âm thanh, hoặc video. Hệ quản trị cơ sở dữ liệu này được sử dụng
thông qua giao diện của các ngôn ngữ C / C + +, Java, .Net, Perl, Python, Ruby,
Tcl, ODBC…
PostgreSQL là một hệ quản trị cơ sở dữ liệu mạnh, có các tính năng phức tạp
như kiểm soát truy cập đồng thời nhiều phiên bản, khôi phục dữ liệu tại từng thời
điểm (Recovery), quản lý dung lượng bảng (tablespaces), sao chép không đồng bộ,
giao dịch lồng nhau (savepoints), sao lưu trực tuyến hoặc nội bộ, truy vấn phức tạp
và tối ưu hóa, và viết trước các khai báo để quản lý và gỡ lỗi.
Sau đây là một số thông tin giới hạn khả năng của PostgreSQL.


GVHD: TS. Nguyễn Thái Nghe 
 

 10
   

SVTH: Phan Thị Bích Tuyền
Phạm Thị Thanh Loan 


Luận văn tốt nghiệp

Xây dựng Hệ thống hỗ trợ sinh viên lập kế hoạch học tập

Bảng 2- 2: Thông tin giới hạn khả năng của PostgreSql
(Nguồn />
2.4. SPRING FRAMEWORK
Spring là một framework ứng dụng mã nguồn mở, được giới thiệu vào năm 2002,
Rod Johnson đã đưa ra ý tưởng này từ kinh nghiệm làm việc với kiến trúc J2EE.
Spring framework cho phép người phát triển xây dựng bất kỳ ứng dụng nào
trong Java (như stand-alone, Web, JEE application...). Nó cung cấp một framework
toàn diện bao gồm: Core bean container, MVC Framework, AOP integration
framework, JDBC integration framework, EJB integration framework
Spring cũng cung cấp module tích hợp với O/R tool như Hibernate và JDO.
Spring có thể được xem như một kiến trúc chứa 7 module. Chức năng của mỗi
thành phần như sau:

Hình 2- 4: Kiến trúc 7 modules trong Spring Framework

GVHD: TS. Nguyễn Thái Nghe 

 

 11
   

SVTH: Phan Thị Bích Tuyền
Phạm Thị Thanh Loan 


Luận văn tốt nghiệp

Xây dựng Hệ thống hỗ trợ sinh viên lập kế hoạch học tập

Core Container
Core container cung cấp chức năng cơ bản của Spring. Thành phần chính của
nó là Bean Factory, một cài đặt của Factory pattern. BeanFactory áp dụng IoC
pattern để đặc tả sự phụ thuộc từ code của ứng dụng.
Spring Context/Application Context
Spring context là một file cấu hình để cung cấp thông tin ngữ cảnh của
Spring. Spring context cung cấp các service như JNDI access, EJB integration, email, internalization, validation và scheduling functionality.
Spring AOP
Spring AOP module tích hợp chức năng lập trình hướng khía cạnh vào
Spring framework thông qua cấu hình của nó. Spring AOP module cung cấp các
dịch vụ quản lý giao dịch cho các đối tượng trong bất kỳ ứng dụng nào sử dụng
Spring. Với Spring AOP chúng ta có thể tích hợp declarative transaction
management vào trong ứng dụng mà không cần dựa vào EJB component.
Spring AOP module cũng đưa lập trình metadata vào trong Spring. Sử dụng
cái này chúng ta có thể thêm annotation (chú thích) vào source code để hướng dẫn
Spring và làm thế nào để liên hệ với aspect (khía cạnh khác).
Spring DAO

Tầng JDBC và DAO đưa ra một cây phân cấp exception để quản lý kết nối
đến database, điều khiển exception và thông báo lỗi được ném bởi vendor của
database. Tầng exception đơn giản điều khiển lỗi và giảm khối lượng code mà
chúng ta cần viết như mở và đóng kết nối. Module này cũng cung cấp các dịch vụ
quản lý giao dịch cho các đối tượng trong ứng dụng Spring.
Spring ORM
Spring có thể tích hợp với một vài ORM framework để cung cấp Object
Relation tool bao gồm: JDO, Hibernate, OJB và iBatis SQL Maps.
Spring Web Module
Nằm trên application context module, cung cấp context cho các ứng dụng
web. Spring cũng hỗ trợ tích hợp với Struts, JSF và Webwork. Web module cũng
làm giảm bớt các công việc điều khiển nhiều request và gắn các tham số của request
vào các đối tượng domain.
Spring MVC Framework
MVC Framework thì cài đặt đầy đủ đặc tính của MVC pattern để xây
dựng các ứng dụng Web. MVC framework thì cấu hình thông qua giao diện và
GVHD: TS. Nguyễn Thái Nghe 
 

 12
   

SVTH: Phan Thị Bích Tuyền
Phạm Thị Thanh Loan 


×