UBC Faculty Research and Publications

WeBWork for Beginners! : Using and Developing for the Open Problem Library Harandi, Negar M.; Linares-Rojas, Luis R.; Verrett, Jonathan; d’Entremont, Agnes Germaine May 2, 2018

Your browser doesn't seem to have a PDF viewer, please download the PDF to view this item.

Item Metadata

Download

Media
52383-Harandi_N_et_al_WeBWork_Beginners.pdf [ 3.27MB ]
52383-Harandi_N_et_al_WeBWork_Workshop_Activities.pdf [ 225.58kB ]
Metadata
JSON: 52383-1.0367930.json
JSON-LD: 52383-1.0367930-ld.json
RDF/XML (Pretty): 52383-1.0367930-rdf.xml
RDF/JSON: 52383-1.0367930-rdf.json
Turtle: 52383-1.0367930-turtle.txt
N-Triples: 52383-1.0367930-rdf-ntriples.txt
Original Record: 52383-1.0367930-source.json
Full Text
52383-1.0367930-fulltext.txt
Citation
52383-1.0367930.ris

Full Text

WEBWORK FOR BEGINNERS!Using and Developing for the Open Problem LibraryNEGAR M. HARANDI, TEACHING AND LEARNING POSTDOC, ELEC ENGINEERINGLUIS R. LINARES, SR. INSTRUCTOR, ELEC ENGINEERINGJONATHAN VERRETT, INSTRUCTOR, CHEM AND BIO ENGINEERINGAGNES D’ENTREMONT, INSTRUCTOR, MECH ENGINEERING• Open-source and free• Customizable/student• Familiarity for students• Independent of LMS• Available UBC support• CTLT/CISWHY WEBWORK?WHAT DO STUDENTS SAY ABOUT WEBWORK?87.7%* rated their experience with WeBWorK satisfactory.Immediate feedback (86%) Review the material (81%) Free of charge (78%) Easier questions (70%)Harder questions (58%) Peer Discussion (44%)*A recent survey carried in ELEC Engineering Department at UBC.WHAT TYPE OF QUESTIONS?WHAT TYPE OF QUESTIONS?WHAT TYPE OF QUESTIONS?WHERE TYPE OF QUESTIONS?WHERE TO START?webwork.elearning.ubc.caOpen Problem LibraryCourse: APSC_WORKSHOPCreate YoursUse Others’Modify Others’Share with OthersWHERE TO START?Create YoursUse Others’Modify Others’Share with Otherswebwork.maa.org/wikiwebwork.elearning.ubc.caOpen Problem Library10BUILDING WEBWORK QUESTIONSNegar M. Harandi on behalf of Luis LinaresHOW ARE QUESTIONS DEFINED IN WEBWORK?• A question is a Perl source code file, with the extension pl or pg.• For example: Q1.pl, Q2.pl, etc.• You can use any text editor to open, modify or create your question file.• The questions reside on the WeBWorK server …ANATOMY OF A QUESTION IN WEBWORK• In WeBWorK, a question has • A description • A figure (sometimes)• One (or more) randomized parameters • One (or more) answer formula(s), written as a function(s)  of the randomized parameters• One (or more) entry box(es) for student answersWHAT THE STUDENTS WILL SEE…WHAT THE STUDENTS WILL SEE…WHAT THE STUDENTS WILL SEE…WHAT THE STUDENTS WILL SEE…WHAT THE STUDENTS WILL SEE…2.68WHAT THE STUDENTS WILL SEE…2.68WHAT THE STUDENTS WILL SEE…IN THE “CODE” WE SEE … THE DESCRIPTION IN THE “CODE” WE SEE … RANDOM VALUES • In Perl, a variable name begins with a $.IN THE “CODE” WE SEE … ENTRY BOXES IN THE “CODE” WE SEE … ANSWER FORMULASAND … THE FIGURE…apsc01.pngAND … THE FIGURE IN CODE…IN THE CODE, FOR REAL …There is an error thatWould drive nuts the WWI.Can you see it?WHERE ARE THE “QUESTION FILE”?• WeBWorK Server• Create a ‘local’ folderCreate an ‘ASN1’ folderCreate an ‘ASN2’ folder……Create an ‘ASN10’ folder• Inside each of those folders, you put your question files, Q1.pg or Q1.pl, Q2,pg, etc.image files, Q1.png, Q2.png, etc.WeBWORKLocalASN1ASN2ASN3Q1.plQ1.pngQ2.plQ2.pngNOW LETS 10 MINS ON SOME HANDS-ON ACTIVITY…• On your handout, please proceed with activities one and two.• Don’t hesitate to ask questions…ASSIGNMENTS IN WEBRORK• An assignments, or a Homework Sets, is a collection of some of thequestions that is already on the server.ASSIGNMENTS IN WEBRORK• An assignments, or a Homework Sets, is a collection of some of thequestions that is already on the server.CREATING AN ASSIGNMENT• Instructor decides when the assignment will open to the students, which students will see it, when is the deadline, when (if at all) final answers will be visible, how many marks each question have, how many attempts we give students for each question.• For that, we trigger the Hmwk Set Editor tool.CREATING AN ASSIGNMENTNOW LETS 10 MINS SOME HANDS-ON ACTIVITY…• On your handout, please proceed with activities three and four.• Don’t hesitate to ask questions…34FINDING WEBWORK QUESTIONSJonathan VerrettGithub.com, home of the Open Problem Library (OPL)Three main folders• Contrib – new contribution to the OPL, problems automatically considered for OPL unless flagged not to be• Open Problem Library – Problems that are also available on the OPL browser• Pending – For problems being reviewed by OPL editorial boardChoose a problem set to add problems into Choose where to search Use advance search to refine options if neededNumber of problems shownThe OPL has many problems (we see 33,201 listed at the bottom). We will use the advanced search (Subject, Chapter and section) to narrow this downOr name a new one to be createdThe OPL reduces the number of problems listed as we search by subject, chapter and section.Select local problem sets to UBCThis will show problem sets in your course, as well as those shared through the UBC library. Note this will also have problems from the contrib folder on the OPL.Select course problem setsThis will show problem sets in your course only.Select set definition filesSet definition files is a file format that can be used to share webwork problems between courses. This can be created in the “homework sets” menu under the “export” tab.Choose a problem from the OPL to add to your homework set43GITHUB AND THE OPLJonathan VerrettOn behalf of Agnes d’EntremontThis is a WeBWorK workshop – why are we talking about GitHub?• The OPL is a public code repository (repo) on GitHub• To contribute to the OPL, you need to submit your problems through GitHub• We want instructors to create and share their problems WHY GITHUB?• Git• GitHub • Repo(sitory)• Fork• (Fetch)• Branch• Commit• Pull request• MergeTERMS AND MEANINGSOPL(repo hosted on GitHub)Fork(your exact copy)Branch (for your edits) Pull RequestFetch (update)originalCommit (change)Merge (pull request accepted)Fetch and Merge (update)Delete branch once mergedmergeDelete branch once mergedSTRUCTURE… / Contrib / UBC / MECH / MECH2 / (course org)institution / course subject / specific courseOR  … / Contrib / UBC / STAT / (problem org)institution / “set”general subject How problems are categorized in OPL (allows browsing):• Subject – Geometry• Chapter – Angles• Section – BisectorsTAXONOMYStart working on Activity 6 (GitHub exercise 1) Find detailed instructions in the ubc-webwork-workshops repo (search GitHub for this repo), in the “WeBWorK-workshop-exercises” folder.  (You can try exercises 2 and 3 later, if you wish.  One good way to start exercise 3 is to simply create a folder related to your class, with an initial readme document.  EXERCISESMORE CONTEXTS?ASN1George Washington, 1789-1797John Adams, 1797-1801Thomas Jefferson, 1801-1809James Madison, 1809-1817James Monroe, 1817-1825L.R. Linares, 1825-1829Andrew Jackson, 1829-1837Martin Van Buren, 1837-1841William Henry Harrison, 1841John Tyler, 1841-1845James Knox Polk, 1845-1849Zachary Taylor, 1849-1850 WEBWORK FOR BEGINNERS!Using and Developing for the Open Problem LibraryNEGAR M. HARANDI, TEACHING AND LEARNING POSTDOC, ELEC ENGINEERINGLUIS R. LINARES, SR. INSTRUCTOR, ELEC ENGINEERINGJONATHAN VERRETT, INSTRUCTOR, CHEM AND BIO ENGINEERINGAGNES D’ENTREMONT, INSTRUCTOR, MECH ENGINEERING• Open-source and free• Customizable/student• Familiarity for students• Independent of LMS• Available UBC support• CTLT/CISWHY WEBWORK?WHAT DO STUDENTS SAY ABOUT WEBWORK?87.7%* rated their experience with WeBWorK satisfactory.Immediate feedback (86%) Review the material (81%) Free of charge (78%) Easier questions (70%)Harder questions (58%) Peer Discussion (44%)*A recent survey carried in ELEC Engineering Department at UBC.WHAT TYPE OF QUESTIONS?WHAT TYPE OF QUESTIONS?WHAT TYPE OF QUESTIONS?WHERE TYPE OF QUESTIONS?WHERE TO START?webwork.elearning.ubc.caOpen Problem LibraryCourse: APSC_WORKSHOPCreate YoursUse Others’Modify Others’Share with OthersWHERE TO START?Create YoursUse Others’Modify Others’Share with Otherswebwork.maa.org/wikiwebwork.elearning.ubc.caOpen Problem Library10BUILDING WEBWORK QUESTIONSNegar M. Harandi on behalf of Luis LinaresHOW ARE QUESTIONS DEFINED IN WEBWORK?• A question is a Perl source code file, with the extension pl or pg.• For example: Q1.pl, Q2.pl, etc.• You can use any text editor to open, modify or create your question file.• The questions reside on the WeBWorK server …ANATOMY OF A QUESTION IN WEBWORK• In WeBWorK, a question has • A description • A figure (sometimes)• One (or more) randomized parameters • One (or more) answer formula(s), written as a function(s)  of the randomized parameters• One (or more) entry box(es) for student answersWHAT THE STUDENTS WILL SEE…WHAT THE STUDENTS WILL SEE…WHAT THE STUDENTS WILL SEE…WHAT THE STUDENTS WILL SEE…WHAT THE STUDENTS WILL SEE…2.68WHAT THE STUDENTS WILL SEE…2.68WHAT THE STUDENTS WILL SEE…IN THE “CODE” WE SEE … THE DESCRIPTION IN THE “CODE” WE SEE … RANDOM VALUES • In Perl, a variable name begins with a $.IN THE “CODE” WE SEE … ENTRY BOXES IN THE “CODE” WE SEE … ANSWER FORMULASAND … THE FIGURE…apsc01.pngAND … THE FIGURE IN CODE…IN THE CODE, FOR REAL …There is an error thatWould drive nuts the WWI.Can you see it?WHERE ARE THE “QUESTION FILE”?• WeBWorK Server• Create a ‘local’ folderCreate an ‘ASN1’ folderCreate an ‘ASN2’ folder……Create an ‘ASN10’ folder• Inside each of those folders, you put your question files, Q1.pg or Q1.pl, Q2,pg, etc.image files, Q1.png, Q2.png, etc.WeBWORKLocalASN1ASN2ASN3Q1.plQ1.pngQ2.plQ2.pngNOW LETS 10 MINS ON SOME HANDS-ON ACTIVITY…• On your handout, please proceed with activities one and two.• Don’t hesitate to ask questions…ASSIGNMENTS IN WEBRORK• An assignments, or a Homework Sets, is a collection of some of thequestions that is already on the server.ASSIGNMENTS IN WEBRORK• An assignments, or a Homework Sets, is a collection of some of thequestions that is already on the server.CREATING AN ASSIGNMENT• Instructor decides when the assignment will open to the students, which students will see it, when is the deadline, when (if at all) final answers will be visible, how many marks each question have, how many attempts we give students for each question.• For that, we trigger the Hmwk Set Editor tool.CREATING AN ASSIGNMENTNOW LETS 10 MINS SOME HANDS-ON ACTIVITY…• On your handout, please proceed with activities three and four.• Don’t hesitate to ask questions…34FINDING WEBWORK QUESTIONSJonathan VerrettGithub.com, home of the Open Problem Library (OPL)Three main folders• Contrib – new contribution to the OPL, problems automatically considered for OPL unless flagged not to be• Open Problem Library – Problems that are also available on the OPL browser• Pending – For problems being reviewed by OPL editorial boardChoose a problem set to add problems into Choose where to search Use advance search to refine options if neededNumber of problems shownThe OPL has many problems (we see 33,201 listed at the bottom). We will use the advanced search (Subject, Chapter and section) to narrow this downOr name a new one to be createdThe OPL reduces the number of problems listed as we search by subject, chapter and section.Select local problem sets to UBCThis will show problem sets in your course, as well as those shared through the UBC library. Note this will also have problems from the contrib folder on the OPL.Select course problem setsThis will show problem sets in your course only.Select set definition filesSet definition files is a file format that can be used to share webwork problems between courses. This can be created in the “homework sets” menu under the “export” tab.Choose a problem from the OPL to add to your homework set43GITHUB AND THE OPLJonathan VerrettOn behalf of Agnes d’EntremontThis is a WeBWorK workshop – why are we talking about GitHub?• The OPL is a public code repository (repo) on GitHub• To contribute to the OPL, you need to submit your problems through GitHub• We want instructors to create and share their problems WHY GITHUB?• Git• GitHub • Repo(sitory)• Fork• (Fetch)• Branch• Commit• Pull request• MergeTERMS AND MEANINGSOPL(repo hosted on GitHub)Fork(your exact copy)Branch (for your edits) Pull RequestFetch (update)originalCommit (change)Merge (pull request accepted)Fetch and Merge (update)Delete branch once mergedmergeDelete branch once mergedSTRUCTURE… / Contrib / UBC / MECH / MECH2 / (course org)institution / course subject / specific courseOR  … / Contrib / UBC / STAT / (problem org)institution / “set”general subject How problems are categorized in OPL (allows browsing):• Subject – Geometry• Chapter – Angles• Section – BisectorsTAXONOMYStart working on Activity 6 (GitHub exercise 1) Find detailed instructions in the ubc-webwork-workshops repo (search GitHub for this repo), in the “WeBWorK-workshop-exercises” folder.  (You can try exercises 2 and 3 later, if you wish.  One good way to start exercise 3 is to simply create a folder related to your class, with an initial readme document.  EXERCISESMORE CONTEXTS?ASN1George Washington, 1789-1797John Adams, 1797-1801Thomas Jefferson, 1801-1809James Madison, 1809-1817James Monroe, 1817-1825L.R. Linares, 1825-1829Andrew Jackson, 1829-1837Martin Van Buren, 1837-1841William Henry Harrison, 1841John Tyler, 1841-1845James Knox Polk, 1845-1849Zachary Taylor, 1849-1850 CTLT TLEF WeBWorK Workshop 2018 May 2nd Facilitators:, Negar M. Harandi (negarm@ece.ubc.ca), Jonathan Verrett (jonathan.verrett@ubc.ca), Agnes d’Entremont (agnes.dentremont@mech.ubc.ca), Luis Linares (linares@ece.ubc.ca).   Activity 1: Downloading a Problem from the Server Go to https://webwork.elearning.ubc.ca/webwork2  and browse to APSC_WORKSHOP under Courses. Enter the login credentials you got in the beginning of this session.  Click on the Main Menu/ File Manager, double click on local/ on the list of folders in this WeBWorK course. Click on New folder on the right side. Under New folder name write your first name. And press New folder. Now you are inside of your folder. Press ^ to go one level up to the local. Enter on the folder ASN1 again to open it. Select Q2.pl by clicking on it. Press Download from the right menu. In the dialogue box, choose a location on your hard drive and press save. Repeat these steps for Q2.png. Activity 2: Editing an Existing Question On your hard drive, open the Q2.pl that you’ve had downloaded. Open it using any text editor such as g-vim or notepad (++) installed on your machine. Please do not use Word processors. Change the question to ask about area of a circle instead of the square. Find an image of a circle online to use instead of Q2.png. You will upload these files to the server in Activity 4. Activity 3: Creating Assignment: In the Main Menu/Instructor Tools, Click on Hmwk Set Editor.  Create on Create tab, Name your own set as your first name. And leave the type of set as a new empty set. Click on Take Action! button to create your assignment. Click on the icon in front of your assignment to set the due date to a week from now. Save your changes by clicking on the Take Action! Activity 4: Adding Problems to your Assignment: In front of your assignment, click on the 0, under Edit Problems, to open a page that shows the General information of your assignment. Under Set Description, write a short comment that specifies this assignment for you. Scroll to the bottom, check the radio button, Add [1] blank problem to the end of homework set. Click Save Changes. In the updated view, scroll to the bottom, and under Problems you see a blank template for your first problem. For the first problem, go under Source File and type local/ASN1/Q1.pl - the address is case sensitive. Press Enter. And click on Save Changes. Scroll down to make sure there are no red error messages.  From the file manager, go to your own folder under the local folder. Click on Choose File button at the bottom. Browse to find the modified version of Q2.pl on your own device, select it, and click Open. Click on Upload button to upload this modified problem to your assignment. Repeat the steps for Q2.png.  In Main Manu/Homework Sets find your assignment. Open it by clicking on the name. Now you see the list of the problems. Click on Problem 1. You now see the student view of your problem. Click on Hmwk Sets Editor. Repeat the process explained above, to add a new blank problem to your assignment. This time use the source file address local/YourName/Q2.pl.  Don’t forget to Save Changes. Scroll down to make sure the problem is added without any error messages. In Main Manu/Homework Sets you should see your assignment. Open it by clicking on the name. This time you will see two problems. Click on Problem 2 to see it, as students do.   Activity 5: Adding problems from the Open Problem Library (OPL) Click on the Library Browser under Instructor Tools on the main menu. We will add problems to the homework set you created in Activity 1. Select this set in the drop-down menu at the top after the “Add problems to Target Set” text.  Below this, the Browse option should be set to the “Open Problem Library” by default. We will now narrow down the question available by Subject, Chapter and Section. If you have a particular topic you are interested feel free to try to find associated questions, otherwise an example from a statics course follows here. Say we want to look at statics problems in trusses. We would first look under the Subject heading for statics and mechanics of materials and select that option. Next, we would select structures as our Chapter. Finally, we will select Trusses for the section. We can then click view problems to see previews of the 11 WeBWorK problems available.  From here we can either add all the problems to our set by clicking the blue Add All button, or we can add single problems by clicking the blue Add button above each. Note that WeBWorK pulls these problems from the OPL each time they are loaded and any edits to the OPL version will be automatically updated in the problem set. If we want to edit these problems ourselves, we first need to make copies of then that refer to a different file path, essentially local copies. Activity 6: Editing “code” on GitHub These instructions are available on GitHub.  A brief run through is listed here. Note that everything in this repo is public.  Go to GitHub (https://github.com), sign in, and search for “ubc-mech2/ubc-webwork-workshops”.  Open the folder “WeBWorK-workshop-exercises”, and then open “WeBWorK workshop – GitHub exercise 1.md”.   If you have never contributed to the repo before, there’s a slightly different workflow than if you have already contributed.  Both are listed in the document, but I summarize the first workflow here: 1. Modify the file. Click on the pen icon at the top right of the document to start editing (type your comments at the bottom of the file).  2. Propose file change. Type in a description, click on 'Propose file change'.   3. Create a pull request. Click on button to 'Create pull request'. Tag a workshop facilitator (“@jverrett” in comments).  Click 'Create pull request' again. The facilitators will merge the pull requests as they come in.  There are two further activities in the folder, if you would like to try them (either now or later).  

Cite

Citation Scheme:

        

Citations by CSL (citeproc-js)

Usage Statistics

Share

Embed

Customize your widget with the following options, then copy and paste the code below into the HTML of your page to embed this item in your website.
                        
                            <div id="ubcOpenCollectionsWidgetDisplay">
                            <script id="ubcOpenCollectionsWidget"
                            src="{[{embed.src}]}"
                            data-item="{[{embed.item}]}"
                            data-collection="{[{embed.collection}]}"
                            data-metadata="{[{embed.showMetadata}]}"
                            data-width="{[{embed.width}]}"
                            async >
                            </script>
                            </div>
                        
                    
IIIF logo Our image viewer uses the IIIF 2.0 standard. To load this item in other compatible viewers, use this url:
http://iiif.library.ubc.ca/presentation/dsp.52383.1-0367930/manifest

Comment

Related Items