CSC/ECE 517 Fall 2009: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 11: | Line 11: | ||
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]] | **[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]] | ||
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]] | **[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]] | ||
*'''Lecture 3''' | *'''Lecture 3''' | ||
Line 17: | Line 16: | ||
**[[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]] | ||
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]] | **[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]] | ||
**[[CSC/ECE_517_Fall_2009/wiki_1a_9a_HJ|Research in refactoring tools] | |||
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]] | **[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]] | ||
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]] | **[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]] | ||
Line 33: | Line 32: | ||
**[[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/wiki_1a_9b_SJ|Refactoring tools for Ruby and Ruby on Rails]] | **[[CSC/ECE_517_Fall_2009/wiki_1a_9b_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''' | ||
Line 45: | Line 40: | ||
**[[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 55: | Line 50: | ||
**[[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''' | |||
*'''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]] | ||
Line 74: | Line 66: | ||
**[[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 6''' | |||
*'''Lecture 7''' | *'''Lecture 7''' | ||
Line 84: | Line 75: | ||
**[[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]] | ||
Line 107: | Line 96: | ||
**[[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''' | *'''Lecture 11''' | ||
Line 118: | Line 105: | ||
**[[CSC/ECE_517_Fall_2009/wiki2_8_RP|Reflection-oriented programming]] | **[[CSC/ECE_517_Fall_2009/wiki2_8_RP|Reflection-oriented programming]] | ||
**[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]] | **[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]] | ||
*'''Lecture 12''' | *'''Lecture 12''' | ||
Line 127: | Line 110: | ||
**[[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]] | ||
Line 138: | Line 119: | ||
**[[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 13''' | *'''Lecture 13''' | ||
Line 150: | Line 128: | ||
**[[CSC/ECE_517_Fall_2009/wiki2_3_bd|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]] | **[[CSC/ECE_517_Fall_2009/wiki2_3_pp|Synchronizer token pattern]] | ||
*'''Lecture 14''' | *'''Lecture 14''' | ||
Line 158: | Line 133: | ||
**[[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''' | *'''Lecture 15 and 16''' | ||
Line 171: | Line 145: | ||
**[[CSC/ECE_517_Fall_2009/wiki2_6_hl|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_6_rp|Hybrid o-o languages]] | ||
*'''Lecture 19''' | *'''Lecture 19''' | ||
Line 183: | Line 153: | ||
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]] | **[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]] | ||
*'''Lecture 21''' | *'''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, 26''' | |||
*'''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]] | ||
Line 220: | Line 172: | ||
**[[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]] | ||
*'''Topics not covered in the lectures''' | *'''Topics not covered in the lectures''' | ||
Line 262: | Line 212: | ||
**[[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/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]] |
Revision as of 00:12, 22 December 2009
Summary of pages done in Fall 2009
- Lecture 2
- Lecture 3
- Categorization of refactorings
- Categorization of refactorings
- Categorization of refactorings
- Research in refactoring tools
- Research in refactoring tools
- Research in refactoring tools
- [[CSC/ECE_517_Fall_2009/wiki_1a_9a_HJ|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
- Refactoring tools for Ruby and Ruby on Rails
- Lecture 4
- 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
- Regular expressions
- Regular expressions
- Regular expressions
- Regular expressions
- Testing frameworks for object-oriented languages
- Testing frameworks for object-oriented languages
- 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 6
- Lecture 7
- Lecture 9
- Lecture 10
- Lecture 11
- Lecture 12
- Aspect-Oriented Programming
- Aspect-Oriented Programming
- Aspect-Oriented Programming
- Metaprogramming
- Metaprogramming
- Metaprogramming
- Schemes for patterns classification
- Schemes for patterns classification
- Schemes for patterns classification
- Schemes for patterns classification
- Design patterns from a static/dynamic point of view
- Design patterns from a static/dynamic point of view
- Lecture 13
- Lecture 14
- Lecture 15 and 16
- Lecture 19
- Lecture 21
- Lecture 22, 23, 24, 25, 26
- 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
- Uniform access principle
- Single-Choice Principle
- Single-Choice Principle
- Single-Choice Principle
- Stable Dependencies Principle
- Stable Dependencies Principle
- Common Closure Principle
- Common Closure Principle
- DRY principle for data
- DRY principle for data
- DRY principle for data
- 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
- Clone detection and clone manipulation
- 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