This shows you the differences between two versions of the page.
courses:sdm2022:main [2022/04/22 12:30] tsay2 [References] |
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/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: 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}}. | ||
Line 69: | Line 77: | ||
* **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}}] | * **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 78: | 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 88: | 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#The_Manifesto_for_Agile_Software_Development|Agile software development]], Wikipedia. | + | - [[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. |