Grad Software Engineering Project 1
Due:
Feb 14th at 11:59pm
Summary:
You will get the chance to investigate an api, read documentation, write
a program and write tests for a program to get our initial creative juices
flowing.
Details:
Hacker News is one of a few
places on the web that is widely used by software and technical
professionals to get curated technical news. Furthermore every month there
is a thread that gets lots and lots of love (in the form of points) about
hiring. On the first of every month a topic is posted with the title
"Ask HN: Who is hiring?" There are usually about a thousand comments on
the topic, many are job postings, some are just comments. As Grad students
you will programmatically ask Hacker News for this data and then analyze
it using a program that is verified through the use of automated testing.
Nitty-gritty:
Write this program in either
- Java (target whatever version is on the university computers)
- or python (you can target any version of python 3.5+)
If you really really really want to use a different language, talk to me,
we'll see.
- write it to be cross platform on desktop machines, Java and Python
should do that anyway, but any external libraries need to work on linux
especially.
- I want to really point you at the hacker news API site - read it,
learn it understand it, The hacker
news API docs https://hn.algolia.com/api
- then read about parsing json
- feel free to only use the widely read topics on the first of each
month rather than the less well received specialized topics that show up
a couple of times a year.
- use one of the
jetbrains IDEs to do your work. We have them installed here at the
university and you can get the
full professional suite of tools for free as students so long as
you are only using them for student work
- look at data for the two year period starting Feb 2016 and ending Feb
2018.
- offer the user the following options:
- graph the change in job postings over that two year period
- graph the number of jobs that require onsite or remote work over the
period
- graph the number of jobs that ask for all of the "common"
programming languages. (you can either use https://spectrum.ieee.org/static/interactive-the-top-programming-languages-2017
to determine what the common languages are or you can find the
most commonly mentioned language in the Hacker News posts and use
them. Graph the change in activity for the top ten 'common' languages
over the two year period.
- make sure your graph display is easy to install and works cross
platform.
Submission:
Zip your entire project directory and submit the whole thing on
blackboard.
Include in your zipped submission a file telling me how to run your
tests using junit/unittest/pytest which unit and functional tests show
your code to work and be error free.