流水號
40052
課號
IM5027
課程識別碼
725 U3340
無分班
- 3 學分
選修
資訊管理學系 / 資訊管理學研究所
資訊管理學系
資訊管理學研究所
選修- 蔡益坤
- 搜尋教師開設的課程
管理學院 資訊管理學系
tsay@ntu.edu.tw
- 管理學院二號館1108 室
02-33661189
- 三 7, 8, 9
管二302
2 類
修課總人數 50 人
本校 48 人 + 外校 2 人
無領域專長
- 中文授課
- NTU COOL
- 核心能力與課程規劃關聯圖
- 備註
部份週次之週三6有實習課,地點同上課教室。
- 修課限制
限學士班三年級以上
本校選課狀況
已選上0/48外系已選上0/4剩餘名額0已登記0- 課程概述This course introduces a selection of theories and practices that, we believe, will enhance the student's ability in developing correct and high-quality software. The view taken here is that of an engineer (programmer, software engineer, or software architect) and hence the focus of the course is primarily on the technical aspects of software development process. We will start with an overview of the typical software development process and relevant issues and then study in greater details some fundamental elements of software modeling, design, and verification, along with several software productivity tools and development practices. To practice applying these methods and tools, we will carry out a term project that involves the development of a large Web application. We will also study Web application programming techniques and security, to better prepare for the project.
- 課程目標The goal of this course is to acquaint the students with some of the well-used methods and tools for practical software development as well as some fundamentals of software verification, so as to prepare them for a career in software development.
- 課程要求The students are assumed to have taken Object-Oriented Programming and Database Management.
- 預期每週課前或/與課後學習時數About 4.5 hours.
- Office Hour
星期二 13:30 - 14:00 星期三 13:30 - 14:00 Or by appointment using email. - 指定閱讀See the course wiki site: http://im.ntu.edu.tw/~tsay/dokuwiki/doku.php?id=courses:sdm2024:main
- 參考書目Class notes and selected readings.
- 評量方式
30% Final Exam
50% Term Project
Details will be provided on the course wiki site: http://im.ntu.edu.tw/~tsay/dokuwiki/doku.php?id=courses:sdm2024:main
10% Participation
10% Homework
There are five homework assignments.
- 本校尚無訂定 A+ 比例上限。
- 本校採用等第制評定成績,學生成績評量辦法中的百分制分數區間與單科成績對照表僅供參考,授課教師可依等第定義調整分數區間。詳見 學習評量專區。
- 針對學生困難提供學生調整方式
調整方式 說明 A1 以錄音輔助
Assisted by recording
B1 延長作業繳交期限
Extension of the deadline for submitting assignments
C1 延後期末考試日期(時間)
Final exam date postponement
D1 由師生雙方議定
Negotiated by both teachers and students
- 補課資訊
- 課程進度
2/21第 1 週 2/21 Introduction; Productivity Tools: Version Control with Git 2/28第 2 週 2/28 National Holiday 3/6第 3 週 3/6 Software Modeling: An Overview of UML; Term Project: Initial Discussions 3/13第 4 週 3/13 Software Modeling: UML Diagrams; Productivity Tools: Chrome DevTools 3/20第 5 週 3/20 Term Project: Proposal Presentations; Software Development Practice: Design Document 3/27第 6 週 3/27 Software Implementation: Web Programming Pearls 4/3第 7 週 4/3 Software Modeling: Domain Modeling 4/10第 8 週 4/10 Software Development Practice: Agile Development in Practice 4/17第 9 週 4/17 Term Project: First Preliminary Demos; Software Security: Web Application Security 4/24第 10 週 4/24 Productivity Tools: Debuggers; Software Design: Design Patterns 5/1第 11 週 5/1 Software Design: Design Patterns 5/8第 12 週 5/8 Term Project: Second Preliminary Demos; Midterm Discussions 5/15第 13 週 5/15 Software Verification: Testing 5/22第 14 週 5/22 Formal Specification: Formal Logic and Correctness Requirements; Formal Verification: Verification of Programs with Frama-C and ACS 5/29第 15 週 5/29 Term Project: Final Presentations 6/5第 16 週 6/5 Final Exam