<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.expertiza.ncsu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Aragorn</id>
	<title>Expertiza_Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.expertiza.ncsu.edu/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Aragorn"/>
	<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=Special:Contributions/Aragorn"/>
	<updated>2026-09-30T14:56:43Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30140</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30140"/>
		<updated>2009-12-22T01:46:57Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of wiki pages contributed in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2 : Debugging and testing'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3 : Refactoring and version control'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a/sheng_yi|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4 : Introduction to Ruby'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
*'''Lecture 5 : OOP in Ruby'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7 : Ruby on Rails'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_AJAXandMVC|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_pz|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_rv|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8 : The Cookbook application'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9 : Testing'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_28|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_Gui_Testing_Frameworks_aa|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_mk|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 10 : Modules and mixins'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_cn|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_co|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_ov|Survey of language features for code reuse]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 11 : Reflection'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_f1|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_va|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_ReflectionApis|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jdf|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jn|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_RP|Reflection-oriented programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12 : Metaprogramming'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki29_VB|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_SN|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_km|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_MP|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_SA|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_ma|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_StaticDynamic|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_ncs|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14 : The CRC-card method'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 15 and 16 : Introduction to OOA/OOD'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_A%26OM|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_ms|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_sm|Abstraction and the object model]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 16 : O-O Fundamentals'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_ee|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_hl|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_rp|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_dn|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_railroad|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_va|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_2_2_SJ|if-statement considered harmful]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 19 : Programming with assertions'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 20 : Elegance and classes'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 21 : Agile methodologies'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 22, 23, 24, 25 : Design Patterns'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_sv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_zv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 27 : Leftover patterns and pattern classification'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_cc|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_ee|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_i7|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_01|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_PatternClassification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
&lt;br /&gt;
*'''Topics not covered in the lectures'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_is|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_Single_Choice_Pattern_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_VR|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_301|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_sd|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_ISPPSI|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_agummad|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_aa|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_as|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_TDD|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_conc_patterns|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_san|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_ab|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a2rd|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_agummad|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_am|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_rs|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_tvhi|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_b5|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_bd|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_pp|Synchronizer token pattern]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30139</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30139"/>
		<updated>2009-12-22T01:44:43Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of wiki pages contributed in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2 : Debugging and testing'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3 : Refactoring and version control'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a/sheng_yi|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4 : Introduction to Ruby'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
*'''Lecture 5 : OOP in Ruby'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7 : Ruby on Rails'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_AJAXandMVC|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_pz|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_rv|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8 : The Cookbook application'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9 : Testing'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_28|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_Gui_Testing_Frameworks_aa|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_mk|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 10 : Modules and mixins'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_cn|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_co|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_ov|Survey of language features for code reuse]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 11 : Reflection'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_f1|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_va|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_ReflectionApis|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jdf|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jn|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_RP|Reflection-oriented programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12 : Metaprogramming'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki29_VB|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_SN|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_km|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_MP|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_SA|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_ma|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_StaticDynamic|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_ncs|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14 : The CRC-card method'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 15 and 16 : Introduction to OOA/OOD'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_A%26OM|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_ms|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_sm|Abstraction and the object model]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 16 : O-O Fundamentals'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_ee|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_hl|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_rp|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_dn|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_railroad|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_va|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_2_2_SJ|if-statement considered harmful]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 19 : Programming with assertions'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 20 : Elegance and classes'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 21 : Agile methodologies'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 22, 23, 24, 25 : Design Patterns'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_sv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_zv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 27 : Leftover patterns and pattern classification'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_cc|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_ee|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_i7|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_01|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_PatternClassification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
&lt;br /&gt;
*'''Topics not covered in the lectures'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_is|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_Single_Choice_Pattern_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_VR|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_301|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_sd|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_ISPPSI|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_agummad|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_aa|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_as|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_TDD|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_conc_patterns|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_san|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_ab|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a2rd|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_agummad|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_am|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_rs|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_tvhi|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_b5|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_bd|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_pp|Synchronizer token pattern]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30138</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30138"/>
		<updated>2009-12-22T01:38:51Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of wiki pages contributed in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2 : Debugging and testing'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3 : Refactoring and version control'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a/sheng_yi|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4 : Introduction to Ruby'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
*'''Lecture 5 : OOP in Ruby'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7 : Ruby on Rails'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_AJAXandMVC|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_pz|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_rv|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8 : The Cookbook application'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9 : Testing'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_28|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_Gui_Testing_Frameworks_aa|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_mk|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 10 : Modules and mixins'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_cn|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_co|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_ov|Survey of language features for code reuse]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 11 : Reflection'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_f1|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_va|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_ReflectionApis|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jdf|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jn|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_RP|Reflection-oriented programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12 : Metaprogramming'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki29_VB|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_SN|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_km|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_MP|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_SA|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_ma|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_StaticDynamic|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_ncs|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14 : The CRC-card method'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 15 and 16 : Introduction to OOA/OOD'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_A%26OM|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_ms|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_sm|Abstraction and the object model]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 16 : O-O Fundamentals'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_ee|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_hl|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_rp|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_dn|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_railroad|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_va|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_2_2_SJ|if-statement considered harmful]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 19 : Programming with assertions'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 20 : Elegance and classes'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 21 : Agile methodologies'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 22, 23, 24, 25 : Design Patterns'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_sv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_zv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 27 : Leftover patterns and pattern classification'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_cc|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_ee|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_i7|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_01|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_PatternClassification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
&lt;br /&gt;
*'''Topics not covered in the lectures'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_is|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_Single_Choice_Pattern_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_VR|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_301|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_sd|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_ISPPSI|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_agummad|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_aa|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_as|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_TDD|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_conc_patterns|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_san|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_ab|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a2rd|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_agummad|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_am|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_rs|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_tvhi|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_b5|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_bd|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_pp|Synchronizer token pattern]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30137</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30137"/>
		<updated>2009-12-22T01:35:55Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of wiki pages contributed in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2 : Debugging and testing'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3 : Refactoring and version control'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a/sheng_yi|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4 : Introduction to Ruby'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
*'''Lecture 5 : OOP in Ruby'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7 : Ruby on Rails'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_AJAXandMVC|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_pz|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_rv|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8 : The Cookbook application'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9 : Testing'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_28|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_Gui_Testing_Frameworks_aa|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_mk|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 10 : Modules and mixins'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_cn|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_co|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_ov|Survey of language features for code reuse]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 11 : Reflection'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_f1|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_va|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_ReflectionApis|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jdf|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jn|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_RP|Reflection-oriented programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12 : Metaprogramming'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki29_VB|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_SN|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_km|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_MP|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_SA|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_ma|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_StaticDynamic|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_ncs|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14 : The CRC-card method'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 15 and 16 : Introduction to OOA/OOD'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_A%26OM|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_ms|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_sm|Abstraction and the object model]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 16 : O-O Fundamentals'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_ee|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_hl|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_rp|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_dn|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_railroad|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_va|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_2_2_SJ|if-statement considered harmful]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 19 : Programming with assertions'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 20 : Elegance and classes'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 21 : Agile methodologies'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 22, 23, 24, 25 : Design Patterns'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_sv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_zv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 27 : Leftover patterns and pattern classification'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_cc|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_ee|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_i7|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_01|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_PatternClassification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
&lt;br /&gt;
*'''Topics not covered in the lectures'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_is|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_Single_Choice_Pattern_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_VR|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_301|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_sd|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_ISPPSI|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_agummad|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_aa|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_as|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_TDD|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_conc_patterns|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_san|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_ab|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_22_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a2rd|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_agummad|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_am|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_rs|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_tvhi|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_b5|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_bd|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_pp|Synchronizer token pattern]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30136</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30136"/>
		<updated>2009-12-22T01:32:01Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of wiki pages contributed in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2 : Debugging and testing'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3 : Refactoring and version control'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a/sheng_yi|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4 : Introduction to Ruby'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
*'''Lecture 5 : OOP in Ruby'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7 : Ruby on Rails'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_AJAXandMVC|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_pz|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_rv|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8 : The Cookbook application'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9 : Testing'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_28|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_Gui_Testing_Frameworks_aa|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_mk|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 10 : Modules and mixins'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_cn|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_co|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_ov|Survey of language features for code reuse]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 11 : Reflection'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_f1|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_va|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_ReflectionApis|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jdf|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jn|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_RP|Reflection-oriented programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12 : Metaprogramming'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki29_VB|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_SN|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_km|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_MP|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_SA|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_ma|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_StaticDynamic|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_ncs|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14 : The CRC-card method'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 15 and 16 : Introduction to OOA/OOD'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_A%26OM|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_ms|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_sm|Abstraction and the object model]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 16 : O-O Fundamentals'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_ee|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_hl|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_rp|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_dn|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_railroad|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_va|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_2_2_SJ|if-statement considered harmful]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 19 : Programming with assertions'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 20 : Elegance and classes'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 21 : Agile methodologies'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 22, 23, 24, 25 : Design Patterns'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_sv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_zv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 27 : Leftover patterns and pattern classification'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_cc|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_ee|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_i7|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_01|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_PatternClassification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
&lt;br /&gt;
*'''Topics not covered in the lectures'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_is|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_Single_Choice_Pattern_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_VR|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_301|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_sd|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_ISPPSI|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_agummad|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_aa|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_as|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_TDD|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_conc_patterns|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_san|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_ab|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_22_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a2rd|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_agummad|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_am|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_rs|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_tvhi|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_b5|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_bd|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_pp|Synchronizer token pattern]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30135</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30135"/>
		<updated>2009-12-22T01:29:36Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of wiki pages contributed in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2 : Debugging and testing'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3 : Refactoring and version control'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a/sheng_yi|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4 : Introduction to Ruby'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
*'''Lecture 5 : OOP in Ruby'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf)|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7 : Ruby on Rails'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_AJAXandMVC|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_pz|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_rv|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8 : The Cookbook application'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9 : Testing'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_28|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_Gui_Testing_Frameworks_aa|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_mk|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 10 : Modules and mixins'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_cn|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_co|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_ov|Survey of language features for code reuse]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 11 : Reflection'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_f1|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_va|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_ReflectionApis|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jdf|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jn|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_RP|Reflection-oriented programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12 : Metaprogramming'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki29_VB|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_SN|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_km|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_MP|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_SA|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_ma|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_StaticDynamic|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_ncs|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14 : The CRC-card method'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 15 and 16 : Introduction to OOA/OOD'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_A%26OM|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_ms|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_sm|Abstraction and the object model]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 16 : O-O Fundamentals'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_ee|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_hl|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_rp|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_dn|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_railroad|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_va|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_2_2_SJ|if-statement considered harmful]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 19 : Programming with assertions'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 20 : Elegance and classes'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 21 : Agile methodologies'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 22, 23, 24, 25 : Design Patterns'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_sv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_zv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 27 : Leftover patterns and pattern classification'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_cc|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_ee|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_i7|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_01|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_PatternClassification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
&lt;br /&gt;
*'''Topics not covered in the lectures'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_is|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_Single_Choice_Pattern_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_VR|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_301|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_sd|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_ISPPSI|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_agummad|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_aa|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_as|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_TDD|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_conc_patterns|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_san|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_ab|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_22_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a2rd|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_agummad|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_am|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_rs|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_tvhi|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_b5|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_bd|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_pp|Synchronizer token pattern]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30134</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30134"/>
		<updated>2009-12-22T01:27:25Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of wiki pages contributed in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2 : Debugging and testing'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3 : Refactoring and version control'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9b_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a/sheng_yi|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4 : Introduction to Ruby'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
*'''Lecture 5 : OOP in Ruby'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf)|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7 : Ruby on Rails'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_AJAXandMVC|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_pz|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_rv|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8 : The Cookbook application'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9 : Testing'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_28|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_Gui_Testing_Frameworks_aa|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_mk|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 10 : Modules and mixins'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_cn|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_co|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_ov|Survey of language features for code reuse]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 11 : Reflection'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_f1|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_va|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_ReflectionApis|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jdf|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jn|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_RP|Reflection-oriented programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12 : Metaprogramming'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki29_VB|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_SN|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_km|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_MP|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_SA|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_ma|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_StaticDynamic|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_ncs|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14 : The CRC-card method'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 15 and 16 : Introduction to OOA/OOD'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_A%26OM|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_ms|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_sm|Abstraction and the object model]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 16 : O-O Fundamentals'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_ee|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_hl|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_rp|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_dn|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_railroad|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_va|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_2_2_SJ|if-statement considered harmful]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 19 : Programming with assertions'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 20 : Elegance and classes'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 21 : Agile methodologies'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 22, 23, 24, 25 : Design Patterns'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_sv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_zv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 27 : Leftover patterns and pattern classification'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_cc|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_ee|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_i7|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_01|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_PatternClassification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
&lt;br /&gt;
*'''Topics not covered in the lectures'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_is|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_Single_Choice_Pattern_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_VR|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_301|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_sd|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_ISPPSI|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_agummad|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_aa|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_as|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_TDD|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_conc_patterns|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_san|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_ab|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_22_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a2rd|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_agummad|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_am|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_rs|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_tvhi|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_b5|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_bd|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_pp|Synchronizer token pattern]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30133</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30133"/>
		<updated>2009-12-22T01:24:30Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of wiki pages contributed in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2 : Debugging and testing'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3 : Refactoring and version control'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9a_HJ|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9b_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a/sheng_yi|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4 : Introduction to Ruby'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
*'''Lecture 5 : OOP in Ruby'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf)|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7 : Ruby on Rails'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_AJAXandMVC|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_pz|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_rv|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8 : The Cookbook application'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9 : Testing'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_28|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_Gui_Testing_Frameworks_aa|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_mk|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 10 : Modules and mixins'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_cn|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_co|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_ov|Survey of language features for code reuse]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 11 : Reflection'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_f1|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_va|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_ReflectionApis|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jdf|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jn|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_RP|Reflection-oriented programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12 : Metaprogramming'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki29_VB|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_SN|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_km|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_MP|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_SA|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_ma|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_StaticDynamic|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_ncs|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14 : The CRC-card method'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 15 and 16 : Introduction to OOA/OOD'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_A%26OM|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_ms|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_sm|Abstraction and the object model]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 16 : O-O Fundamentals'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_ee|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_hl|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_rp|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_dn|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_railroad|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_va|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_2_2_SJ|if-statement considered harmful]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 19 : Programming with assertions'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 20 : Elegance and classes'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 21 : Agile methodologies'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 22, 23, 24, 25 : Design Patterns'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_sv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_zv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 27 : Leftover patterns and pattern classification'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_cc|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_ee|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_i7|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_01|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_PatternClassification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
&lt;br /&gt;
*'''Topics not covered in the lectures'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_is|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_Single_Choice_Pattern_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_VR|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_301|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_sd|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_ISPPSI|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_agummad|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_aa|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_as|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_TDD|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_conc_patterns|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_san|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_ab|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_22_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a2rd|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_agummad|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_am|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_rs|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_tvhi|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_b5|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_bd|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_pp|Synchronizer token pattern]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30132</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30132"/>
		<updated>2009-12-22T01:23:58Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2 : Debugging and testing'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3 : Refactoring and version control'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9a_HJ|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9b_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a/sheng_yi|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4 : Introduction to Ruby'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
*'''Lecture 5 : OOP in Ruby'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf)|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7 : Ruby on Rails'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_AJAXandMVC|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_pz|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_rv|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8 : The Cookbook application'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9 : Testing'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_28|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_Gui_Testing_Frameworks_aa|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_mk|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 10 : Modules and mixins'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_cn|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_co|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_ov|Survey of language features for code reuse]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 11 : Reflection'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_f1|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_va|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_ReflectionApis|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jdf|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jn|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_RP|Reflection-oriented programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12 : Metaprogramming'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki29_VB|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_SN|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_km|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_MP|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_SA|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_ma|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_StaticDynamic|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_ncs|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14 : The CRC-card method'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 15 and 16 : Introduction to OOA/OOD'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_A%26OM|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_ms|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_sm|Abstraction and the object model]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 16 : O-O Fundamentals'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_ee|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_hl|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_rp|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_dn|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_railroad|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_va|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_2_2_SJ|if-statement considered harmful]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 19 : Programming with assertions'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 20 : Elegance and classes'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 21 : Agile methodologies'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 22, 23, 24, 25 : Design Patterns'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_sv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_zv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 27 : Leftover patterns and pattern classification'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_cc|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_ee|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_i7|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_01|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_PatternClassification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
&lt;br /&gt;
*'''Topics not covered in the lectures'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_is|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_Single_Choice_Pattern_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_VR|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_301|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_sd|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_ISPPSI|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_agummad|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_aa|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_as|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_TDD|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_conc_patterns|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_san|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_ab|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_22_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a2rd|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_agummad|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_am|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_rs|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_tvhi|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_b5|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_bd|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_pp|Synchronizer token pattern]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30131</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30131"/>
		<updated>2009-12-22T01:17:47Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2 : Debugging and testing'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3 : Refactoring and version control'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9a_HJ|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9b_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a/sheng_yi|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4 : Introduction to Ruby'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
*'''Lecture 5 : OOP in Ruby'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf)|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7 : Ruby on Rails'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_AJAXandMVC|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_pz|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_rv|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8 : The Cookbook application'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9 : Testing'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_28|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_Gui_Testing_Frameworks_aa|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_mk|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 10 : Modules and mixins'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_cn|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_co|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_ov|Survey of language features for code reuse]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 11 : Reflection'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_f1|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_va|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_ReflectionApis|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jdf|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jn|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_RP|Reflection-oriented programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12 : Metaprogramming'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki29_VB|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_SN|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_km|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_MP|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_SA|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_ma|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_StaticDynamic|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_ncs|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14 : The CRC-card method'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 15 and 16 : Introduction to OOA/OOD'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_A%26OM|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_ms|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_sm|Abstraction and the object model]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 16 : O-O Fundamentals'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_ee|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_hl|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_rp|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_dn|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_railroad|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_va|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_2_2_SJ|if-statement considered harmful]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 19 : Programming with assertions'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 20 : Elegance and classes'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 21 : Agile methodologies'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 22, 23, 24, 25 : Design Patterns'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_sv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_zv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 27 : Leftover patterns and pattern classification'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_cc|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_ee|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_i7|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_01|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_PatternClassification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
&lt;br /&gt;
*'''Topics not covered in the lectures'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_is|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_Single_Choice_Pattern_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_VR|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_301|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_sd|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_ISPPSI|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_agummad|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_aa|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_as|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_TDD|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_conc_patterns|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_san|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_ab|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_22_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a2rd|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_agummad|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_am|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_rs|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_tvhi|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_b5|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_bd|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_pp|Synchronizer token pattern]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30130</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30130"/>
		<updated>2009-12-22T01:08:34Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2 : Debugging and testing'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3 : Refactoring and version control'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9a_HJ|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9b_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a/sheng_yi|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_dn|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_railroad|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_va|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_2_2_SJ|if-statement considered harmful]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4 : Introduction to Ruby'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
*'''Lecture 5 : OOP in Ruby'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf)|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7 : Ruby on Rails'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_AJAXandMVC|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_pz|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_rv|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8 : The Cookbook application'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9 : Testing'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_28|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_Gui_Testing_Frameworks_aa|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_mk|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 10 : Modules and mixins'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_cn|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_co|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_ov|Survey of language features for code reuse]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 11 : Reflection'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_f1|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_va|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_ReflectionApis|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jdf|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jn|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_RP|Reflection-oriented programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12 : Metaprogramming'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki29_VB|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_SN|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_km|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_MP|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_SA|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_ma|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_StaticDynamic|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_ncs|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14 : The CRC-card method'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 15 and 16 : Introduction to OOA/OOD and O-O Fundamentals'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_A%26OM|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_ms|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_sm|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_ee|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_hl|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_rp|Hybrid o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 19 : Programming with assertions'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 20 : Elegance and classes'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 21 : Agile methodologies'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 22, 23, 24, 25 : Design Patterns'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_sv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_zv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 27 : Leftover patterns and pattern classification'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_cc|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_ee|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_i7|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_01|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_PatternClassification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
&lt;br /&gt;
*'''Topics not covered in the lectures'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_is|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_Single_Choice_Pattern_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_VR|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_301|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_sd|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_ISPPSI|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_agummad|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_aa|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_as|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_TDD|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_conc_patterns|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_san|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_ab|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_22_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a2rd|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_agummad|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_am|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_rs|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_tvhi|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_b5|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_bd|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_pp|Synchronizer token pattern]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30129</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30129"/>
		<updated>2009-12-22T01:06:01Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: /* Summary of pages done in Fall 2009 */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2 : Debugging and testing'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3 : Refactoring and version control'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9a_HJ|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9b_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a/sheng_yi|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_dn|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_railroad|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_va|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_2_2_SJ|if-statement considered harmful]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4 : Introduction to Ruby'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
*'''Lecture 5 : OOP in Ruby'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf)|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7 : Ruby on Rails'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_AJAXandMVC|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_pz|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_rv|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8 : The Cookbook application'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9 : Testing'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_28|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_Gui_Testing_Frameworks_aa|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_mk|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 10 : Modules and mixins'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_cn|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_co|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_ov|Survey of language features for code reuse]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 11 : Reflection'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_f1|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_va|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_ReflectionApis|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jdf|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jn|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_RP|Reflection-oriented programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12 : Metaprogramming'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki29_VB|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_SN|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_km|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_MP|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_SA|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_ma|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_StaticDynamic|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_ncs|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 13 : Design patterns'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_agummad|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_am|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_rs|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_tvhi|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14 : The CRC-card method'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 15 and 16 : Introduction to OOA/OOD and O-O Fundamentals'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_A%26OM|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_ms|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_sm|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_ee|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_hl|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_rp|Hybrid o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 19 : Programming with assertions'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 20 : Elegance and classes'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 21 : Agile methodologies'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 22, 23, 24, 25 : Design Patterns'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_sv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_zv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 27 : Leftover patterns and pattern classification'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_cc|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_ee|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_i7|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_01|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_PatternClassification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
&lt;br /&gt;
*'''Topics not covered in the lectures'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_is|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_Single_Choice_Pattern_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_VR|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_301|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_sd|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_ISPPSI|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_agummad|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_aa|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_as|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_TDD|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_conc_patterns|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_san|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_ab|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_22_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a2rd|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_b5|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_bd|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_pp|Synchronizer token pattern]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30128</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30128"/>
		<updated>2009-12-22T00:53:53Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9a_HJ|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9b_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a/sheng_yi|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_dn|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_railroad|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_va|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_2_2_SJ|if-statement considered harmful]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf)|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_AJAXandMVC|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_pz|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_rv|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_28|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_Gui_Testing_Frameworks_aa|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_mk|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 10'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_cn|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_co|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_ov|Survey of language features for code reuse]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 11'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_f1|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_va|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_ReflectionApis|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jdf|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jn|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_RP|Reflection-oriented programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki29_VB|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_SN|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_km|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_MP|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_SA|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_ma|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_StaticDynamic|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_ncs|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 13'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_agummad|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_am|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_rs|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_tvhi|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 15 and 16'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_A%26OM|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_ms|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_sm|Abstraction and the object model]]&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_ee|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_hl|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_rp|Hybrid o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 19'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 20'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 21'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 22, 23, 24, 25'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_sv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_zv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 27'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_cc|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_ee|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_i7|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_01|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_PatternClassification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
&lt;br /&gt;
*'''Topics not covered in the lectures'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_is|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_Single_Choice_Pattern_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_VR|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_301|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_sd|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_ISPPSI|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_agummad|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_aa|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_as|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_TDD|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_conc_patterns|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_san|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_ab|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_22_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a2rd|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_b5|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_bd|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_pp|Synchronizer token pattern]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30127</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30127"/>
		<updated>2009-12-22T00:44:14Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9a_HJ|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9b_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a/sheng_yi|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_dn|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_railroad|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_va|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_2_2_SJ|if-statement considered harmful]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf)|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_AJAXandMVC|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_pz|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_rv|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_28|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_Gui_Testing_Frameworks_aa|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_mk|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 10'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_cn|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_co|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_ov|Survey of language features for code reuse]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 11'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_f1|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_va|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_ReflectionApis|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jdf|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jn|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_RP|Reflection-oriented programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki29_VB|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_SN|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_km|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_MP|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_SA|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_ma|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_01|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_PatternClassification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_StaticDynamic|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_ncs|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 13'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_agummad|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_am|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_rs|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_tvhi|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 15 and 16'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_A%26OM|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_ms|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_sm|Abstraction and the object model]]&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_ee|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_hl|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_rp|Hybrid o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 19'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 20'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 21'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 22, 23, 24, 25'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_sv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_zv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 27'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_cc|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_ee|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_i7|Serialization Proxy pattern]]&lt;br /&gt;
&lt;br /&gt;
*'''Topics not covered in the lectures'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_is|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_Single_Choice_Pattern_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_VR|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_301|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_sd|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_ISPPSI|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_agummad|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_aa|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_as|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_TDD|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_conc_patterns|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_san|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_ab|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_22_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a2rd|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_b5|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_bd|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_pp|Synchronizer token pattern]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30126</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30126"/>
		<updated>2009-12-22T00:42:21Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9a_HJ|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9b_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a/sheng_yi|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_dn|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_railroad|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_va|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_2_2_SJ|if-statement considered harmful]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf)|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_AJAXandMVC|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_pz|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_rv|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_28|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_Gui_Testing_Frameworks_aa|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_mk|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 10'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_cn|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_co|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_ov|Survey of language features for code reuse]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 11'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_f1|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_va|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_ReflectionApis|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jdf|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jn|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_RP|Reflection-oriented programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki29_VB|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_SN|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_km|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_MP|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_SA|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_ma|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_01|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_PatternClassification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_StaticDynamic|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_ncs|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 13'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_agummad|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_am|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_rs|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_tvhi|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_b5|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_bd|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_pp|Synchronizer token pattern]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 15 and 16'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_A%26OM|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_ms|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_sm|Abstraction and the object model]]&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_ee|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_hl|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_rp|Hybrid o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 19'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 20'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 21'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 22, 23, 24, 25'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_sv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_zv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 27'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_cc|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_ee|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_i7|Serialization Proxy pattern]]&lt;br /&gt;
&lt;br /&gt;
*'''Topics not covered in the lectures'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_is|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_Single_Choice_Pattern_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_VR|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_301|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_sd|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_ISPPSI|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_agummad|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_aa|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_as|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_TDD|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_conc_patterns|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_san|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_ab|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_22_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a2rd|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30125</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30125"/>
		<updated>2009-12-22T00:38:30Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9a_HJ|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9b_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a/sheng_yi|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf)|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_AJAXandMVC|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_pz|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_rv|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_28|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_Gui_Testing_Frameworks_aa|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_mk|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 10'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_cn|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_co|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_ov|Survey of language features for code reuse]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 11'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_f1|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_va|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_ReflectionApis|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jdf|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jn|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_RP|Reflection-oriented programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki29_VB|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_SN|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_km|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_MP|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_SA|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_ma|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_01|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_PatternClassification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_StaticDynamic|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_ncs|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 13'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_agummad|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_am|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_rs|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_tvhi|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_b5|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_bd|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_pp|Synchronizer token pattern]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 15 and 16'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_A%26OM|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_ms|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_sm|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_dn|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_railroad|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_va|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_2_2_SJ|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_ee|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_hl|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_rp|Hybrid o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 19'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 20'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 21'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 22, 23, 24, 25'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_sv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_zv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 27'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_cc|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_ee|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_i7|Serialization Proxy pattern]]&lt;br /&gt;
&lt;br /&gt;
*'''Topics not covered in the lectures'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_is|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_Single_Choice_Pattern_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_VR|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_301|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_sd|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_ISPPSI|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_agummad|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_aa|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_as|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_TDD|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_conc_patterns|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_san|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_ab|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_22_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a2rd|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30124</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30124"/>
		<updated>2009-12-22T00:37:30Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9a_HJ|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9b_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a/sheng_yi|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf)|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_AJAXandMVC|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_pz|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_rv|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_28|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_Gui_Testing_Frameworks_aa|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_mk|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 10'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_cn|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_co|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_ov|Survey of language features for code reuse]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 11'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_f1|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_va|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_ReflectionApis|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jdf|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jn|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_RP|Reflection-oriented programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki29_VB|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_SN|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_km|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_MP|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_SA|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_ma|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_01|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_PatternClassification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_StaticDynamic|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_ncs|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 13'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_agummad|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_am|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_rs|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_tvhi|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_b5|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_bd|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_pp|Synchronizer token pattern]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 15 and 16'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_A%26OM|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_ms|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_sm|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_dn|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_railroad|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_va|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_2_2_SJ|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_ee|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_hl|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_rp|Hybrid o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 19'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 20'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
*'''Lecture 21'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 22, 23, 24, 25'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_sv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_zv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 27'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_cc|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_ee|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_i7|Serialization Proxy pattern]]&lt;br /&gt;
&lt;br /&gt;
*'''Topics not covered in the lectures'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_is|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_Single_Choice_Pattern_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_VR|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_301|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_sd|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_ISPPSI|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_agummad|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_aa|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_as|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_TDD|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_conc_patterns|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_san|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_ab|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_22_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a2rd|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30123</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30123"/>
		<updated>2009-12-22T00:25:29Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9a_HJ|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9b_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a/sheng_yi|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf)|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_AJAXandMVC|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_pz|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_rv|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_28|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_Gui_Testing_Frameworks_aa|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_mk|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 10'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_cn|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_co|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_ov|Survey of language features for code reuse]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 11'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_f1|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_va|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_ReflectionApis|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jdf|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jn|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_RP|Reflection-oriented programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki29_VB|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_SN|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_km|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_MP|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_SA|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_ma|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_01|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_PatternClassification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_StaticDynamic|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_ncs|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 13'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_agummad|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_am|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_rs|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_tvhi|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_b5|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_bd|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_pp|Synchronizer token pattern]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 15 and 16'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_A%26OM|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_ms|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_sm|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_dn|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_railroad|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_va|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_2_2_SJ|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_ee|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_hl|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_rp|Hybrid o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 19'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]]&lt;br /&gt;
 &lt;br /&gt;
*'''Lecture 21'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 22, 23, 24, 25'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_sv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_zv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 26'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 27'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_cc|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_ee|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_i7|Serialization Proxy pattern]]&lt;br /&gt;
&lt;br /&gt;
*'''Topics not covered in the lectures'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_is|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_Single_Choice_Pattern_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_VR|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_301|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_sd|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_ISPPSI|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_agummad|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_aa|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_as|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_TDD|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_conc_patterns|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_san|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_ab|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_22_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a2rd|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30122</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30122"/>
		<updated>2009-12-22T00:19:52Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9a_HJ|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9b_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a/sheng_yi|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf)|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_AJAXandMVC|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_pz|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_rv|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_28|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_Gui_Testing_Frameworks_aa|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_mk|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 10'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_cn|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_co|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_ov|Survey of language features for code reuse]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 11'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_f1|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_va|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_ReflectionApis|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jdf|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jn|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_RP|Reflection-oriented programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki29_VB|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_SN|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_km|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_MP|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_SA|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_ma|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_01|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_PatternClassification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_StaticDynamic|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_ncs|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 13'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_agummad|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_am|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_rs|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_tvhi|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_b5|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_bd|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_pp|Synchronizer token pattern]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 15 and 16'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_A%26OM|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_ms|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_sm|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_dn|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_railroad|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_va|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_2_2_SJ|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_ee|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_hl|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_rp|Hybrid o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 19'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]]&lt;br /&gt;
 &lt;br /&gt;
*'''Lecture 21'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 22, 23, 24, 25'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_sv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_zv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 26'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 27'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_cc|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_ee|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_i7|Serialization Proxy pattern]]&lt;br /&gt;
&lt;br /&gt;
*'''Topics not covered in the lectures'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_is|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_Single_Choice_Pattern_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_VR|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_301|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_sd|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]]&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_ISPPSI|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_agummad|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_aa|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_as|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_TDD|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_conc_patterns|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_san|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_ab|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_22_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a2rd|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30121</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30121"/>
		<updated>2009-12-22T00:16:03Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9a_HJ|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9b_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a/sheng_yi|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf)|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_AJAXandMVC|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_pz|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_rv|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_28|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_Gui_Testing_Frameworks_aa|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_mk|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 10'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_cn|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_co|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_ov|Survey of language features for code reuse]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 11'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_f1|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_va|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_ReflectionApis|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jdf|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jn|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_RP|Reflection-oriented programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki29_VB|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_SN|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_km|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_MP|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_SA|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_ma|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_01|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_PatternClassification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_StaticDynamic|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_ncs|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 13'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_agummad|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_am|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_rs|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_tvhi|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_b5|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_bd|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_pp|Synchronizer token pattern]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 15 and 16'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_A%26OM|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_ms|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_sm|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_dn|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_railroad|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_va|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_2_2_SJ|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_ee|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_hl|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_rp|Hybrid o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 19'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]]&lt;br /&gt;
 &lt;br /&gt;
*'''Lecture 21'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 22, 23, 24, 25, 26'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_sv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_zv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 27'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_cc|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_ee|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_i7|Serialization Proxy pattern]]&lt;br /&gt;
&lt;br /&gt;
*'''Topics not covered in the lectures'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_is|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_Single_Choice_Pattern_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_VR|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_301|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_sd|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_ISPPSI|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_agummad|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_aa|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_as|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_TDD|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_conc_patterns|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_san|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_ab|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_22_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a2rd|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30120</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30120"/>
		<updated>2009-12-22T00:15:25Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9a_HJ|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9b_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a/sheng_yi|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf)|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
 *'''Lecture 7'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_AJAXandMVC|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_pz|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_rv|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_28|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_Gui_Testing_Frameworks_aa|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_mk|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 10'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_cn|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_co|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_ov|Survey of language features for code reuse]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 11'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_f1|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_va|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_ReflectionApis|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jdf|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jn|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_RP|Reflection-oriented programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki29_VB|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_SN|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_km|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_MP|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_SA|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_ma|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_01|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_PatternClassification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_StaticDynamic|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_ncs|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 13'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_agummad|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_am|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_rs|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_tvhi|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_b5|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_bd|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_pp|Synchronizer token pattern]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 15 and 16'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_A%26OM|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_ms|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_sm|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_dn|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_railroad|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_va|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_2_2_SJ|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_ee|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_hl|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_rp|Hybrid o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 19'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]]&lt;br /&gt;
 &lt;br /&gt;
*'''Lecture 21'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 22, 23, 24, 25, 26'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_sv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_zv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 27'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_cc|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_ee|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_i7|Serialization Proxy pattern]]&lt;br /&gt;
&lt;br /&gt;
*'''Topics not covered in the lectures'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_is|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_Single_Choice_Pattern_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_VR|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_301|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_sd|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_ISPPSI|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_agummad|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_aa|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_as|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_TDD|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_conc_patterns|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_san|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_ab|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_22_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a2rd|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30119</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30119"/>
		<updated>2009-12-22T00:13:50Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9a_HJ|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9b_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a/sheng_yi|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf)|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
 *'''Lecture 6'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_AJAXandMVC|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_pz|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_rv|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_28|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_Gui_Testing_Frameworks_aa|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_mk|GUI testing frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 10'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_cn|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_co|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_ov|Survey of language features for code reuse]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 11'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_f1|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_va|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_ReflectionApis|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jdf|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jn|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_RP|Reflection-oriented programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki29_VB|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_SN|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_km|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_MP|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_SA|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_ma|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_01|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_PatternClassification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_StaticDynamic|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_ncs|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 13'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_agummad|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_am|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_rs|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_tvhi|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_b5|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_bd|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_pp|Synchronizer token pattern]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 15 and 16'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_A%26OM|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_ms|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_sm|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_dn|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_railroad|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_va|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_2_2_SJ|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_ee|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_hl|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_rp|Hybrid o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 19'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]]&lt;br /&gt;
 &lt;br /&gt;
*'''Lecture 21'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 22, 23, 24, 25, 26'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_sv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_zv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 27'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_cc|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_ee|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_i7|Serialization Proxy pattern]]&lt;br /&gt;
&lt;br /&gt;
*'''Topics not covered in the lectures'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_is|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_Single_Choice_Pattern_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_VR|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_301|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_sd|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_ISPPSI|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_agummad|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_aa|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_as|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_TDD|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_conc_patterns|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_san|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_ab|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_22_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a2rd|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30118</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30118"/>
		<updated>2009-12-22T00:12:00Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a2rd|Mock Objects and Mock frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9a_HJ|Research in refactoring tools]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9b_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a/sheng_yi|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
 *'''Lecture 5'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf)|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
 *'''Lecture 6'''&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_AJAXandMVC|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_pz|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_rv|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_28|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_Gui_Testing_Frameworks_aa|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_mk|GUI testing frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 10'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_cn|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_co|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_ov|Survey of language features for code reuse]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 11'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_f1|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_va|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_ReflectionApis|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jdf|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jn|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_RP|Reflection-oriented programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki29_VB|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_SN|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_km|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_MP|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_SA|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_ma|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_01|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_PatternClassification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_StaticDynamic|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_ncs|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 13'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_agummad|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_am|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_rs|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_tvhi|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_b5|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_bd|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_pp|Synchronizer token pattern]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 15 and 16'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_A%26OM|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_ms|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_sm|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_dn|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_railroad|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_va|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_2_2_SJ|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_ee|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_hl|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_rp|Hybrid o-o languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 19'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]]&lt;br /&gt;
 &lt;br /&gt;
*'''Lecture 21'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 22, 23, 24, 25, 26'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_sv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_zv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 27'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_cc|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_ee|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_i7|Serialization Proxy pattern]]&lt;br /&gt;
&lt;br /&gt;
*'''Topics not covered in the lectures'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_is|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_Single_Choice_Pattern_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_VR|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_301|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_sd|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_ISPPSI|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_agummad|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_aa|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_as|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_TDD|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_conc_patterns|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_san|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_ab|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_22_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30117</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30117"/>
		<updated>2009-12-22T00:03:46Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a2rd|Mock Objects and Mock frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a/sheng_yi|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9b_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9a_HJ|Research in refactoring tools]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf)|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
*'''Lecture 6'''&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_AJAXandMVC|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_pz|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_rv|AJAX and MVC]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_28|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_Gui_Testing_Frameworks_aa|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_mk|GUI testing frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 10'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_cn|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_co|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_ov|Survey of language features for code reuse]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 11'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_f1|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_va|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_ReflectionApis|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jdf|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jn|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_RP|Reflection-oriented programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki29_VB|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_SN|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_km|Aspect-Oriented Programming]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_MP|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_SA|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_ma|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_01|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_PatternClassification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_StaticDynamic|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_ncs|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 13'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_agummad|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_am|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_rs|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_tvhi|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_b5|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_bd|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_pp|Synchronizer token pattern]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 15 and 16'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_A%26OM|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_ms|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_sm|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_dn|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_railroad|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_va|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_2_2_SJ|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_ee|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_hl|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_rp|Hybrid o-o languages]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 19'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 21'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]]&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 22'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_sv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_zv|Other design patterns in Ruby]]&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 23'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 27'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_cc|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_ee|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_i7|Serialization Proxy pattern]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Topics not covered in the lectures'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_is|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_Single_Choice_Pattern_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_VR|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_301|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_sd|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_ISPPSI|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_agummad|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_aa|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_as|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_TDD|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_conc_patterns|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_san|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_ab|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_22_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30116</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30116"/>
		<updated>2009-12-21T23:59:48Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a2rd|Mock Objects and Mock frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a/sheng_yi|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9b_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9a_HJ|Research in refactoring tools]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf)|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
*'''Lecture 6'''&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_AJAXandMVC|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_pz|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_rv|AJAX and MVC]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_28|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_Gui_Testing_Frameworks_aa|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_mk|GUI testing frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 10'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_cn|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_co|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_ov|Survey of language features for code reuse]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 11'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_f1|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_va|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_ReflectionApis|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jdf|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jn|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_RP|Reflection-oriented programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki29_VB|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_SN|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_km|Aspect-Oriented Programming]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_MP|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_SA|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_ma|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_01|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_PatternClassification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_StaticDynamic|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_ncs|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 13'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_agummad|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_am|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_rs|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_tvhi|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_b5|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_bd|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_pp|Synchronizer token pattern]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 15 and 16'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_A%26OM|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_ms|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_sm|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_dn|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_railroad|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_va|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_2_2_SJ|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_ee|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_hl|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_rp|Hybrid o-o languages]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 19'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 21'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]]&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 22'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_sv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_zv|Other design patterns in Ruby]]&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 23'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 27'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_cc|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_ee|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_i7|Serialization Proxy pattern]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_is|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_Single_Choice_Pattern_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_VR|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_301|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_sd|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_ISPPSI|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_agummad|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_aa|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_as|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_TDD|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_conc_patterns|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_san|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_ab|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_22_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30115</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30115"/>
		<updated>2009-12-21T23:44:58Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a2rd|Mock Objects and Mock frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a/sheng_yi|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9b_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9a_HJ|Research in refactoring tools]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf)|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
*'''Lecture 6'''&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_AJAXandMVC|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_pz|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_rv|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_2_2_SJ|AJAX and MVC]]&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_28|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_Gui_Testing_Frameworks_aa|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_mk|GUI testing frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 10'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_cn|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_co|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_ov|Survey of language features for code reuse]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 11'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_f1|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_va|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_ReflectionApis|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jdf|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jn|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_RP|Reflection-oriented programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki29_VB|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_SN|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_km|Aspect-Oriented Programming]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_MP|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_SA|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_ma|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_01|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_PatternClassification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_StaticDynamic|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_ncs|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 13'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_agummad|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_am|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_rs|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_tvhi|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_b5|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_bd|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_pp|Synchronizer token pattern]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 15 and 16'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_A%26OM|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_ms|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_sm|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_dn|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_railroad|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_va|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_ee|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_hl|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_rp|Hybrid o-o languages]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 19'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 21'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]]&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 22'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_sv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_zv|Other design patterns in Ruby]]&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 23'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 27'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_cc|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_ee|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_i7|Serialization Proxy pattern]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_is|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_Single_Choice_Pattern_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_VR|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_301|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_sd|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_ISPPSI|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_agummad|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_aa|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_as|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_TDD|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_conc_patterns|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_san|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_ab|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_22_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30114</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30114"/>
		<updated>2009-12-21T23:41:24Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a2rd|Mock Objects and Mock frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a/sheng_yi|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9b_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_2_2_SJ|&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9a_HJ|Research in refactoring tools]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf)|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
*'''Lecture 6'''&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_AJAXandMVC|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_pz|AJAX and MVC]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_2_rv|AJAX and MVC]]&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_28|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_Gui_Testing_Frameworks_aa|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_mk|GUI testing frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 10'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_cn|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_co|Survey of language features for code reuse]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_7_ov|Survey of language features for code reuse]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 11'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_f1|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_va|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_ReflectionApis|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jdf|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_5_jn|Reflection APIs]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_RP|Reflection-oriented programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_8_rop|Reflection-oriented programming]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki29_VB|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_SN|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_km|Aspect-Oriented Programming]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_MP|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_SA|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_ma|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_01|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_PatternClassification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_StaticDynamic|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_ncs|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 13'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_agummad|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_am|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_rs|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_tvhi|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_b5|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_bd|Synchronizer token pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_3_pp|Synchronizer token pattern]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 15 and 16'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_A%26OM|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_ms|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_sm|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_dn|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_railroad|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_4_va|if-statement considered harmful]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_ee|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_hl|Hybrid o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_rp|Hybrid o-o languages]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 19'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 21'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]]&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 22'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_sv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_zv|Other design patterns in Ruby]]&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 23'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 27'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_cc|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_ee|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_i7|Serialization Proxy pattern]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_is|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_Single_Choice_Pattern_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_VR|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_301|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_sd|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_ISPPSI|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_agummad|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_aa|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_as|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_6_TDD|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_conc_patterns|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_san|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_ab|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_22_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30113</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30113"/>
		<updated>2009-12-21T23:17:09Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a2rd|Mock Objects and Mock frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a/sheng_yi|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9b_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_2_2_SJ|&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9a_HJ|Research in refactoring tools]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf)|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
*'''Lecture 6'''&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_28|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_Gui_Testing_Frameworks_aa|GUI testing frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_10_mk|GUI testing frameworks]]&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_f1|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_17_va|Service Oriented Architecture(SOA), Reflection, and Meta-programming]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki29_VB|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_SN|Aspect-Oriented Programming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_9_km|Aspect-Oriented Programming]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 12'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_MP|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_SA|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_1_ma|Metaprogramming]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_01|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_PatternClassification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_12_Schemes_for_Pattern_Classification|Schemes for patterns classification]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_StaticDynamic|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_13_ncs|Design patterns from a static/dynamic point of view]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 13'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_agummad|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_am|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_rs|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_16_tvhi|Service Oriented Architecture(SOA) and Patterns]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 15 and 16'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_A%26OM|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_ms|Abstraction and the object model]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_15_sm|Abstraction and the object model]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 19'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 21'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]]&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 22'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_sv|Other design patterns in Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_11_zv|Other design patterns in Ruby]]&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 23'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 27'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_cc|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_ee|Serialization Proxy pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_18_i7|Serialization Proxy pattern]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_is|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_Single_Choice_Pattern_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_VR|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_301|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_sd|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_ISPPSI|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_agummad|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_aa|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_19_as|Survey &amp;quot;Driven Development&amp;quot; Methodologies]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_conc_patterns|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki2_14_san|Thread-safe programming and concurrency patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_ab|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_22_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30112</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30112"/>
		<updated>2009-12-21T22:39:31Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a2rd|Mock Objects and Mock frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a/sheng_yi|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_HJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_7a_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9b_SJ|Refactoring tools for Ruby and Ruby on Rails]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_2_2_SJ|&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki_1a_9a_HJ|Research in refactoring tools]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf)|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
*'''Lecture 6'''&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 19'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_sskm|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 21'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]]&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 22'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_ksm_6|The Factory design pattern and its application]]&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 23'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_is|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_Single_Choice_Pattern_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_VR|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_301|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_sd|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_ISPPSI|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_agummad|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_rp|Non-Redundancy Principle]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_ab|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_22_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30111</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30111"/>
		<updated>2009-12-21T22:20:29Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf)|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
*'''Lecture 6'''&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 19'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_Programming_by_Assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_SJ3|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_15_assertions|Programming by Assertion]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_20_i7|Liskov substitution principle]]&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_RS56|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_b5|Principle of Explicit Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_ncs|Principle of Explicit Interfaces]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 21'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_Agile|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_dEaN|How can Agile complement other development methodologies?]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_7_f1|How can Agile complement other development methodologies?]]&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 22'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_6_Factory_Design_Pattern|The Factory design pattern and its application]]&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_AD|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_aa|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_eit|Reuse/Release Equivalence Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_teamhelm|Reuse/Release Equivalence Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 23'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_21_MobileDesignPattern|Design Pattern for Mobile Applications]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_13_is|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_12|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_14_rd|Principle of Self-Documentation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_16_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki319_SV|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_ee|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_19_rn|Uniform access principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_Single_Choice_Pattern_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_VR|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_17_am|Single-Choice Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_301|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_18_sd|Stable Dependencies Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_cp|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_3_jn|Common Closure Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_ashi4|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_br|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_4_dt|DRY principle for data]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_SD|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_5_rm|Dependency Inversion Principle]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_ISPPSI|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_8_agummad|Interface Segregation Principle vs. Principle of Small Interfaces]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_9_lkf|Non-Redundancy Principle]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_ab|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_co|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_1_kp|Anti-patterns]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_22_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_SN|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_clone|Clone detection and clone manipulation]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_2_pp|Clone detection and clone manipulation]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30110</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30110"/>
		<updated>2009-12-21T21:23:42Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf)|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
*'''Lecture 6'''&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 14'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_OT|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_ot|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_10_pz|&amp;quot;Object Think&amp;quot; and other alternatives to CRC cards]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 21'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_HJ|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_ab|Other agile methodologies]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_11_j8|Other agile methodologies]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_Patterns_for_ORM|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_obj_to_relational|Patterns for mapping objects to relational databases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki3_12_sn|Patterns for mapping objects to relational databases]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30109</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30109"/>
		<updated>2009-12-21T21:00:16Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_aj|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_7_b5|Resources for Ruby (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_rubysecurity|Ruby and Web security]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_8_va|Ruby and Web security]]&lt;br /&gt;
 &lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf)|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
*'''Lecture 6'''&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_team1|Resources for Rails (other than IDEs)]]&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 8'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ad|Scaffolding in Web application frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_9_ss|Scaffolding in Web application frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30108</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30108"/>
		<updated>2009-12-21T20:51:46Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_ch|Advances in debuggers]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_1_db|Advances in debuggers]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_13|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_j8|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_5_kf)|Regular expressions]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_SD|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_ps|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_2_sk|Advantages of statically typed vs. dynamically typed languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_NCS|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_b4|Exception handling in o-o languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_3_expHandle|Exception handling in o-o languages]]&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
*'''Lecture 6'''&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 9'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_iftesting|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_mv|Functional and integration testing and beyond]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_4_xy|Functional and integration testing and beyond]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30107</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30107"/>
		<updated>2009-12-21T20:36:08Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]] &lt;br /&gt;
&lt;br /&gt;
*'''Lecture 6'''&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30106</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30106"/>
		<updated>2009-12-21T20:35:35Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_10_sf|Scala vs. Ruby]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_12_testFrmwk|Testing frameworks for object-oriented languages]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_al|Static vs. dynamic o-o languages from the perspective of performance]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_11_cc|Static vs. dynamic o-o languages from the perspective of performance]] &lt;br /&gt;
&lt;br /&gt;
*'''Lecture 6'''&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 7'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_Resources_For_Rails|Resources for Rails (other than IDEs)]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_a1|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_pz|History and Applications of the MVC Pattern]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_za|History and Applications of the MVC Pattern]]&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b_13_zz|Stable Dependencies Principle]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30105</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30105"/>
		<updated>2009-12-21T20:22:59Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1b12_AV|Testing frameworks for object-oriented languages]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 6'''&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30104</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30104"/>
		<updated>2009-12-21T20:17:26Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_7_sm|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_nd|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_8_rr|Categorization of refactorings]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_DS|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_mk|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_9_pp|Research in refactoring tools]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_22|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_a1|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_aa|IDEs for Ruby]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_6_rf|IDEs for Ruby]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 6'''&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30103</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30103"/>
		<updated>2009-12-21T20:07:48Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_a2|History of version control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_rp|History of version control]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 6'''&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30102</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30102"/>
		<updated>2009-12-21T20:05:59Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_5_History_of_version_control_by_av|History of version control]] &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 6'''&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30101</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30101"/>
		<updated>2009-12-21T20:04:33Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_SCM|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_co|Best practices for source-control management with version-control systems]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_4_srhi4|Best practices for source-control management with version-control systems]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 6'''&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30100</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30100"/>
		<updated>2009-12-21T20:00:16Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a/2_sc|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_i7|Mock Objects and Mock frameworks]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_2_sn|Mock Objects and Mock frameworks]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ee|Distributed Version Control]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_3_ve|Distributed Version Control]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 6'''&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30099</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30099"/>
		<updated>2009-12-21T19:55:35Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
[http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2009/wiki1a/2_sc Mock Objects and Mock frameworks]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 6'''&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30098</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30098"/>
		<updated>2009-12-21T19:55:17Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
[http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2009/wiki1a/2_sc Mock Objects and Mock frameworks]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 2'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_103|Writing effective JUnit test cases]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_JunitTest|Writing effective JUnit test cases]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 3'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_1_aa|Distributed Version Control]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 6'''&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30097</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30097"/>
		<updated>2009-12-21T19:48:15Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;===Summary of pages done in Fall 2009===&lt;br /&gt;
&lt;br /&gt;
[http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2009/wiki1a/2_sc Mock Objects and Mock frameworks]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 6'''&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30096</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30096"/>
		<updated>2009-12-21T19:47:29Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Summary of pages done in Fall 2009'''&lt;br /&gt;
&lt;br /&gt;
[http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2009/wiki1a/2_sc Mock Objects and Mock frameworks]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 5'''&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 6'''&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30095</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30095"/>
		<updated>2009-12-21T19:46:34Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Summary of pages done in Fall 2009'''&lt;br /&gt;
&lt;br /&gt;
[http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2009/wiki1a/2_sc Mock Objects and Mock frameworks]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_f1%2C|Ruby vs. Python]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_rubyvspython|Ruby vs. Python]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30094</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30094"/>
		<updated>2009-12-21T19:44:16Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Summary of pages done in Fall 2009'''&lt;br /&gt;
&lt;br /&gt;
[http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2009/wiki1a/2_sc Mock Objects and Mock frameworks]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_11_AS|Ruby vs. Python]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30093</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30093"/>
		<updated>2009-12-21T19:39:18Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Summary of pages done in Fall 2009'''&lt;br /&gt;
&lt;br /&gt;
[http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2009/wiki1a/2_sc Mock Objects and Mock frameworks]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30092</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30092"/>
		<updated>2009-12-21T19:38:48Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Summary of pages done in Fall 2009'''&lt;br /&gt;
&lt;br /&gt;
[http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2009/wiki1a/2_sc Mock Objects and Mock frameworks]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56|Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
	<entry>
		<id>https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30091</id>
		<title>CSC/ECE 517 Fall 2009</title>
		<link rel="alternate" type="text/html" href="https://wiki.expertiza.ncsu.edu/index.php?title=CSC/ECE_517_Fall_2009&amp;diff=30091"/>
		<updated>2009-12-21T19:38:21Z</updated>

		<summary type="html">&lt;p&gt;Aragorn: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;'''Summary of pages done in Fall 2009'''&lt;br /&gt;
&lt;br /&gt;
[http://pg-server.csc.ncsu.edu/mediawiki/index.php/CSC/ECE_517_Fall_2009/wiki1a/2_sc Mock Objects and Mock frameworks]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
*'''Lecture 4'''&lt;br /&gt;
&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_RS56 Ruby and Java from Security Perspective]]&lt;br /&gt;
**[[CSC/ECE_517_Fall_2009/wiki1a_10_wolf27-Manhattan|Ruby and Java from Security Perspective]]&lt;/div&gt;</summary>
		<author><name>Aragorn</name></author>
	</entry>
</feed>