CSC/ECE 517 Fall 2007: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
 
(22 intermediate revisions by the same user not shown)
Line 1: Line 1:
CSC- 517 Object-Oriented Languages and Systems
=== Summary of pages done in Fall 2007 and Summer 2008 ===


==Summary of links==
* Lecture 4
 
** [[CSC/ECE 517 Fall 2007/wiki1 2 316|Callbacks using Ruby closure vs. Smalltalk callbacks]]
HashMaps in Java vs. Ruby [wiki1_1_aman]
** [[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]]
[http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2007/ wiki1b_2_Method_Missing wiki1b_2_Method_Missing]
** [[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