This shows you the differences between two versions of the page.
courses:sdm2023:main [2023/03/15 14:41] tsay2 [Syllabus/Schedule (with links to slides/notes)] |
courses:sdm2023:main [2023/06/16 17:57] (current) tsay2 [Announcements] |
||
---|---|---|---|
Line 3: | Line 3: | ||
===== Announcements ===== | ===== Announcements ===== | ||
+ | * 06/16: {{courses:sdm2023:sdm2023grade_termproject.pdf|scores of term project}}. | ||
+ | * 06/07: {{courses:sdm2023:sdm2023final.pdf|final exam}} due 5:20PM 06/07. | ||
+ | * 05/24: {{courses:sdm2023:hw5.pdf|HW#5}} due 23:59PM 06/06. | ||
+ | * 05/24: slides for Formal Logic, Hoare Logic, and Frama-C and ACSL available. | ||
+ | * 05/16: suggested solutions to {{courses:sdm2023:hw3_s.pdf|HW#3}} and {{courses:sdm2023:hw4_s.pdf|HW#4}} available. | ||
+ | * 05/10: slides for Software Testing available. | ||
+ | * 05/09: review forms for the second preliminary demo presentations: {{courses:sdm2023:Presentations_demo2.docx|Evaluation by Individual Reviewer}} and {{courses:sdm2023:Presentations_demo2_comments.docx|Group-for-Group Comments}}. | ||
+ | * 04/26: {{courses:sdm2023:hw4.pdf|HW#4}} due 2:00PM 05/03. | ||
+ | * 04/12: slides for Web Application Security available. | ||
+ | * 04/12: review forms for the first preliminary demo presentations: {{courses:sdm2023:Presentations_demo1.docx|Evaluation by Individual Reviewer}} and {{courses:sdm2023:Presentations_demo1_comments.docx|Group-for-Group Comments}}. | ||
+ | * 03/29: {{courses:sdm2023:hw3.pdf|HW#3}} due 2:20PM 04/06. | ||
+ | * 03/29: slides for Domain Modeling available (revised 04/02). | ||
+ | * 03/22: slides for Design Document and an example design document available. | ||
+ | * 03/17: review forms for the proposal presentations: {{courses:sdm2023:Presentations_proposal.docx|Evaluation by Individual Reviewer}} and {{courses:sdm2023:Presentations_proposal_comments.docx|Group-for-Group Comments}}. | ||
* 03/15: slides for Advanced Web Programming available. | * 03/15: slides for Advanced Web Programming available. | ||
* 03/09: {{courses:sdm2023:termproject.pdf|Term Project}} finalized. | * 03/09: {{courses:sdm2023:termproject.pdf|Term Project}} finalized. | ||
Line 19: | Line 33: | ||
===== Guest Speakers ===== | ===== Guest Speakers ===== | ||
- | Jeffrey CH Liu (劉智雄, Appier), Clement CW Su (蘇志文, IBM), Scar Su (蘇瑞亨, 叡揚), Chih-Pin Tai (戴智斌, 創炎/Traiwan出來玩), Ming-Hsien Tsai (蔡明憲, Academia Sinica), and Ching-Lin Yu (游景麟, Google). | + | Jeffrey CH Liu (劉智雄, Appier), Clement CW Su (蘇志文, IBM), Scar Su (蘇瑞亨, 叡揚), Chih-Pin Tai (戴智斌, 創炎/Traiwan出來玩), Ming-Hsien Tsai (蔡明憲, 國家資通安全研究院), and Ching-Lin Yu (游景麟, Google). |
===== Lectures ===== | ===== Lectures ===== | ||
Line 52: | Line 66: | ||
* **Software Modeling: UML Diagrams** (2/3 week: 03/08a) \\ Structural modeling (//class diagrams, classifiers, interfaces, packages//), behavioral modeling (//interactions, use case diagrams, interaction diagrams, activity diagrams//), architectural modeling (//collaborations, deployment diagrams//), advanced structural modeling (//object diagrams, components//), advanced behavioral modeling (//events, state machines, processes and threads, timing constraints//) \\ [{{courses:sdm2023:UML_diagrams.pptx|slides}}] | * **Software Modeling: UML Diagrams** (2/3 week: 03/08a) \\ Structural modeling (//class diagrams, classifiers, interfaces, packages//), behavioral modeling (//interactions, use case diagrams, interaction diagrams, activity diagrams//), architectural modeling (//collaborations, deployment diagrams//), advanced structural modeling (//object diagrams, components//), advanced behavioral modeling (//events, state machines, processes and threads, timing constraints//) \\ [{{courses:sdm2023:UML_diagrams.pptx|slides}}] | ||
* **Productivity Tools: Chrome DevTools** (1/3 week: 03/08b) [{{courses:sdm2023:ChromeDevTools.pptx|slides}}] | * **Productivity Tools: Chrome DevTools** (1/3 week: 03/08b) [{{courses:sdm2023:ChromeDevTools.pptx|slides}}] | ||
- | * **Software Implementation: Web Programming Pearls** (1 week: 03/15) [{{courses:sdm2021:WebProgrammingBasics.pptx|basics}}, {{courses:sdm2023:WebProgrammingAdvanced.pptx|advanced}},{{courses:sdm2022:examples.zip|examples}}] | + | * **Software Implementation: Advanced Web Programming** (1 week: 03/15) [{{courses:sdm2021:WebProgrammingBasics.pptx|basics}}, {{courses:sdm2023:WebProgrammingAdvanced.pptx|advanced}},{{courses:sdm2022:examples.zip|examples}}] |
* **Term Project: Proposal Presentations** (1/3 week: 03/22a) \\ | * **Term Project: Proposal Presentations** (1/3 week: 03/22a) \\ | ||
- | * **Software Development Practice: Design Document** (2/3 week: 03/22b) \\ Design document introduction, high level design document, implementation level design document, design document for agile development \\ [{{courses:sdm2023:DesignDocIntroduction.ppt|slides}}, {{courses:sdm2023:DesignDocSimpleExample.doc|An Example Design Document}}] | + | * **Software Development Practice: Design Document** (2/3 week: 03/22b) \\ Design document introduction, high level design document, implementation level design document, design document for agile development \\ [{{courses:sdm2023:DesignDocIntroduction.ppt|slides}}, {{courses:sdm2023:DesignDocumentSimpleExample.doc|An Example Design Document}}] |
* **Software Modeling: Domain Modeling** (1 week: 03/29) \\ Introduction, mathematical preliminaries, and basic and higher abstractions [{{courses:sdm2023:domain_modeling.pdf|slides}}]\\ | * **Software Modeling: Domain Modeling** (1 week: 03/29) \\ Introduction, mathematical preliminaries, and basic and higher abstractions [{{courses:sdm2023:domain_modeling.pdf|slides}}]\\ | ||
* **Term Project: First Preliminary Demos** (1/3 week: 04/12a) \\ | * **Term Project: First Preliminary Demos** (1/3 week: 04/12a) \\ | ||
* **Software Security: Web Application Security** (2/3 week: 04/12b) \\ Dynamic Web pages, client-side scripts, security vulnerabilities, vulnerabilities detection and prevention \\ [{{courses:sdm2023:web_app_security.pptx|slides}}] | * **Software Security: Web Application Security** (2/3 week: 04/12b) \\ Dynamic Web pages, client-side scripts, security vulnerabilities, vulnerabilities detection and prevention \\ [{{courses:sdm2023:web_app_security.pptx|slides}}] | ||
* **Productivity Tools: Debuggers** (1/3 week: 04/19a) [{{https://docs.google.com/presentation/d/1e0uAAo2PBaPnvvyrOh0JHq486AbWINnlsM-WY5F-EPk/edit?usp=sharing|slides}}] | * **Productivity Tools: Debuggers** (1/3 week: 04/19a) [{{https://docs.google.com/presentation/d/1e0uAAo2PBaPnvvyrOh0JHq486AbWINnlsM-WY5F-EPk/edit?usp=sharing|slides}}] | ||
- | * **Software Design: Design Patterns** (1 and 2/3 weeks: 04/19b, 04/26) \\ 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:sdm2023:DesignPatternsSampleCPP.zip|code examples}}] | + | * **Software Design: Design Patterns** (1 and 2/3 weeks: 04/19b, 04/26) \\ Why design patterns, introduction to creational, structural, and behavioral patterns, GoF patterns \\ [{{https://docs.google.com/presentation/d/1tai4j8lgdNp0yezSeylELfC6GoWlUTIt2hHcdWszDg4/edit#slide=id.p|slides}}, {{courses:sdm2023:DesignPatternsSampleCPP.zip|code examples}}] |
* **Software Development Practice: Agile Development in Practice** (1 week: 05/03) \\ 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: 05/03) \\ 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}}] | ||
* **Term Project: Second Preliminary Demos** (1/3 week: 05/10a) \\ | * **Term Project: Second Preliminary Demos** (1/3 week: 05/10a) \\ | ||
* **Midterm Discussions** (or Make-Up Lecture) (2/3 week: 05/10b) | * **Midterm Discussions** (or Make-Up Lecture) (2/3 week: 05/10b) | ||
* **Software Verification: Testing** (1 week: 05/17) \\ [{{courses:sdm2023:software_testing.pptx|slides}}] | * **Software Verification: Testing** (1 week: 05/17) \\ [{{courses:sdm2023:software_testing.pptx|slides}}] | ||
- | * ** Formal Specification: Formal Logic and Correctness Requirements** (.5 week: 05/24a) \\ Propositional and first-order logics (//propositions, proofs, theorems, predicates, models//)\\ [{{courses:sdm2023:logic.pdf|slides}}] | + | * ** Formal Specification: Formal Logic and Correctness Requirements** (.5 week: 05/24a) \\ Motivation, program correctness, propositional and first-order logics (//propositions, proofs, theorems, predicates, models//)\\ [{{courses:sdm2023:logic.pdf|slides}}] |
- | * **Formal Verification: Verification of Programs with Frama-C and ACSL** (.5 week: 05/24b) \\ [{{courses:sdm2023:frama-c_acsl.pdf|slides}}] | + | * **Formal Verification: Verification of Programs with Frama-C and ACSL** (.5 week: 05/24b) \\ [slides: {{courses:sdm2023:hoare_logic.pdf|Hoare Logic}}, {{courses:sdm2023:frama-c_acsl.pdf|Frama-C and ACSL}}] |
* **Term Project: Final Presentations (2023/05/31)** | * **Term Project: Final Presentations (2023/05/31)** | ||
* **Final Exam (2023/06/07)** | * **Final Exam (2023/06/07)** |