User Tools

Site Tools


courses:sdm2022:main

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

courses:sdm2022:main [2022/03/29 23:31]
tsay2 [Syllabus/Schedule (with links to slides/notes)]
courses:sdm2022:main [2022/06/07 16:53] (current)
tsay2 [Syllabus/Schedule (with links to slides/notes)]
Line 3: Line 3:
  
 ===== Announcements ===== ===== Announcements =====
 +  * 06/07: slides for Frama-C and ACSL available.
 +  * 05/02: review form for the final presentations:​ {{courses:​sdm2022:​Presentations_final.docx|Evaluation by Individual Reviewer}}.
 +  * 05/02: review form for the complete system demos: {{courses:​sdm2022:​Presentations_democomplete_checklist.docx|Check List}}.
 +  * 05/18: {{courses:​sdm2022:​hw5.pdf|HW#​5}} due 11:59PM 05/31.
 +  * 05/17: slides for Hoare Logic available.
 +  * 05/11: slides for Logic available.
 +  * 05/02: review forms for the second preliminary demos: {{courses:​sdm2022:​Presentations_demo2.docx|Evaluation by Individual Reviewer}} and {{courses:​sdm2022:​Presentations_demo2_comments.docx|Team-for-Team Comments}}.
 +  * 04/27: slides for Software Testing available.
 +  * 04/20: {{courses:​sdm2022:​hw4.pdf|HW#​4}} due 2:20PM 04/27.
 +  * 04/13: review forms for the first preliminary demos: {{courses:​sdm2022:​Presentations_demo1.docx|Evaluation by Individual Reviewer}} and {{courses:​sdm2022:​Presentations_demo1_comments.docx|Team-for-Team Comments}}.
 +  * 04/13: slides for Design Document and an example design document available.
 +  * 03/29: slides for Design Patterns and for Introduction to Debuggers available.
   * 03/23: slides for Domain Modeling available.   * 03/23: slides for Domain Modeling available.
   * 03/18: {{courses:​sdm2022:​hw3.pdf|HW#​3}} due 11:59PM 03/29.   * 03/18: {{courses:​sdm2022:​hw3.pdf|HW#​3}} due 11:59PM 03/29.
Line 62: Line 74:
   * **Software Security: Web Application Security** (2/3 week: 03/16b) \\ Dynamic Web pages, client-side scripts, security vulnerabilities,​ vulnerabilities detection and prevention \\ [{{courses:​sdm2022:​web_app_security.pptx|slides}}]   * **Software Security: Web Application Security** (2/3 week: 03/16b) \\ Dynamic Web pages, client-side scripts, security vulnerabilities,​ vulnerabilities detection and prevention \\ [{{courses:​sdm2022:​web_app_security.pptx|slides}}]
   * **Software Modeling: Domain Modeling** (1 week: 03/23) \\ Introduction,​ mathematical preliminaries,​ and basic and higher abstractions [{{courses:​sdm2022:​domain_modeling.pdf|slides}}]\\   * **Software Modeling: Domain Modeling** (1 week: 03/23) \\ Introduction,​ mathematical preliminaries,​ and basic and higher abstractions [{{courses:​sdm2022:​domain_modeling.pdf|slides}}]\\
-  * **Software Design: Design Patterns** (1 and 2/3 weeks: 03/30, 04/06a) \\ Why design patterns, introduction to creational, structural, and behavioral patterns, GoF patterns \\ [{{https://​docs.google.com/​presentation/​d/​1XuFer-lraljLGrcm4R_Qnh50Lrpw_h3WqzVih3PZUec/​edit?​usp=sharing|slides}},​ {{courses:​sdm2022:​DesignPatternsSampleCPP.zip|code examples}}] +  ​* **Productivity Tools: Debuggers** (1/3 week: 03/​30a) ​ [{{https://​docs.google.com/​presentation/​d/​1e0uAAo2PBaPnvvyrOh0JHq486AbWINnlsM-WY5F-EPk/​edit?​usp=sharing|slides}}] 
-  * **Productivity Tools: Debuggers** (1/3 week: 04/​06b) ​ [{{https://​docs.google.com/​presentation/​d/​1e0uAAo2PBaPnvvyrOh0JHq486AbWINnlsM-WY5F-EPk/​edit?​usp=sharing|slides}}]+  ​* **Software Design: Design Patterns** (1 and 2/3 weeks: 03/30b, 04/06) \\ Why design patterns, introduction to creational, structural, and behavioral patterns, GoF patterns \\ [{{https://​docs.google.com/​presentation/​d/​1XuFer-lraljLGrcm4R_Qnh50Lrpw_h3WqzVih3PZUec/​edit?​usp=sharing|slides}},​ {{courses:​sdm2022:​DesignPatternsSampleCPP.zip|code examples}}]
   * **Term Project: First Preliminary Demos** (1/3 week: 04/13a) \\   * **Term Project: First Preliminary Demos** (1/3 week: 04/13a) \\
-  * **Software Development Practice: Design Document** (2/3 week: 04/13b) \\ High level design document, implementation level design document, ​user story (for Agile) ​\\ [{{courses:​sdm2022:​DesignDocIntroduction.ppt|slides}},​ {{courses:​sdm2022:​DesignDocSimpleExample.doc|An Example Design Document}}]+  * **Software Development Practice: Design Document** (2/3 week: 04/13b) \\ Design document introduction,​ high level design document, implementation level design document, ​design document ​for agile development ​\\ [{{courses:​sdm2022:​DesignDocIntroduction.ppt|slides}},​ {{courses:​sdm2022:​DesignDocSimpleExample.doc|An Example Design Document}}]
   * **Software Development Practice: Agile Development in Practice** (1 week: 04/20) \\ Principles for building an agile team, essentials of scrum, kanban, and scrumban, DevOps, and engineering culture\\ [{{https://​docs.google.com/​presentation/​d/​1lG45YaSdTQW40LhdkX8QSCvsR2bxXRM5qD9gJUBn8I4/​edit#​slide=id.p|slides}}]   * **Software Development Practice: Agile Development in Practice** (1 week: 04/20) \\ Principles for building an agile team, essentials of scrum, kanban, and scrumban, DevOps, and engineering culture\\ [{{https://​docs.google.com/​presentation/​d/​1lG45YaSdTQW40LhdkX8QSCvsR2bxXRM5qD9gJUBn8I4/​edit#​slide=id.p|slides}}]
   * **Software Verification:​ Testing** (1 week: 04/27) \\ [{{courses:​sdm2022:​software_testing.pptx|slides}}]   * **Software Verification:​ Testing** (1 week: 04/27) \\ [{{courses:​sdm2022:​software_testing.pptx|slides}}]
Line 74: Line 86:
   * **Term Project: Final Presentations (2022/​05/​25)**   * **Term Project: Final Presentations (2022/​05/​25)**
   * **Final Exam (2022/​06/​01)**   * **Final Exam (2022/​06/​01)**
-  * **Formal Verification:​ Verification Tools** (1 week: 06/08)\\ Verification of programs with Frama-C and ACSL \\ [{{courses:​sdm2022:​frama-c.pdf|slides}}]+  * **Formal Verification:​ Verification Tools** (1 week: 06/08)\\ Verification of programs with Frama-C and ACSL \\ [{{courses:​sdm2022:​frama-c_acsl.pdf|slides}}]
   * **Wrap-Up Discussions** (1 week: 06/15)   * **Wrap-Up Discussions** (1 week: 06/15)
  
Line 84: Line 96:
   - //​[[https://​www.youtube.com/​watch?​v=-4Yp3j_jk8Q|Thinking Above the Code]]//, L. Lamport, Microsoft Research Faculty Summit 2014.   - //​[[https://​www.youtube.com/​watch?​v=-4Yp3j_jk8Q|Thinking Above the Code]]//, L. Lamport, Microsoft Research Faculty Summit 2014.
   - //​[[https://​www.amazon.com/​Software-Requirements-Specifications-Principles-Prejudices/​dp/​0201877120|Software Requirements and Specifications:​ A Lexicon of Practice, Principles and Prejudices]]//,​ M. Jackson, Addison-Wesley,​ 1995.    - //​[[https://​www.amazon.com/​Software-Requirements-Specifications-Principles-Prejudices/​dp/​0201877120|Software Requirements and Specifications:​ A Lexicon of Practice, Principles and Prejudices]]//,​ M. Jackson, Addison-Wesley,​ 1995. 
 +  - [[https://​en.wikipedia.org/​wiki/​Agile_software_development|Agile software development]],​ Wikipedia.
   - [[http://​git-scm.com/​|Git]].   - [[http://​git-scm.com/​|Git]].
   - [[http://​www.eclipse.org/​|Eclipse]],​ The Eclipse Foundation open source community website.   - [[http://​www.eclipse.org/​|Eclipse]],​ The Eclipse Foundation open source community website.
courses/sdm2022/main.1648567887.txt.gz · Last modified: 2022/03/29 23:31 by tsay2