Editing DS4UX (Spring 2016)/Day 5 coding challenge

From CommunityData
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 1: Line 1:
<div style="font-family:Rockwell,'Courier Bold',Courier,Georgia,'Times New Roman',Times,serif; min-width:10em;">
<div style="float:left; width:100%; margin-right:2%;">
{{Link/Graphic/Main/2
|highlight color= 27666b
|color=460c40
|link=
|image=
|text-align=left
|top font-size= 1.1em
|top color=FFF
|line color=FFF
|top text=This page is a work in progress.
|bottom font-size= 1em
|bottom color= FFF
|bottom text=
|line= none
}}</div></div>
<div style="clear:both;"></div>


Each of the challenges this week will ask you to modify and work with code in the [[Community Data Science Course (Spring 2015)/Wikipedia API projects|Wikipedia API projects]] which you should have installed and begun working with in class.


Each of the challenges this week will ask you to modify and work with code in the [[DS4UX (Spring 2016)/Wikipedia API|Wikipedia API projects]] which you should have installed and begun working with in class.
As always, it's not essential that you solve or get through all of these — I'm not grading your answers on these. That said, being able to work through at least many of them is a good sign that you have mastered the concepts for the week. It is always fine to collaborate or work together on these problem sets. The only thing I ask is that you do not broadcast answers before Sunday at midnight on Canvas.
 
It's not essential that you solve or get through all of these — I'm not grading your answers on these. That said, being ''able to'' work through at least many of them is a good sign that you have mastered the concepts for the week. It is always fine to collaborate or work together on these problem sets.


== Challenges ==
== Challenges ==
Line 9: Line 26:
# Save the revision metadata printed in <code>wikipedia1-2.py</code>  (i.e., the material already being printed out) to a file called "wikipedia_revisions.tsv".
# Save the revision metadata printed in <code>wikipedia1-2.py</code>  (i.e., the material already being printed out) to a file called "wikipedia_revisions.tsv".
# Print out the revision ids and edit summaries (i.e., <code>comment</code>) of each revision for the article on Python.
# Print out the revision ids and edit summaries (i.e., <code>comment</code>) of each revision for the article on Python.
# Find out what other data or metadata you can print out for a revision for an article.
# Which article is in more categories? [[:wiki:Python (programming language)|Python (programming language)]] or [[:wiki:Python (genus)|Python (genus)]]?   
# Which article is in more categories? [[:wiki:Python (programming language)|Python (programming language)]] or [[:wiki:Python (genus)|Python (genus)]]?   
# How many revisions to the article on "Python (programming language)" were made by user "Peterl"? How about "Hfastedge"?
# Find out how many revisions to the article on "Python (programming language)" were made by user "Peterl"? How about "Hfastedge"?
# How many revisions/edits has the user "Jtmorgan" has made to Wikipedia?
# How would you use the API to find out how many revisions/edits the user "Jtmorgan" has made to Wikipedia?
 
# Can you build a list of all of the articles edited by "Jtmorgan"? What is the article with the longest title that user Jtmorgan has edited?
;Bonus challenges
# How many edits to the article "Python (programming language)" where made in 2015?
 
:6. Can you build a list of all of the articles edited by "Jtmorgan"? What is the article with the longest title that user Jtmorgan has edited?
:7. How many edits to the article "Python (programming language)" where made in 2015?


=== Solutions ===
;Here's a much more complicated challenge but a fun one that you know enough to solve: Check out the game [http://kevan.org/catfishing.php Catfishing] which shows you categories and has you guess an article. Write a version that uses the Wikipedia API. For example, pick 5 articles and write a program that will randomly show the categories for one of those articles and to ask you to guess the article. Read the guess with <code>input()</code> and let the user know if they go it right or wrong!
<big>'''[http://jtmorgan.net/ds4ux/week5/wikipedia-solutions.zip Click here to download the solutions to this week's coding challenges]'''</big>


[[Category:DS4UX (Spring 2016)]]
[[Category:DS4UX (Spring 2016)]]
Please note that all contributions to CommunityData are considered to be released under the Attribution-Share Alike 3.0 Unported (see CommunityData:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following CAPTCHA:

Cancel Editing help (opens in new window)