CSC/ECE 517 Fall 2007: Difference between revisions
		
		
		
		Jump to navigation
		Jump to search
		
No edit summary  | 
				|||
| (28 intermediate revisions by 2 users not shown) | |||
| Line 1: | Line 1: | ||
=== Summary of pages done in Fall 2007 and Summer 2008 ===  | |||
* Lecture 4  | |||
Ruby   | ** [[CSC/ECE 517 Fall 2007/wiki1 2 316|Callbacks using Ruby closure vs. Smalltalk callbacks]]  | ||
** [[CSC/ECE 517 Fall 2007/wiki1 2 pk|Callbacks using Ruby closure vs. Smalltalk callbacks]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki1 3 b6|Currying in Ruby]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki1 3 c1|What is currying?]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki1b 3 an|Closures]]  | |||
* Lecture 5  | |||
** [[CSC/ECE 517 Fall 2007/wiki1 1 aman|Hash maps in Java vs hashes in Ruby]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki1 1 ss|Compare hashes in Ruby with HashMaps in Java]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki1 6 arraysandhashes|Arrays and hashtables]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki1 6 c9)|Arrays and hashtables]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki1 6 jm|Arrays and hashtables]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki1b 2 22|Method missing]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki1b 2 Method Missing|Method missing]]  | |||
** [[CSC/ECE 517 Fall 2007wiki2 c9|Method missing]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki1b 2 c9|Example of Method missing]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki1b 2 p2|Example of Method missing]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki1 2 p2|Explain method_missing]]  | |||
* Lecture 6  | |||
** [[CSC/ECE 517 Fall 2007/wiki1 4 01|Private methods in Ruby compared with Java]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki1 4 ar|Private method invocation in Ruby]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki1 5 ap|Duck typing vs. interfaces]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki1 5 sl|Duck typing vs. interfaces and inheritance]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki1 1 mb|Regular expressions in Ruby vs. Java]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki1 1 mf|Regular expressions in Ruby vs. Java]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki1 1 rapodraz|Regular expressions in Ruby vs. Java]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki1 1 rp|Regular expressions in Ruby vs. Java]]  | |||
* Lecture 7  | |||
** [[CSC/ECE 517 Fall 2007/wiki1 6 b2|Mixins]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki1 6 c9|Inheritance and mixins]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki1 7 a23|Multiple inheritance and mixins]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki1 7 c9|Mixins vs. multiple inheritance]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki1 8 s1|extend method]]  | |||
* Lecture 8  | |||
** [[CSC/ECE 517 Fall 2007/wiki1b 4 19|Metaprogramming in Ruby]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki1b 4 am|Metaprogramming in Ruby]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki1b 4 pm|Metaprogramming in Ruby]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki1b 5 b4|Aspect-oriented programming and AspectR]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki1 3 aobk|Reflection]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki1 3 jb|Reflection]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki1 3 ref|Reflection]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki1 7 ev|eval()]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki1 7 n1|eval()]]  | |||
* Lecture 9  | |||
** [[CSC/ECE 517 Fall 2007/wiki1b 6 aa|Singleton in Ruby and Java]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki1b 6 c1|Singleton in Ruby and Java]]  | |||
* Lecture 10  | |||
** [[CSC/ECE 517 Fall 2007/wiki1b 7 as|Command patterns]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki1b 7 c9|Command pattern]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki1b 7 vs|Command pattern]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki1b 8 ktrk|Strategy in Ruby and Java]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki1b 8 sa|Strategy in Ruby and Java]]  | |||
* Lecture 12  | |||
** [[CSC/ECE 517 Fall 2007/wiki2/3 rl|Model/View/Controller in Ruby and Java]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki2 3 bp|Resources on MVC]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki2 1 p23|Ruby on Rails vs. Apache Struts]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki2 1 pp|Ruby on Rails vs. Apache Struts]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki2 1 rl|Ruby on Rails vs. Apache Struts]]  | |||
* Lecture 13  | |||
** [[CSC/ECE 517 Fall 2007/wiki2 2 22|Object-relational mapping]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki2 2 aa|Object-relational mapping]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki2 2 d4|Object-relational mapping]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki3 1 ar|RDB/OO patterns]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki3 1 th|RDB/OO patterns]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki3 7 SHOP PAT|Shopper pattern]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki3 7 shopper|Shopper pattern]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki3 7 ws|Shopper pattern]]  | |||
* Lecture 14  | |||
** [[CSC/ECE 517 Fall 2007/wiki2 5 as|CRC cards]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki2 5 kq|CRC cards]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki2 5 pr|CRC cards]]  | |||
* Lecture 15  | |||
** [[CSC/ECE 517 Fall 2007/wiki2 4 2q|Use cases]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki2 4 dj|Use cases]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki2 4 np|Use cases]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki2 3 uml|Resources for use cases]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki2 4 acmoore2|Resources for use cases]]  | |||
* Lecture 16  | |||
** [[CSC/ECE 517 Fall 2007/wiki1b 1 as|Using namespaces and aliases to avoid method-name conflicts]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki2 6 ap|Type vs. class]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki2 6 mxz|Type vs. class]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki2 6 ubs|Type vs. class]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki2 8 42|Overloading vs. overriding]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki2 8 c9|Overloading vs. overriding]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki2 2 ao|Variable-naming conventions]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki2 2 ar|Variable-naming conventions]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki2 2 rapodraz|Variable-naming conventions]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki2 3 kb|Resources for learning about UML]]  | |||
* Lecture 17  | |||
** [[CSC/ECE 517 Summer 2008/wiki1 8 dm|Prototype-based programming examples]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki1 8 smr|Prototype-based programming examples]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki1 Assignment|Prototype-based programming examples]]  | |||
* Lecture 18  | |||
** [[CSC/ECE 517 Fall 2007/wiki2 10 ab|Inheritance vs. delegation]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki2 10 c4|Inheritance vs. delegation]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki2 10 cv|Inheritance vs. delegation]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki2 8 Inh-Del|Inheritance vs. delegation]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki2 8 jb|Inheritance vs. delegation]]  | |||
* Lecture 19  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 1 sa|Support for assertions]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 1 vb|Support for assertions]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 2 at|Examples of programming by contract]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 2 bp|Examples of programming by contract]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 2 c4|Examples of programming by contract]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 2 dp|Examples of programming by contract]]  | |||
* Lecture 20  | |||
** [[CSC/ECE 517 Fall 2007/wiki2 7 an|Cohesion and coupling]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki2 7 as|Cohesion and coupling]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki2 7 b2|Cohesion and coupling]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki2 5 mo|Cohesion and coupling]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki2 6 cc|Cohesion and coupling]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki2 c6 CohCoupling|Cohesion and coupling]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki3 3 cd|Low coupling]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki3 3 dm|Low coupling]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki3 3 lc|Low coupling]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki3 3 n1|Low coupling]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki3 4 bk|Cohesion]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki3 4 mb|Cohesion]]  | |||
* Lecture 21  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 10 10|The agile debate]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 10 ljh|The agile debate]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 10 sb|The agile debate]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 10 tm|The agile debate]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 9 mdkt|Collective ownership, continuous integration]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 9 p1|Collective ownership, continuous integration]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 9 pp|Collective ownership, continuous integration]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 9 sm|Collective ownership, continuous integration]]  | |||
* Lecture 22  | |||
** [[CSC/ECE 517 Summer 2008/wiki1 2 acmoore2|Iterators and generators]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki1 2 i2|Iterators and generators]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki1 2 itr|Iterators and generators]]  | |||
** [[CSC/ ECE 517 Fall 2007/wiki3 5 pr|Creator and Factory patterns]]  | |||
* Lecture 23  | |||
** [[CSC/ECE 517 Fall 2007/wiki2 c9|Observer pattern]]  | |||
* Lecture 25  | |||
** [[CSC/ECE 517 Summer 2008/wiki1 5 a5|Hooks in Ruby and Java]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki1 5 bk|Hooks in Ruby and Java]]  | |||
* Lecture 26  | |||
** [[CSC/ECE 517 Summer 2008/wiki2 4 uc|DRY principle]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki2 5 31|DRY principle]]  | |||
* No current lecture  | |||
** [[CSC/ECE 517 Fall 2007/wiki1 1 as|Disambiguating method calls]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki1b 1 c4|Disambiguating multiple instances of a method]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 3 aa|Interface segregation principle]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki2 9 A3|Principle of least astonishment]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki2 9 NT|Principle of least astonishment]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki2 9 kk|Principle of least astonishment]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 3 33|Separation of responsibility]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 3 ab|Separation of responsibility]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 3 as|Separation of responsibility]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 3 qq|Separation of responsibility]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 4 aa|Interface segregation principle]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 4 rl|Interface segregation principle]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 4 s2|Interface segregation principle]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 4 sa|Interface segregation principle]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 5 ab|Creator pattern]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 5 ld|Creator pattern]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 5 ns|Creator pattern]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 6 aa|Controller pattern]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 6 pm|Controller pattern]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 6 rs|Controller pattern]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 6 ub|Controller pattern]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 7 cl|Bertrand Meyer's patterns]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki3 8 jb|Bertrand Meyer's principles]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki3 8 smr|Bertrand Meyer's principles]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 8 42|Bob Martin's principles]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 8 as|Bob Martin's principles]]  | |||
** [[CSC/ECE 517 Fall 2007/wiki3 8 ss|Bob Martin's principles]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki1 4 wm|Java vs. Ruby threads]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki2 1 mf|Rails vs. PHP]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki2 1 n1|Rails vs. PHP]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki2 1 tm|Rails vs. PHP]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki2 Assignment|Links to best versions of(?) PR 2 pages]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki3 1 PF|Pure fabrication pattern]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki3 5 rp|Pure fabrication pattern]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki3 2 acmoore2|Patterns almanac: State, Basic Relationship, Manager]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki3 2 mb|Patterns almanac: Object pool, Producer-consumer, Immutable, Web site review]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki3 6 esb|Protected variation]]  | |||
** [[CSC/ECE 517 Summer 2008/wiki3 Assignment|Links to best versions of(?) PR 3 pages]]  | |||
Latest revision as of 22:29, 22 July 2009
Summary of pages done in Fall 2007 and Summer 2008
- Lecture 4
 - Lecture 5
 - Lecture 6
 - Lecture 7
 - Lecture 8
 - Lecture 9
 - Lecture 10
 - Lecture 12
 - Lecture 13
 - Lecture 14
 - Lecture 15
 - Lecture 16
 - Lecture 17
 - Lecture 18
 - Lecture 19
 - Lecture 20
 - Lecture 21
 - Lecture 22
 - Lecture 23
 - Lecture 25
 - Lecture 26
 - No current lecture
- Disambiguating method calls
 - Disambiguating multiple instances of a method
 - Interface segregation principle
 - Principle of least astonishment
 - Principle of least astonishment
 - Principle of least astonishment
 - Separation of responsibility
 - Separation of responsibility
 - Separation of responsibility
 - Separation of responsibility
 - Interface segregation principle
 - Interface segregation principle
 - Interface segregation principle
 - Interface segregation principle
 - Creator pattern
 - Creator pattern
 - Creator pattern
 - Controller pattern
 - Controller pattern
 - Controller pattern
 - Controller pattern
 - Bertrand Meyer's patterns
 - Bertrand Meyer's principles
 - Bertrand Meyer's principles
 - Bob Martin's principles
 - Bob Martin's principles
 - Bob Martin's principles
 - Java vs. Ruby threads
 - Rails vs. PHP
 - Rails vs. PHP
 - Rails vs. PHP
 - Links to best versions of(?) PR 2 pages
 - Pure fabrication pattern
 - Pure fabrication pattern
 - Patterns almanac: State, Basic Relationship, Manager
 - Patterns almanac: Object pool, Producer-consumer, Immutable, Web site review
 - Protected variation
 - Links to best versions of(?) PR 3 pages