Serial Number
40052
Course Number
IM5027
Course Identifier
725 U3340
No Class
- 3 Credits
Elective
DEPARTMENT OF INFORMATION MANAGEMENT / GRADUATE INSTITUTE OF INFORMATION MANAGEMENT
DEPARTMENT OF INFORMATION MANAGEMENT
GRADUATE INSTITUTE OF INFORMATION MANAGEMENT
Elective- YIH-KUEN TSAY
- View Courses Offered by Instructor
COLLEGE OF MANAGEMENT DEPARTMENT OF INFORMATION MANAGEMENT
tsay@ntu.edu.tw
- 管理學院二號館1108 室
02-33661189
- Wed 7, 8, 9
管二302
Type 2
50 Student Quota
NTU 48 + non-NTU 2
No Specialization Program
- Chinese
- NTU COOL
- Core Capabilities and Curriculum Planning
- Notes
部份週次之週三6有實習課,地點同上課教室。
- Limits on Course Adding / Dropping
Restriction: juniors and beyond
NTU Enrollment Status
Enrolled0/48Other Depts0/4Remaining0Registered0- Course DescriptionThis 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.
- Course ObjectiveThe 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.
- Course RequirementThe students are assumed to have taken Object-Oriented Programming and Database Management.
- Expected weekly study hours before and/or after class
- Office Hour
Tue 13:30 - 14:00 Wed 13:30 - 14:00 Or by appointment using email. - Designated ReadingClass notes and selected readings.
- ReferencesSee the course wiki site: http://im.ntu.edu.tw/~tsay/dokuwiki/doku.php?id=courses:sdm2023:main
- Grading
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:sdm2023:main
10% Participation
10% Homework
There are five homework assignments.
- NTU has not set an upper limit on the percentage of A+ grades.
- NTU uses a letter grade system for assessment. The grade percentage ranges and the single-subject grade conversion table in the NATIONAL TAIWAN UNIVERSITY Regulations Governing Academic Grading are for reference only. Instructors may adjust the percentage ranges according to the grade definitions. For more information, see the Assessment for Learning Section。
- Adjustment methods for students
Adjustment Method Description A1 以錄音輔助
Assisted by recording
B1 延長作業繳交期限
Extension of the deadline for submitting assignments
C1 延後期末考試日期(時間)
Final exam date postponement
D1 由師生雙方議定
Negotiated by both teachers and students
- Make-up Class Information
- Course Schedule
Week 1 Introduction; Productivity Tools: Version Control with Git Week 2 Software Modeling: An Overview of UML; Term Project: Initial Discussions Week 3 Software Modeling: UML Diagrams; Productivity Tools: Chrome DevTools Week 4 Software Implementation: Web Programming Pearls Week 5 Term Project: Proposal Presentations; Software Development Practice: Design Document Week 6 Software Modeling: Domain Modeling Week 7 Holiday Week 8 Term Project: First Preliminary Demos; Software Security: Web Application Security Week 9 Productivity Tools: Debuggers; Software Design: Design Patterns Week 10 Software Design: Design Patterns Week 11 Software Development Practice: Agile Development in Practice Week 12 Term Project: Second Preliminary Demos; Midterm Discussions Week 13 Software Verification: Testing Week 14 Formal Specification: Formal Logic and Correctness Requirements; Formal Verification: Verification of Programs with Frama-C and ACS Week 15 Term Project: Final Presentations Week 16 Final Exam