臺大課程網

軟體開發方法

112-2 開課
  • 流水號

    40052

  • 課號

    IM5027

  • 課程識別碼

    725 U3340

  • 無分班

  • 3 學分
  • 選修

    資訊管理學系 / 資訊管理學研究所

      選修
    • 資訊管理學系

    • 資訊管理學研究所

  • 蔡益坤
  • 三 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.


    1. 本校尚無訂定 A+ 比例上限。
    2. 本校採用等第制評定成績,學生成績評量辦法中的百分制分數區間與單科成績對照表僅供參考,授課教師可依等第定義調整分數區間。詳見 學習評量專區
  • 針對學生困難提供學生調整方式
    調整方式說明
    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 週Introduction; Productivity Tools: Version Control with Git
    2/28第 2 週National Holiday
    3/6第 3 週Software Modeling: An Overview of UML; Term Project: Initial Discussions
    3/13第 4 週Software Modeling: UML Diagrams; Productivity Tools: Chrome DevTools
    3/20第 5 週Term Project: Proposal Presentations; Software Development Practice: Design Document
    3/27第 6 週Software Implementation: Web Programming Pearls
    4/3第 7 週Software Modeling: Domain Modeling
    4/10第 8 週Software Development Practice: Agile Development in Practice
    4/17第 9 週Term Project: First Preliminary Demos; Software Security: Web Application Security
    4/24第 10 週Productivity Tools: Debuggers; Software Design: Design Patterns
    5/1第 11 週Software Design: Design Patterns
    5/8第 12 週Term Project: Second Preliminary Demos; Midterm Discussions
    5/15第 13 週Software Verification: Testing
    5/22第 14 週Formal Specification: Formal Logic and Correctness Requirements; Formal Verification: Verification of Programs with Frama-C and ACS
    5/29第 15 週Term Project: Final Presentations
    6/5第 16 週Final Exam