Main Page: Difference between revisions

From Expertiza_Wiki
Jump to navigation Jump to search
No edit summary
(35 intermediate revisions by 20 users not shown)
Line 1: Line 1:
== '''E1746. [Test First Development] Refactor user.rb''' ==
==Expertiza==
==Expertiza==
* [[Expertiza documentation]]
* [[Expertiza documentation]]
Expertiza is an open source project based on Ruby on Rails framework. Expertiza allows the instructor to create new assignments and customize new or existing assignments. It also allows the instructor to create a list of topics the students can sign up for. Students can form teams in Expertiza to work on various projects and assignments. Students can also peer review other students' submissions. Expertiza supports submission across various document types, including the URLs and wiki pages.


* [[CSC/ECE 517 Summer 2008]]
* [[CSC/ECE 517 Fall 2010]]
* [[CSC/ECE 517 Fall 2011]]
* [[CSC/ECE 517 Fall 2012]]
* [[CSC/ECE 517 Fall 2013]]
* [[CSC/ECE 517 Fall 2014]]
* [[CSC/ECE 517 Fall 2015]]
* [[CSC/ECE 517 Fall 2016]]
* [[CSC/ECE 517 Spring 2014]]
* [[CSC/ECE 517 Spring 2015]]
* [[CSC/ECE 517 Spring 2016]]
* [[CSC/ECE 517 Spring 2017]]
* [[CSC/ECE 517 Fall 2017]]
* [[CSC/Independent Study Spring 2018]]
* [[CSC/ECE 517 Spring 2018- Project Juniper:Bookmark Enhancements]]
* [[CSC/ECE 517 Spring 2018- Project E1803: Introducing a Student View for Instructors]]
* [[CSC/ECE 517 Spring 2018- Project E1804: OSS project Yellow: Topic management]]
* [[CSC/ECE_517_Spring_2018- Project E1805: Convolutional data extraction from Github]]
* [[CSC/ECE 517 Spring 2018- Project E1808: Refactor review_mapping_controller.rb]]
* [[CSC/ECE 517 Spring 2018- Project E1810: Show sample submissions and reviews]]
* [[CSC/ECE 517 Spring 2018/E1814 Write unit tests for collusion cycle.rb]]
* [[CSC/ECE 517 Spring 2018- Project M1802: 2D Canvas Rendering]]
* [[CSC/ECE 517 Spring 2018- Project M1802: 2D Canvas Rendering (Part 2)]]
* [[CSC/ECE 517 Spring 2018 - E1800: Add past-due assignments to task list]]
* [[CSC/ECE 517 Spring 2018- Project E1812: on the fly calc.rb]]
* [[CSC/ECE 517 Spring 2018- Project M1803: Implement a web page fuzzer to find rendering mismatches ]]
* [[CSC/ECE 517 Spring 2018- Project M1803: Implement a web page fuzzer to find rendering mismatches (Part 2)]]
* [[CSC/ECE 517 Spring 2018/E1813 Test Menu Items Model]]
* [[CSC/ECE 517 Spring 2018- Project E1816: Visualization for Instructors]]
* [[CSC/ECE 517 Spring 2018- Project E1817: Adding Student-generated Questions to Rubric]]
* [[CSC/ECE 517 Spring 2018- Project E1818:  Role-based reviewing]]
* [[CSC/ECE 517 Spring 2018- Project E1822: Extend the functionality of badging]]
* [[CSC/ECE 517 Spring 2018- Project E1815: Improvements to review grader]]
* [[CSC/ECE 517 Spring 2018- Project E1824: Let course staff as well as students do reviews]]
* [[CSC/ECE 517 Spring 2018- Project E1819: Improve self review, link self and peer review to derive grades]]
* [[CSC/ECE 517 Spring 2018- Project E1820 Review-Comment Tone Analysis Report]]
* [[CSC 456 Spring 2011|CSC 456 Spring 2012]]
* [[ECE 633]]
* [[KCU]]
* [[Progress reports]]


==Application Behavior==
* [[Grading]]


==problem Statement==
==Metaprogramming==
The following tasks were accomplished in this project: 
* [[CSC/ECE_517_Spring_2013/ch1b_1k_hf|Lecture on Metaprogramming]]
*1.Complete the pending tests in user_spec.rb
*2.Refactor get_user_list method.Move if conditions to corresponding subclasses (eg. ta.rb, instructor.rb) with same method name,replace the conditional with the relevant method calls.
*3.Refactor self.search_users method,Extract duplicated code to a new method.
*4.Rename following method and change all other places it is used.
  is_recursively_parent_of → recursively_parent_of?
  is_creator_of? →  creator_of?
  is_teaching_assistant_for? →  teaching_assistant_for?
  is_teaching_assistant? →  teaching_assistant?
*5.Use find_by instead of dynamic method.


== current implementation==
==Development==
*not sending email after suggestion
*sending email after only after adding participant through csv file.


''Expertiza now has a Java dependency, so the machine you are using to develop Expertiza on should have the JVM installed.''


== Drawbacks and solutions==
* [[Setting Up a Development Machine]]
* [[Creating a Linux Development Environment for Expertiza - Installation Guide]]
* [[Using git and github for projects]]
* [[Using heroku to deploy your projects]]
* [[How to Begin a Project from the Current Expertiza Repository]]
* [[Git]]
* [[How to Change a User's Password on a Development Machine]]
* [[Debugging Rails]]
* [http://rajanalwan.com/ui_guidelines/ Design Template]


problem 1
==Production==
problem 2
* [[Deploying to Production]]
 
* [[Downloading Production Data]]
 
* [[Accessing the Production Server]]
== new implementation==
*sends email when particpant is added in assignment.
*sends email when suggestion is given by student.
 
 
== code improvement==
*1
*2
 
 
 
==Application Behavior==
* [[Grading]]
 
==Metaprogramming==
* [[CSC/ECE_517_Spring_2013/ch1b_1k_hf|Lecture on Metaprogramming]]


==Testing==
* [[Using Cucumber with Expertiza]]
* [[Rails Testing Overview]]
* [[Expertiza Continuous Integration]]


==References==
* [[Object-Oriented Design and Programming]]
* [[Object-Oriented Design and Programming]]

Revision as of 02:30, 8 May 2018

Expertiza

Application Behavior

Metaprogramming

Development

Expertiza now has a Java dependency, so the machine you are using to develop Expertiza on should have the JVM installed.

Production

Testing

References