This shows you the differences between two versions of the page.
courses:sdm2016:main [2016/10/20 17:53] tsay [Announcements] |
courses:sdm2016:main [2017/02/02 22:48] (current) tsay [Announcements] |
||
---|---|---|---|
Line 3: | Line 3: | ||
===== Announcements ===== | ===== Announcements ===== | ||
- | * 10/12: {{courses:sdm2016:termproject_draft20161020.pdf|Draft of Term Project}} revised for further feedbacks, to be finalized by 10/26. | + | * 02/01: grade report revised (again on 02/02). |
+ | * 01/30: {{courses:sdm2016:sdm2016grade.pdf|Grade Report}} (and {{courses:sdm2016:sdm2016grade_termproject.pdf|term project score details}}) available; contact Yih-Kuen Tsay by 5PM 02/02 if you have any question or request. | ||
+ | * 01/10: final will be held in B01 of Management Building 1. | ||
+ | * 12/28: slides for Automata-Based Model Checking and for Hoare Logic available. | ||
+ | * 12/21: slides for Logic, OCL, and Alloy available. | ||
+ | * 12/07: One-slide summary of term project: {{courses:sdm2016:allgroups.zip|all groups}}. | ||
+ | * 12/07: slides for Web Application Security available. | ||
+ | * 11/29: slides for Software Testing available. | ||
+ | * 11/23: slides for Design Document and an example design document available. | ||
+ | * 11/14: slides for Design Patterns and some code examples available. | ||
+ | * 11/02: {{courses:sdm2016:hw4.pdf|HW#4}} due 2PM 11/16. | ||
+ | * 10/27: {{courses:sdm2016:termproject.pdf|Term Project}} finalized; it is identical to the draft of 10/20. | ||
+ | * 10/27: slides for Bluemix and for Team Collaboration available. | ||
+ | * 10/20: {{courses:sdm2016:termproject_draft20161020.pdf|Draft of Term Project}} revised for further feedbacks, to be finalized by 10/26. | ||
* 10/19: {{courses:sdm2016:hw3.pdf|HW#3}} due 2PM 10/26. | * 10/19: {{courses:sdm2016:hw3.pdf|HW#3}} due 2PM 10/26. | ||
* 10/12: data modeling group exercise due 5:30PM 10/17; email completed solutions to the instructors. | * 10/12: data modeling group exercise due 5:30PM 10/17; email completed solutions to the instructors. | ||
Line 21: | Line 34: | ||
===== Instructor ===== | ===== Instructor ===== | ||
- | [[http://www.im.ntu.edu.tw/~tsay/|Yih-Kuen Tsay (蔡益坤)]], Room 1108, Management II, 3366-1189, ''Xtsay@im.ntu.edu.twX'' (between the enclosing pair of X's). | + | [[http://www.im.ntu.edu.tw/~tsay/|Yih-Kuen Tsay (蔡益坤)]], Room 1108, Management II, 3366-1189, ''Xtsay@ntu.edu.twX'' (between the enclosing pair of X's). |
===== Guest Speakers ===== | ===== Guest Speakers ===== | ||
Line 64: | Line 77: | ||
* **Software Modeling: UML Diagrams** (1 week: 10/05) \\ 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:sdm2016:UML_diagrams.pdf|slides}}] | * **Software Modeling: UML Diagrams** (1 week: 10/05) \\ 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:sdm2016:UML_diagrams.pdf|slides}}] | ||
* **Software Modeling: Domain Modeling** (2 weeks: 10/12, 10/19) \\ What and how (abstract models, notations and constructs, basic business logics, crossing domains, layers of abstraction), common patterns, with group exercises and discussions \\ [{{courses:sdm2016:DomainModel.pptx|slides}}] | * **Software Modeling: Domain Modeling** (2 weeks: 10/12, 10/19) \\ What and how (abstract models, notations and constructs, basic business logics, crossing domains, layers of abstraction), common patterns, with group exercises and discussions \\ [{{courses:sdm2016:DomainModel.pptx|slides}}] | ||
- | * **Software Development Practice: Next Generation Cloud and Cognitive Applications** (2/3 week: 10/26a) \\ Overview of open source projects CloudFoundry and IBM Bluemix, rapid cloud application development with composable cloud services, Watson Cognitive API for building next generation applications \\ [{{courses:sdm2016:bluemix.pdf|slides}}; websites: [[http://http://bluemix.net/|Bluemix]], [[http://http://https://hub.jazz.net/|JazzHub]]; inspiring article: [[http://www.economist.com/news/special-report/21593580-cheap-and-ubiquitous-building-blocks-digital-products-and-services-have-caused|A Cambrian moment]]] | + | * **Software Development Practice: Next-Generation Cloud and Cognitive Applications** (2/3 week: 10/26a) \\ Overview of open source projects CloudFoundry and IBM Bluemix, rapid cloud application development with composable cloud services, Watson Cognitive API for building next generation applications \\ [{{courses:sdm2016:bluemixintroduction.pdf|slides}}; websites: [[http://http://bluemix.net/|Bluemix]], [[http://http://https://hub.jazz.net/|JazzHub]]; inspiring article: [[http://www.economist.com/news/special-report/21593580-cheap-and-ubiquitous-building-blocks-digital-products-and-services-have-caused|A Cambrian moment]]] |
* **Software Development Practice: Team Collaboration** (1/3 week: 10/26b) \\ Agile development process, Git-Flow best practices, continuous integration, and IBM experience\\ [{{courses:sdm2016:SoftwareEngineering.pdf|slides}}] | * **Software Development Practice: Team Collaboration** (1/3 week: 10/26b) \\ Agile development process, Git-Flow best practices, continuous integration, and IBM experience\\ [{{courses:sdm2016:SoftwareEngineering.pdf|slides}}] | ||
- | * **Term Project Discussions** (1/3 week: 11/02a) \\ | + | * **Term Project: Proposal Presentations** (1/3 week: 11/02a) \\ |
* **Invited Talk** (2/3 week: 11/02b) \\ [{{courses:sdm2016:invitedtalk_softwaredevelopment.pdf|slides}}] | * **Invited Talk** (2/3 week: 11/02b) \\ [{{courses:sdm2016:invitedtalk_softwaredevelopment.pdf|slides}}] | ||
- | * **Design Patterns** (2 weeks: 11/09, 11/16) \\ Why design patterns, introduction to creational, structural, and behavioral patterns, GoF patterns \\ [{{courses:sdm2016:DesignPatterns.pdf|slides}}; {{courses:sdm2016:CodeExamples.zip|code examples}}] | + | * **Design Patterns** (2 weeks: 11/09, 11/16) \\ Why design patterns, introduction to creational, structural, and behavioral patterns, GoF patterns \\ [{{courses:sdm2016:DesignPatterns.pdf|slides}}; {{courses:sdm2016:DesignPatternsExamples.zip|code examples}}] |
- | * **Term Project Discussions** (1/3 week: 11/23a) \\ | + | * **Term Project: First Preliminary Demos** (1/3 week: 11/23a) \\ |
- | * **Software Development Practice: Design Document** (2/3 week: 11/23b) \\ High level design document, implementation level design document, user story (for Agile) \\ [{{courses:sdm2016:DesignDocIntroduction.pdf|slides}}, notes: {{courses:sdm2016:DesignDocExample.doc|An Example Design Document}}] | + | * **Software Development Practice: Design Document** (2/3 week: 11/23b) \\ High level design document, implementation level design document, user story (for Agile) \\ [{{courses:sdm2016:DesignDocIntroduction.pdf|slides}}, notes: {{courses:sdm2016:DesignDocSimpleExample.doc|An Example Design Document}}] |
* **Software Security: Web Application Security** (1 week: 11/30) \\ Dynamic Web pages, client-side scripts, security vulnerabilities, vulnerabilities detection and prevention \\ [{{courses:sdm2016:web_app_security.pptx|slides}}] | * **Software Security: Web Application Security** (1 week: 11/30) \\ Dynamic Web pages, client-side scripts, security vulnerabilities, vulnerabilities detection and prevention \\ [{{courses:sdm2016:web_app_security.pptx|slides}}] | ||
* **Software Verification: Testing** (1 week: 12/07) \\ [{{courses:sdm2016:software_testing.pptx|slides}}] | * **Software Verification: Testing** (1 week: 12/07) \\ [{{courses:sdm2016:software_testing.pptx|slides}}] | ||
- | * **Term Project Discussions** (1/3 week: 12/14a) \\ | + | * **Term Project: Second Preliminary Demos** (1/3 week: 12/14a) \\ |
* **Invited Talk** (2/3 week: 12/14b) \\ [{{courses:sdm2016:invitedtalk_softwaredevelopment.pdf|slides}}] | * **Invited Talk** (2/3 week: 12/14b) \\ [{{courses:sdm2016:invitedtalk_softwaredevelopment.pdf|slides}}] | ||
* **Software Modeling: Formal Logic and Correctness Requirements** (1/2 week: 12/21a) \\ Propositions, proofs, theorems, predicates, models\\ [{{courses:sdm2016:logic.pdf|slides}}] | * **Software Modeling: Formal Logic and Correctness Requirements** (1/2 week: 12/21a) \\ Propositions, proofs, theorems, predicates, models\\ [{{courses:sdm2016:logic.pdf|slides}}] | ||
* **Software Modeling: OCL or Alloy** (1/2 week: 12/21b) \\ Object Constraint Language (//relation with UML models, values, types, expressions, objects, properties, collection operations//) \\ [{{courses:sdm2016:OCL.pptx|slides}}]\\ Software modeling, simulation, and checking \\ [{{courses:sdm2016:Alloy.pdf|slides}}] | * **Software Modeling: OCL or Alloy** (1/2 week: 12/21b) \\ Object Constraint Language (//relation with UML models, values, types, expressions, objects, properties, collection operations//) \\ [{{courses:sdm2016:OCL.pptx|slides}}]\\ Software modeling, simulation, and checking \\ [{{courses:sdm2016:Alloy.pdf|slides}}] | ||
* **Software Verification: Formal Verification** (1 week: 12/28) \\ Automata-based model checking, linear temporal logic, Spin (//Promela, never-claims//) \\ [slides: {{courses:sdm2016:automata_based_model_checking.pdf|Automata-Based Model Checking}}, {{courses:sdm2016:temporal_logic_and_automata.pdf|Temporal Logic and Automata}}] \\ Axiomatic semantics of programs (//assertions, pre/post-conditions, invariants//), partial and total correctness \\ [{{courses:sdm2016:hoare_logic.pdf|slides}}; notes: {{courses:sdm2016:hoare_logic_rules.pdf|Rules of Hoare Logic}}, {{courses:sdm2016:hoare_logic_proofs.pdf|Proofs with Hoare Logic}}] | * **Software Verification: Formal Verification** (1 week: 12/28) \\ Automata-based model checking, linear temporal logic, Spin (//Promela, never-claims//) \\ [slides: {{courses:sdm2016:automata_based_model_checking.pdf|Automata-Based Model Checking}}, {{courses:sdm2016:temporal_logic_and_automata.pdf|Temporal Logic and Automata}}] \\ Axiomatic semantics of programs (//assertions, pre/post-conditions, invariants//), partial and total correctness \\ [{{courses:sdm2016:hoare_logic.pdf|slides}}; notes: {{courses:sdm2016:hoare_logic_rules.pdf|Rules of Hoare Logic}}, {{courses:sdm2016:hoare_logic_proofs.pdf|Proofs with Hoare Logic}}] | ||
- | * **Term Project Presentations (2017/01/04)** | + | * **Term Project: Final Presentations (2017/01/04)** |
- | * **Final (2017/01/11)** | + | * **Final Exam (2017/01/11)** |
===== Grading ===== | ===== Grading ===== | ||