D. Toán và Khoa học cơ bản (Mathematics and basic sciences)
28 IT3030 Kiến trúc máy tính 3(3-1-0-6)
Mục tiêu: Môn học này nhằm cung cấp cho sinh viên các khái niệm, nguyên lý, các kỹ thuật lập trình và thiết kế chương trình theo cách tiếp cận hướng đối tượng. Ngôn ngữ minh họa là ngôn ngữ lập trình Java. Ngồi ra mơn học cũng cung cấp cho sinh viên các kỹ năng làm việc nhóm, thuyết trình và thái độ cần thiết để làm việc trong công ty sau này.
Objectives: This course provides students with concepts, principles, methods, and techniques of Object-Oriented
Programming (OOP) with the demonstration of the Java programming language. The course also provides students with such soft skills as team working and presentation, which are necessary for their future jobs.
Nội dung: Sinh viên trước tiên được giới thiệu về công nghệ hướng đối tượng, cơ bản về ngôn ngữ lập trình Java và ngơn ngữ mơ hình hóa thống nhất UML. Tiếp đến, sinh viên được trang bị kiến thức về các nguyên lý trong lập trình hướng đối tượng như trừu tượng hóa, đóng gói, kế thừa, và đa hình và cách áp dụng các nguyên lý này để tối ưu hóa mã nguồn theo tiếp cận lập trình hướng đối tượng. Các kỹ thuật kết tập, hợp thành, kế thừa với lớp trừu tượng và giao diện, lập trình tổng quát, xử lý ngoại lệ, và lập trình giao diện GUI sẽ lần lượt được trình bày cho sinh viên. Trên cơ sở đó, sinh viên có khả năng thiết kế chương trình theo cách tiếp cận hướng đối tượng và trình bày thiết kế của mình bằng biểu đồ lớp trong ngôn ngữ UML. Sau cùng là phần thảo luận liên hệ của khóa học này tới các khóa học liên quan trong chương trình đào tạo và phần thực hành yêu cầu sinh viên vận dụng kiến thức trong khóa học trên các case study.
Content: At the beginning of the course, object-oriented technology, basics of Java programming, and Unified
Modelling Language (UML) are introduced to students. They then get used to four object-oriented programming principles, which are abstraction, encapsulation, inheritance, and polymorphism. Next, object-oriented techniques including aggregation, composition, abstract class, interface, generic programming, exception handling, and graphical user interface (GUI) programming are respectively explained to students. They then practise designing software by means of UML diagrams. The last part of the course is for discussion to help students understand the context of the course in the big picture of the whole education program. This part also instructs students to apply their objected programming techniques in specific case studies.
IT3170 Thuật toán ứng dụng (Applied Algorithms) Khối lượng (Credits): 2(2-0-1-4)
Học phần tiên quyết (Prerequisite): Không (None) Học phần học trước (Pre-courses): IT3010/IT3011
Học phần song hành (Corequisite Courses): Không (None)
Mục tiêu: Học phần sẽ bao quát các vấn đề cơ bản và nâng cao trong phân tích thiết kế và cài đặt thuật tốn, từ đó ứng dụng vào giải các bài tập trực tuyến và các bài toán ứng dụng thực tế. Các bài tốn được mơ tả dưới dạng ứng dụng đa ngành như: giao thông, mạng truyền thông, tin sinh học, xếp lịch, trí tuệ nhân tạo, xử lý dữ liệu, hệ thống phần mềm …. Ngoài việc làm chủ được các kỹ thuật cơ bản của thuật toán, sinh viên được học các kỹ năng cài đặt và cài đặt nhanh các loại thuật toán và cấu trúc dữ liệu cơ bản và tiên tiến khác nhau, từ đó áp dụng vào các bài tập lập trình và các bài tốn thực tế có độ khó cao về thuật tốn và cấu trúc dữ liệu. Học phần cũng giúp sinh viên tiếp cận với một số dạng bài tốn lập trình trong phỏng vấn xin việc ở các cơng ty lớn, một số dạng bài tốn trong các kỳ thi Olympic tin học sinh viên và lập trình sinh viên quốc tế ICPC, điều này giúp sinh viên thuận lợi khi thi tuyển vào các công ty lập trình lớn trong nước và trên thế giới. Sinh viên cũng sẽ được tiếp cận với các hệ thống giải bài và chấm điểm trực tuyến tốt nhất trên thế giới hiện nay.