Một số vấn đề chọn lọc về phát triển phần mềm và ngôn ngữ lập trình

Thông tin chung
Mã học phần: 
MAT6093
Chuyên ngành: 
Cơ sở toán học cho tin học
Tóm tắt môn học

Học phần cung cấp cho học viên các kiến thức cơ bản và nâng cao của một trong bốn chủ đề (i) Công nghệ phần mềm (ii) Phân tích và thiết kế hướng đối tượng (iii) Hệ thống nhúng (iv) nguyên lý của các ngôn ngữ lập trình. Cụ thể:

- Chủ đề công nghệ phần mềm: trình bày các nguyên lí trong quá trình quản lí và phát triển phầm mềm với các cách tiếp cận công nghiệp. Các vấn đề như: chu trình phát triển phần mềm, lập kế hoạch, quản trị chất lượng (theo các chuẩn của ISO và IEEE), quản lí rủi ro, kiểm thử …. của phần mềm sẽ được thảo luận

- Chủ đề phân tích và thiết kế hướng đối tượng: cung cấp các kiến thức về phân tích và thiết kế hệ thống hướng đối tượng

- Chủ đề hệ thống nhúng: trình bày các nguyên tắc cơ bản như là hệ điều hành, quản lí tài nguyên, điều khiển, tính toán di động …. của các hệ thống nhúng và hệ thống thời gian

- Chủ đề nguyên lý của các ngôn ngữ lập trình: trình bày một cách toàn diện về các đặc trưng cơ bản và tổng thể của việc thiết kế các ngôn ngữ lập trình truyền thống và hiện đại. Các thành phần cơ bản của một ngôn ngữ lập trình sẽ được thảo luận trong chi tiết như kiểu giá trị, dữ liệu, đặc tả chương trình, sự thực hiện, môi trường, lưu trữ, và các modul cơ bản của một ngôn ngữ lập trình

Tài liệu bắt buộc

  • Pressman R.S., Maxim B.R. (2006), Software Engineering: A Practitioner's Approach, 6th ed., McGraw-Hill. (Bản dịch tiễng Việt cho lần xuất bản thứ 4, Ngô Trung Việt (2004), Kỹ nghệ phần mềm, NXB Giáo dục).
  • Friedman D.P., Wand M. (2008), Essentials of Programming Languages, 3rd edition, MIT Press
  • Weiser M. (1993), “Some Computer Science Issues in Ubiquitous Computing”, Communications of ACM, 36 (7), pp. 75–84.

Tài liệu tham khảo thêm

  • Abelson H., Sussman G.J., Sussman J. (1996), The Structure and Interpretation of Computer Programs, 2nd edition, MIT Press
  • Jalote P. (2005), An Integrated Approach to Software Engineering, 3th ed., Springer.
  • Scott M.L. (2005), Programming Language Pragmatics, 2nd edition, Morgan Kaufmann.
  • Sebesta R.W. (2007), Concepts of Programming Languages, 8th edition, Addison-Wesley.