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
- 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 after class
- Office Hour
Wed 13:30 - 14:00 Thu 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.
- Adjustment methods for students
Adjustment Method Description Teaching methods Assisted by recording
Assignment submission methods Extension of the deadline for submitting assignments
Exam methods Final exam date postponement
Others Negotiated by both teachers and students
- 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