CSC/ECE 517 Fall 2009: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(25 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
===Summary of pages | ===Summary of wiki pages contributed in Fall 2009=== | ||
*'''Lecture 2''' | *'''Lecture 2 : Debugging and testing''' | ||
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]] | **[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]] | ||
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]] | **[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]] | ||
Line 12: | Line 9: | ||
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]] | **[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]] | ||
*'''Lecture 3 : Refactoring and version control''' | |||
*'''Lecture 3''' | |||
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]] | **[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]] | ||
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]] | **[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]] | ||
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]] | **[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]] | ||
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]] | **[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]] | ||
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]] | **[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]] | ||
Line 32: | Line 27: | ||
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]] | **[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]] | ||
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]] | **[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]] | ||
**[[CSC/ECE_517_Fall_2009/ | **[[CSC/ECE_517_Fall_2009/wiki_1a/sheng_yi|Refactoring tools for Ruby and Ruby on Rails]] | ||
*'''Lecture 4''' | *'''Lecture 4 : Introduction to Ruby''' | ||
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]] | **[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]] | ||
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]] | **[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]] | ||
Line 47: | Line 35: | ||
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]] | **[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]] | ||
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]] | **[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]] | ||
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]] | |||
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]] | **[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]] | ||
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]] | **[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]] | ||
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]] | **[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]] | ||
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]] | **[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]] | ||
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]] | **[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]] | ||
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]] | **[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]] | ||
Line 57: | Line 45: | ||
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]] | **[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]] | ||
*'''Lecture 5 : OOP in Ruby''' | |||
*'''Lecture 5''' | |||
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]] | **[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]] | ||
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]] | **[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]] | ||
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]] | **[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]] | ||
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]] | **[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]] | ||
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]] | **[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]] | ||
Line 76: | Line 58: | ||
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]] | **[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]] | ||
*'''Lecture 7 : Ruby on Rails''' | |||
*'''Lecture 7''' | |||
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]] | **[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]] | ||
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]] | **[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]] | ||
Line 86: | Line 64: | ||
**[[CSC/ECE_517_Fall_2009/wiki2_2_pz|AJAX and MVC]] | **[[CSC/ECE_517_Fall_2009/wiki2_2_pz|AJAX and MVC]] | ||
**[[CSC/ECE_517_Fall_2009/wiki2_2_rv|AJAX and MVC]] | **[[CSC/ECE_517_Fall_2009/wiki2_2_rv|AJAX and MVC]] | ||
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]] | **[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]] | ||
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]] | **[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]] | ||
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]] | **[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]] | ||
*'''Lecture 8''' | *'''Lecture 8 : The Cookbook application''' | ||
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]] | **[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]] | ||
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]] | **[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]] | ||
*'''Lecture 9''' | *'''Lecture 9 : Testing''' | ||
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]] | **[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]] | ||
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]] | **[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]] | ||
Line 103: | Line 79: | ||
**[[CSC/ECE_517_Fall_2009/wiki2_10_Gui_Testing_Frameworks_aa|GUI testing frameworks]] | **[[CSC/ECE_517_Fall_2009/wiki2_10_Gui_Testing_Frameworks_aa|GUI testing frameworks]] | ||
**[[CSC/ECE_517_Fall_2009/wiki2_10_mk|GUI testing frameworks]] | **[[CSC/ECE_517_Fall_2009/wiki2_10_mk|GUI testing frameworks]] | ||
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]] | |||
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]] | |||
*'''Lecture 10''' | *'''Lecture 10 : Modules and mixins''' | ||
**[[CSC/ECE_517_Fall_2009/wiki2_7_cn|Survey of language features for code reuse]] | **[[CSC/ECE_517_Fall_2009/wiki2_7_cn|Survey of language features for code reuse]] | ||
**[[CSC/ECE_517_Fall_2009/wiki2_7_co|Survey of language features for code reuse]] | **[[CSC/ECE_517_Fall_2009/wiki2_7_co|Survey of language features for code reuse]] | ||
**[[CSC/ECE_517_Fall_2009/wiki2_7_ov|Survey of language features for code reuse]] | **[[CSC/ECE_517_Fall_2009/wiki2_7_ov|Survey of language features for code reuse]] | ||
*'''Lecture 11 : Reflection''' | |||
*'''Lecture 11''' | |||
**[[CSC/ECE_517_Fall_2009/wiki2_17_f1|Service Oriented Architecture(SOA), Reflection, and Meta-programming]] | **[[CSC/ECE_517_Fall_2009/wiki2_17_f1|Service Oriented Architecture(SOA), Reflection, and Meta-programming]] | ||
**[[CSC/ECE_517_Fall_2009/wiki2_17_va|Service Oriented Architecture(SOA), Reflection, and Meta-programming]] | **[[CSC/ECE_517_Fall_2009/wiki2_17_va|Service Oriented Architecture(SOA), Reflection, and Meta-programming]] | ||
Line 120: | Line 96: | ||
**[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]] | **[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]] | ||
*'''Lecture 12 : Metaprogramming''' | |||
*'''Lecture 12''' | |||
**[[CSC/ECE_517_Fall_2009/wiki29_VB|Aspect-Oriented Programming]] | **[[CSC/ECE_517_Fall_2009/wiki29_VB|Aspect-Oriented Programming]] | ||
**[[CSC/ECE_517_Fall_2009/wiki2_9_SN|Aspect-Oriented Programming]] | **[[CSC/ECE_517_Fall_2009/wiki2_9_SN|Aspect-Oriented Programming]] | ||
**[[CSC/ECE_517_Fall_2009/wiki2_9_km|Aspect-Oriented Programming]] | **[[CSC/ECE_517_Fall_2009/wiki2_9_km|Aspect-Oriented Programming]] | ||
**[[CSC/ECE_517_Fall_2009/wiki2_1_MP|Metaprogramming]] | **[[CSC/ECE_517_Fall_2009/wiki2_1_MP|Metaprogramming]] | ||
**[[CSC/ECE_517_Fall_2009/wiki2_1_SA|Metaprogramming]] | **[[CSC/ECE_517_Fall_2009/wiki2_1_SA|Metaprogramming]] | ||
**[[CSC/ECE_517_Fall_2009/wiki2_1_ma|Metaprogramming]] | **[[CSC/ECE_517_Fall_2009/wiki2_1_ma|Metaprogramming]] | ||
**[[CSC/ECE_517_Fall_2009/wiki2_13_StaticDynamic|Design patterns from a static/dynamic point of view]] | **[[CSC/ECE_517_Fall_2009/wiki2_13_StaticDynamic|Design patterns from a static/dynamic point of view]] | ||
**[[CSC/ECE_517_Fall_2009/wiki2_13_ncs|Design patterns from a static/dynamic point of view]] | **[[CSC/ECE_517_Fall_2009/wiki2_13_ncs|Design patterns from a static/dynamic point of view]] | ||
*'''Lecture 14 : The CRC-card method''' | |||
*'''Lecture 14''' | |||
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|"Object Think" and other alternatives to CRC cards]] | **[[CSC/ECE_517_Fall_2009/wiki3_10_OT|"Object Think" and other alternatives to CRC cards]] | ||
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|"Object Think" and other alternatives to CRC cards]] | **[[CSC/ECE_517_Fall_2009/wiki3_10_ot|"Object Think" and other alternatives to CRC cards]] | ||
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|"Object Think" and other alternatives to CRC cards]] | **[[CSC/ECE_517_Fall_2009/wiki3_10_pz|"Object Think" and other alternatives to CRC cards]] | ||
*'''Lecture 15 and 16 : Introduction to OOA/OOD''' | |||
*'''Lecture 15 and 16''' | |||
**[[CSC/ECE_517_Fall_2009/wiki2_15_A%26OM|Abstraction and the object model]] | **[[CSC/ECE_517_Fall_2009/wiki2_15_A%26OM|Abstraction and the object model]] | ||
**[[CSC/ECE_517_Fall_2009/wiki2_15_ms|Abstraction and the object model]] | **[[CSC/ECE_517_Fall_2009/wiki2_15_ms|Abstraction and the object model]] | ||
**[[CSC/ECE_517_Fall_2009/wiki2_15_sm|Abstraction and the object model]] | **[[CSC/ECE_517_Fall_2009/wiki2_15_sm|Abstraction and the object model]] | ||
*'''Lecture 16 : O-O Fundamentals''' | |||
**[[CSC/ECE_517_Fall_2009/wiki2_6_ee|Hybrid o-o languages]] | |||
**[[CSC/ECE_517_Fall_2009/wiki2_6_hl|Hybrid o-o languages]] | |||
**[[CSC/ECE_517_Fall_2009/wiki2_6_rp|Hybrid o-o languages]] | |||
**[[CSC/ECE_517_Fall_2009/wiki2_4_dn|if-statement considered harmful]] | **[[CSC/ECE_517_Fall_2009/wiki2_4_dn|if-statement considered harmful]] | ||
**[[CSC/ECE_517_Fall_2009/wiki2_4_railroad|if-statement considered harmful]] | **[[CSC/ECE_517_Fall_2009/wiki2_4_railroad|if-statement considered harmful]] | ||
**[[CSC/ECE_517_Fall_2009/wiki2_4_va|if-statement considered harmful]] | **[[CSC/ECE_517_Fall_2009/wiki2_4_va|if-statement considered harmful]] | ||
**[[CSC/ECE_517_Fall_2009/ | **[[CSC/ECE_517_Fall_2009/wiki_2_2_SJ|if-statement considered harmful]] | ||
*'''Lecture 19 : Programming with assertions''' | |||
*'''Lecture 19''' | |||
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]] | **[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]] | ||
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]] | **[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]] | ||
Line 180: | Line 131: | ||
**[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]] | **[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]] | ||
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]] | **[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]] | ||
**[[CSC/ECE_517_Fall_2009/ | *'''Lecture 20 : Elegance and classes''' | ||
**[[CSC/ECE_517_Fall_2009/ | **[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]] | ||
**[[CSC/ECE_517_Fall_2009/ | **[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]] | ||
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]] | |||
*'''Lecture 21 : Agile methodologies''' | |||
*'''Lecture 21''' | |||
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]] | **[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]] | ||
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]] | **[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]] | ||
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]] | **[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]] | ||
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]] | **[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]] | ||
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]] | **[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]] | ||
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]] | **[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]] | ||
*'''Lecture 22, 23, 24, 25 : Design Patterns''' | |||
*'''Lecture 22''' | |||
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]] | **[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]] | ||
**[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]] | **[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]] | ||
**[[CSC/ECE_517_Fall_2009/wiki2_11_sv|Other design patterns in Ruby]] | **[[CSC/ECE_517_Fall_2009/wiki2_11_sv|Other design patterns in Ruby]] | ||
**[[CSC/ECE_517_Fall_2009/wiki2_11_zv|Other design patterns in Ruby]] | **[[CSC/ECE_517_Fall_2009/wiki2_11_zv|Other design patterns in Ruby]] | ||
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]] | **[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]] | ||
*'''Lecture 27''' | *'''Lecture 27 : Leftover patterns and pattern classification''' | ||
**[[CSC/ECE_517_Fall_2009/wiki2_18_cc|Serialization Proxy pattern]] | **[[CSC/ECE_517_Fall_2009/wiki2_18_cc|Serialization Proxy pattern]] | ||
**[[CSC/ECE_517_Fall_2009/wiki2_18_ee|Serialization Proxy pattern]] | **[[CSC/ECE_517_Fall_2009/wiki2_18_ee|Serialization Proxy pattern]] | ||
**[[CSC/ECE_517_Fall_2009/wiki2_18_i7|Serialization Proxy pattern]] | **[[CSC/ECE_517_Fall_2009/wiki2_18_i7|Serialization Proxy pattern]] | ||
**[[CSC/ECE_517_Fall_2009/wiki2_12_01|Schemes for patterns classification]] | |||
**[[CSC/ECE_517_Fall_2009/wiki2_12_PatternClassification|Schemes for patterns classification]] | |||
**[[CSC/ECE_517_Fall_2009/wiki2_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]] | |||
*'''Topics not covered in the lectures''' | |||
*''' | |||
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]] | **[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]] | ||
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]] | **[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]] | ||
Line 228: | Line 167: | ||
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]] | **[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]] | ||
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]] | **[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]] | ||
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]] | **[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]] | ||
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]] | **[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]] | ||
Line 239: | Line 177: | ||
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]] | **[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]] | ||
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]] | **[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]] | ||
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]] | **[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]] | ||
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]] | **[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]] | ||
Line 248: | Line 183: | ||
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]] | **[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]] | ||
**[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]] | **[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]] | ||
**[[CSC/ECE_517_Fall_2009/wiki2_19_aa|Survey "Driven Development" Methodologies]] | **[[CSC/ECE_517_Fall_2009/wiki2_19_aa|Survey "Driven Development" Methodologies]] | ||
**[[CSC/ECE_517_Fall_2009/wiki2_19_as|Survey "Driven Development" Methodologies]] | **[[CSC/ECE_517_Fall_2009/wiki2_19_as|Survey "Driven Development" Methodologies]] | ||
**[[CSC/ECE_517_Fall_2009/wiki2_6_TDD|Survey "Driven Development" Methodologies]] | **[[CSC/ECE_517_Fall_2009/wiki2_6_TDD|Survey "Driven Development" Methodologies]] | ||
**[[CSC/ECE_517_Fall_2009/wiki2_14_conc_patterns|Thread-safe programming and concurrency patterns]] | **[[CSC/ECE_517_Fall_2009/wiki2_14_conc_patterns|Thread-safe programming and concurrency patterns]] | ||
**[[CSC/ECE_517_Fall_2009/wiki2_14_san|Thread-safe programming and concurrency patterns]] | **[[CSC/ECE_517_Fall_2009/wiki2_14_san|Thread-safe programming and concurrency patterns]] | ||
Line 260: | Line 191: | ||
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]] | **[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]] | ||
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]] | **[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]] | ||
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]] | **[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]] | ||
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]] | **[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]] | ||
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]] | **[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]] | ||
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]] | |||
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]] | |||
**[[CSC/ECE_517_Fall_2009/wiki_1a2rd|Mock Objects and Mock frameworks]] | |||
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]] | |||
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]] | |||
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]] | |||
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]] | |||
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]] | |||
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]] | |||
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]] | |||
**[[CSC/ECE_517_Fall_2009/wiki2_16_agummad|Service Oriented Architecture(SOA) and Patterns]] | |||
**[[CSC/ECE_517_Fall_2009/wiki2_16_am|Service Oriented Architecture(SOA) and Patterns]] | |||
**[[CSC/ECE_517_Fall_2009/wiki2_16_rs|Service Oriented Architecture(SOA) and Patterns]] | |||
**[[CSC/ECE_517_Fall_2009/wiki2_16_tvhi|Service Oriented Architecture(SOA) and Patterns]] | |||
**[[CSC/ECE_517_Fall_2009/wiki2_3_b5|Synchronizer token pattern]] | |||
**[[CSC/ECE_517_Fall_2009/wiki2_3_bd|Synchronizer token pattern]] | |||
**[[CSC/ECE_517_Fall_2009/wiki2_3_pp|Synchronizer token pattern]] |
Latest revision as of 01:46, 22 December 2009
Summary of wiki pages contributed in Fall 2009
- Lecture 2 : Debugging and testing
- Lecture 3 : Refactoring and version control
- Categorization of refactorings
- Categorization of refactorings
- Categorization of refactorings
- Research in refactoring tools
- Research in refactoring tools
- Research in refactoring tools
- Distributed Version Control
- Distributed Version Control
- Distributed Version Control
- Best practices for source-control management with version-control systems
- Best practices for source-control management with version-control systems
- Best practices for source-control management with version-control systems
- History of version control
- History of version control
- History of version control
- Refactoring tools for Ruby and Ruby on Rails
- Refactoring tools for Ruby and Ruby on Rails
- Refactoring tools for Ruby and Ruby on Rails
- Lecture 4 : Introduction to Ruby
- Ruby and Java from Security Perspective
- Ruby and Java from Security Perspective
- Ruby vs. Python
- Ruby vs. Python
- Ruby vs. Python
- Scala vs. Ruby
- IDEs for Ruby
- IDEs for Ruby
- IDEs for Ruby
- IDEs for Ruby
- Resources for Ruby (other than IDEs)
- Resources for Ruby (other than IDEs)
- Ruby and Web security
- Ruby and Web security
- Lecture 5 : OOP in Ruby
- Regular expressions
- Regular expressions
- Regular expressions
- Static vs. dynamic o-o languages from the perspective of performance
- Static vs. dynamic o-o languages from the perspective of performance
- Advantages of statically typed vs. dynamically typed languages
- Advantages of statically typed vs. dynamically typed languages
- Advantages of statically typed vs. dynamically typed languages
- Exception handling in o-o languages
- Exception handling in o-o languages
- Exception handling in o-o languages
- Lecture 7 : Ruby on Rails
- Lecture 8 : The Cookbook application
- Lecture 9 : Testing
- Functional and integration testing and beyond
- Functional and integration testing and beyond
- Functional and integration testing and beyond
- GUI testing frameworks
- GUI testing frameworks
- GUI testing frameworks
- Testing frameworks for object-oriented languages
- Testing frameworks for object-oriented languages
- Lecture 10 : Modules and mixins
- Lecture 11 : Reflection
- Lecture 12 : Metaprogramming
- Lecture 14 : The CRC-card method
- Lecture 15 and 16 : Introduction to OOA/OOD
- Lecture 16 : O-O Fundamentals
- Lecture 19 : Programming with assertions
- Lecture 20 : Elegance and classes
- Lecture 21 : Agile methodologies
- Lecture 22, 23, 24, 25 : Design Patterns
- Lecture 27 : Leftover patterns and pattern classification
- Topics not covered in the lectures
- Patterns for mapping objects to relational databases
- Patterns for mapping objects to relational databases
- Patterns for mapping objects to relational databases
- Principle of Self-Documentation
- Principle of Self-Documentation
- Principle of Self-Documentation
- Uniform access principle
- Uniform access principle
- Uniform access principle
- Single-Choice Principle
- Single-Choice Principle
- Single-Choice Principle
- Stable Dependencies Principle
- Stable Dependencies Principle
- Common Closure Principle
- Common Closure Principle
- Dependency Inversion Principle
- Dependency Inversion Principle
- Interface Segregation Principle vs. Principle of Small Interfaces
- Interface Segregation Principle vs. Principle of Small Interfaces
- Non-Redundancy Principle
- Non-Redundancy Principle
- Survey "Driven Development" Methodologies
- Survey "Driven Development" Methodologies
- Survey "Driven Development" Methodologies
- Thread-safe programming and concurrency patterns
- Thread-safe programming and concurrency patterns
- Anti-patterns
- Anti-patterns
- Anti-patterns
- Clone detection and clone manipulation
- Clone detection and clone manipulation
- Clone detection and clone manipulation
- Mock Objects and Mock frameworks
- Mock Objects and Mock frameworks
- Mock Objects and Mock frameworks
- Principle of Explicit Interfaces
- Principle of Explicit Interfaces
- Principle of Explicit Interfaces
- Reuse/Release Equivalence Principle
- Reuse/Release Equivalence Principle
- Reuse/Release Equivalence Principle
- Reuse/Release Equivalence Principle
- Service Oriented Architecture(SOA) and Patterns
- Service Oriented Architecture(SOA) and Patterns
- Service Oriented Architecture(SOA) and Patterns
- Service Oriented Architecture(SOA) and Patterns
- Synchronizer token pattern
- Synchronizer token pattern
- Synchronizer token pattern