CSC/ECE 517 Fall 2007: Difference between revisions
Jump to navigation
Jump to search
Line 1: | Line 1: | ||
==Summary of | === Summary of pages done in Fall 2007 and Summer 2008 === | ||
* Lecture 4 | |||
* Lecture 4 | |||
** [[CSC/ECE 517 Fall 2007/wiki1 2 316|Callbacks using Ruby closure vs. Smalltalk callbacks]] | ** [[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 2 pk|Callbacks using Ruby closure vs. Smalltalk callbacks]] | ||
Line 6: | Line 7: | ||
** [[CSC/ECE 517 Fall 2007/wiki1 3 c1|What is currying?]] | ** [[CSC/ECE 517 Fall 2007/wiki1 3 c1|What is currying?]] | ||
** [[CSC/ECE 517 Fall 2007/wiki1b 3 an|Closures]] | ** [[CSC/ECE 517 Fall 2007/wiki1b 3 an|Closures]] | ||
* Lecture 5 | * 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 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 Fall 2007/wiki1 1 ss|Compare hashes in Ruby with HashMaps in Java]] | ||
Line 18: | Line 19: | ||
** [[CSC/ECE 517 Fall 2007/wiki1b 2 p2|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]] | ** [[CSC/ECE 517 Fall 2007/wiki1 2 p2|Explain method_missing]] | ||
* Lecture 6 | * Lecture 6 | ||
** [[CSC/ECE 517 Fall 2007/wiki1 4 01|Private methods in Ruby compared with Java]] | ** [[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 4 ar|Private method invocation in Ruby]] | ||
Line 27: | Line 28: | ||
** [[CSC/ECE 517 Summer 2008/wiki1 1 rapodraz|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]] | ** [[CSC/ECE 517 Summer 2008/wiki1 1 rp|Regular expressions in Ruby vs. Java]] | ||
* Lecture 7 | * Lecture 7 | ||
** [[CSC/ECE 517 Fall 2007/wiki1 6 b2|Mixins]] | ** [[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 6 c9|Inheritance and mixins]] | ||
Line 33: | Line 34: | ||
** [[CSC/ECE 517 Fall 2007/wiki1 7 c9|Mixins vs. multiple inheritance]] | ** [[CSC/ECE 517 Fall 2007/wiki1 7 c9|Mixins vs. multiple inheritance]] | ||
** [[CSC/ECE 517 Fall 2007/wiki1 8 s1|extend method]] | ** [[CSC/ECE 517 Fall 2007/wiki1 8 s1|extend method]] | ||
* Lecture 8 | * Lecture 8 | ||
** [[CSC/ECE 517 Fall 2007/wiki1b 4 19|Metaprogramming in Ruby]] | ** [[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 am|Metaprogramming in Ruby]] | ||
Line 43: | Line 44: | ||
** [[CSC/ECE 517 Summer 2008/wiki1 7 ev|eval()]] | ** [[CSC/ECE 517 Summer 2008/wiki1 7 ev|eval()]] | ||
** [[CSC/ECE 517 Summer 2008/wiki1 7 n1|eval()]] | ** [[CSC/ECE 517 Summer 2008/wiki1 7 n1|eval()]] | ||
* Lecture 9 | * Lecture 9 | ||
** [[CSC/ECE 517 Fall 2007/wiki1b 6 aa|Singleton in Ruby and Java]] | ** [[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]] | ** [[CSC/ECE 517 Fall 2007/wiki1b 6 c1|Singleton in Ruby and Java]] | ||
* Lecture 10 | * Lecture 10 | ||
** [[CSC/ECE 517 Fall 2007/wiki1b 7 as|Command patterns]] | ** [[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 c9|Command pattern]] | ||
Line 52: | Line 53: | ||
** [[CSC/ECE 517 Fall 2007/wiki1b 8 ktrk|Strategy in Ruby and Java]] | ** [[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]] | ** [[CSC/ECE 517 Fall 2007/wiki1b 8 sa|Strategy in Ruby and Java]] | ||
* Lecture 12 | * Lecture 12 | ||
** [[CSC/ECE 517 Fall 2007/wiki2/3 rl|Model/View/Controller in Ruby and Java]] | ** [[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 3 bp|Resources on MVC]] | ||
Line 58: | Line 59: | ||
** [[CSC/ECE 517 Fall 2007/wiki2 1 pp|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]] | ** [[CSC/ECE 517 Fall 2007/wiki2 1 rl|Ruby on Rails vs. Apache Struts]] | ||
* Lecture 13 | * Lecture 13 | ||
** [[CSC/ECE 517 Fall 2007/wiki2 2 22|Object-relational mapping]] | ** [[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 aa|Object-relational mapping]] | ||
Line 67: | Line 68: | ||
** [[CSC/ECE 517 Summer 2008/wiki3 7 shopper|Shopper pattern]] | ** [[CSC/ECE 517 Summer 2008/wiki3 7 shopper|Shopper pattern]] | ||
** [[CSC/ECE 517 Summer 2008/wiki3 7 ws|Shopper pattern]] | ** [[CSC/ECE 517 Summer 2008/wiki3 7 ws|Shopper pattern]] | ||
* Lecture 14 | * Lecture 14 | ||
** [[CSC/ECE 517 Fall 2007/wiki2 5 as|CRC cards]] | ** [[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 kq|CRC cards]] | ||
** [[CSC/ECE 517 Fall 2007/wiki2 5 pr|CRC cards]] | ** [[CSC/ECE 517 Fall 2007/wiki2 5 pr|CRC cards]] | ||
* Lecture 15 | * Lecture 15 | ||
** [[CSC/ECE 517 Fall 2007/wiki2 4 2q|Use cases]] | ** [[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 dj|Use cases]] | ||
Line 77: | Line 78: | ||
** [[CSC/ECE 517 Summer 2008/wiki2 3 uml|Resources for 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]] | ** [[CSC/ECE 517 Summer 2008/wiki2 4 acmoore2|Resources for use cases]] | ||
* Lecture 16 | * Lecture 16 | ||
** [[CSC/ECE 517 Fall 2007/wiki1b 1 as|Using namespaces and aliases to avoid method-name conflicts]] | ** [[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 ap|Type vs. class]] | ||
Line 88: | Line 89: | ||
** [[CSC/ECE 517 Summer 2008/wiki2 2 rapodraz|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]] | ** [[CSC/ECE 517 Summer 2008/wiki2 3 kb|Resources for learning about UML]] | ||
* Lecture 17 | * Lecture 17 | ||
** [[CSC/ECE 517 Summer 2008/wiki1 8 dm|Prototype-based programming examples]] | ** [[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 8 smr|Prototype-based programming examples]] | ||
** [[CSC/ECE 517 Summer 2008/wiki1 Assignment|Prototype-based programming examples]] | ** [[CSC/ECE 517 Summer 2008/wiki1 Assignment|Prototype-based programming examples]] | ||
* Lecture 18 | * Lecture 18 | ||
** [[CSC/ECE 517 Fall 2007/wiki2 10 ab|Inheritance vs. delegation]] | ** [[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 c4|Inheritance vs. delegation]] | ||
Line 98: | Line 99: | ||
** [[CSC/ECE 517 Summer 2008/wiki2 8 Inh-Del|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]] | ** [[CSC/ECE 517 Summer 2008/wiki2 8 jb|Inheritance vs. delegation]] | ||
* Lecture 19 | * Lecture 19 | ||
** [[CSC/ECE 517 Fall 2007/wiki3 1 sa|Support for assertions]] | ** [[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 1 vb|Support for assertions]] | ||
Line 105: | Line 106: | ||
** [[CSC/ECE 517 Fall 2007/wiki3 2 c4|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]] | ** [[CSC/ECE 517 Fall 2007/wiki3 2 dp|Examples of programming by contract]] | ||
* Lecture 20 | * Lecture 20 | ||
** [[CSC/ECE 517 Fall 2007/wiki2 7 an|Cohesion and coupling]] | ** [[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 as|Cohesion and coupling]] | ||
Line 118: | Line 119: | ||
** [[CSC/ECE 517 Summer 2008/wiki3 4 bk|Cohesion]] | ** [[CSC/ECE 517 Summer 2008/wiki3 4 bk|Cohesion]] | ||
** [[CSC/ECE 517 Summer 2008/wiki3 4 mb|Cohesion]] | ** [[CSC/ECE 517 Summer 2008/wiki3 4 mb|Cohesion]] | ||
* Lecture 21 | * Lecture 21 | ||
** [[CSC/ECE 517 Fall 2007/wiki3 10 10|The agile debate]] | ** [[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 ljh|The agile debate]] | ||
Line 127: | Line 128: | ||
** [[CSC/ECE 517 Fall 2007/wiki3 9 pp|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]] | ** [[CSC/ECE 517 Fall 2007/wiki3 9 sm|Collective ownership, continuous integration]] | ||
* Lecture 22 | * Lecture 22 | ||
** [[CSC/ECE 517 Summer 2008/wiki1 2 acmoore2|Iterators and generators]] | ** [[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 i2|Iterators and generators]] | ||
** [[CSC/ECE 517 Summer 2008/wiki1 2 itr|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]] | ** [[CSC/ ECE 517 Fall 2007/wiki3 5 pr|Creator and Factory patterns]] | ||
* Lecture 23 | * Lecture 23 | ||
** [[CSC/ECE 517 Fall 2007/wiki2 c9|Observer pattern]] | ** [[CSC/ECE 517 Fall 2007/wiki2 c9|Observer pattern]] | ||
* Lecture 25 | * Lecture 25 | ||
** [[CSC/ECE 517 Summer 2008/wiki1 5 a5|Hooks in Ruby and Java]] | ** [[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]] | ** [[CSC/ECE 517 Summer 2008/wiki1 5 bk|Hooks in Ruby and Java]] | ||
* Lecture 26 | * Lecture 26 | ||
** [[CSC/ECE 517 Summer 2008/wiki2 4 uc|DRY principle]] | ** [[CSC/ECE 517 Summer 2008/wiki2 4 uc|DRY principle]] | ||
** [[CSC/ECE 517 Summer 2008/wiki2 5 31|DRY principle]] | ** [[CSC/ECE 517 Summer 2008/wiki2 5 31|DRY principle]] | ||
* No current lecture | * No current lecture | ||
** [[CSC/ECE 517 Fall 2007/wiki1 1 as|Disambiguating method calls]] | ** [[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/wiki1b 1 c4|Disambiguating multiple instances of a method]] |
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