1. Homepage
  2. Programming
  3. COMP2120 Software Engineering - Group Assignment 3: PR for OpenSource

COMP2120 Software Engineering - Group Assignment 3: PR for OpenSource

Contact Us On WeChat
AustralianANUAustralian National UniversityCOMP2120Software EngineeringPR for OpenSourceJava

Group Assignment 3 (Worth 20%) CourseNana.COM


Group Assignment 3: PR for Open Source - Part A [100/100 MARKS] CourseNana.COM


Starting The Assignment CourseNana.COM

Activity 1 - OSS Project Selection [0/100 MARKS] Selecting a Repository CourseNana.COM

Activity 2 - Working on the OSS Project [10/100 MARKS] CourseNana.COM

Activity 3 - Opening and Submit a PR to the project [10/100 MARKS]If PR is accepted [5 Bonus Marks] CourseNana.COM

Activity 4 - Documenting the Process [50/100 MARKS] CourseNana.COM

Activity 5 - Work/Consistency In the Repository [30/80 MARKS] CourseNana.COM

Activity 6 - COMP6210 Students ONLY CourseNana.COM

Activity 7 - Group Presentation CourseNana.COM


Group Assignment 3: PR for OpenSource - Part A [100/100 MARKS] CourseNana.COM

The previous 3 assignments have exposed you to: CourseNana.COM

Analysis of user stories CourseNana.COM

Analysis of issues, branches, pull requests, and understanding how a repository works CourseNana.COM

Working as a team to complete a project with good issues, pull requests,communication, documentation and testing CourseNana.COM


This assignment builds on all all of these skills and exposes you to working on a real-lifeOSS repository. This assignment is comprised of two parts: CourseNana.COM

A report, answering the questions listed below, and CourseNana.COM

A group presentation detailing your work on the assignment. See the full details hereGroup Presentation. CourseNana.COM


Starting The Assignment CourseNana.COM

As a group, take a look at all of the recommended repositories listed here on thisGoogle Sheet. Those are just suggestions, if nothing there interests your group, youcan also take a look at the Awesome for beginners repository and the ApacheProjects Directory. Info Do


Important CourseNana.COM

You must discuss with your tutor about which repository and issues you would liketo work on. More information on this can be found in Activity 1. Please note that youwill need to get approval from your tutor before you can start working on yourassignment. CourseNana.COM

You CANNOT work on wyvernlang, however if this is something you are interested in, emailAlex (alex.potanin@anu.edu.au) about it. CourseNana.COM


Activity 1 - OSS Project Selection [0/100 MARKS] Very carefully read the starting instructions here. See also emailing your tutor. CourseNana.COM

After discussing amongst your group, and with your tutor about which repository andissues you would like to work on. CourseNana.COM


Selecting a Repository CourseNana.COM

It is essential that you find repositories that are suitable for you to work on. You should beable to find a repository that: CourseNana.COM

Has good, well documented, and easy to follow setup/installation instructions CourseNana.COM

Is an active repository, with recent commits and issues. Avoid projects that have notbeen committed to or have any issues in the last 6 months or longer. Watch out forMIA maintainers! CourseNana.COM

Is not too hard to follow or understand. You should be able to understand thecodebase and the issues you are working on. It should also have clear goals andoutcomes. CourseNana.COM

Is in a language that you are comfortable with. If your group is not comfortable withthe language, and you do not want to have the additional burden of learning a newlanguage, find something else. If you are unsure, stick with a Java project. CourseNana.COM

Something you, and your group will enjoy working on. This is a taste of what it is liketo not only work on OSS, but working in the real-world. CourseNana.COM


If you are unsure, talk to your tutor! CourseNana.COM

How Do You Choose Issues? CourseNana.COM

No two issues are created equal. It is up to you to choose issues you want to work on as agroup based on the following criteria: CourseNana.COM

Difficulty: How difficult is the issue? Is it a simple bug fix, or a more complex featurerequest? CourseNana.COM

Size: How big is the issue? Is it a small bug fix, or a large feature request? CourseNana.COM

Time: How much time do you anticipate needing to work on the issue? CourseNana.COM

Workload: How do you plan to split the work amongst your group members? CourseNana.COM


If you are unsure, talk to your tutor! You can always change issues later on, but try and findsuitable issues to start with to avoid the need to email your tutor multiple times. CourseNana.COM

Approaches CourseNana.COM

Select issues individually, write up the appropriate justification, and then work on it,consulting and engaging with other group members to review code, resolve issues,etc. CourseNana.COM

If you have selected a larger issue, you may want to assign 2 or 3 group members towork on it. If you choose to do this, you must justify to your tutor that there issufficient work for 2 or 3 group members. CourseNana.COM

Discuss with your tutor any other approaches you wish to take on. CourseNana.COM


Even though you may be working in smaller groups within your larger group, you areencouraged to work together as a group where you deem necessary, or before largemilestones such as opening the PRs. CourseNana.COM

How Many Issues Will You Need To Choose? CourseNana.COM

There will not be any set number of issues your group has to take on. This is up to you, yourgroup, and your tutor to decide and come to an agreement. There will need to be evidencethat enough work is present for your group size. CourseNana.COM


group name is listed here. For example: COMP2120 Group Assignment 3 IssueSelection: Workshop-01-Group-1 CourseNana.COM

The email MUST include the following information: CourseNana.COM

The name and URL of the repository you would like to work on. CourseNana.COM

The list of selected issues you would like to work on + who is working on each issue. CourseNana.COM

Your answers to the questions listed here for each issue. CourseNana.COM

The GitHub usernames of all group members. If you do not have a GitHub account,you will need to create one BEFORE sending the email. CourseNana.COM


Only after your tutor agrees to your issue selection, by replying to and confirming youremail, can you start working on your assignment. CourseNana.COM

If any changes are made to your issue selection, send another email with the format abovefor the changed issue(s). CourseNana.COM

Activity 2 - Working on the OSS Project [10/100MARKS] CourseNana.COM

With any codebase, it is vital that you are able to pull it apart and understand how it works.This is the first step in being able to contribute to it. Figuring out and understanding whatthe issue(s) you are working on that someone has reported are, how they are triggered, andhow to solve/fix them is a vital skill in being able to contribute to an OSS project. CourseNana.COM

Either individually, as a pair, or in some other arrangement within your group, youwill need to work on understanding the codebase you have selected and what theissues you are working on consist of. Document your findings in the report. CourseNana.COM

Break down the issue(s) and understand what needs to be done to fix them. CourseNana.COM

You should be committing your proposed changes to the repository you are workingon after it has been reviewed by at least one other member of your group. Try andspot any issues within your proposed commits to ease the burden placed on themaintainers of your selected project. Take on any feedback from your groupmembers, and ESPECIALLY any feedback from the maintainers of the project youare working on. CourseNana.COM

Document the process, as described in Activity 4. CourseNana.COM

Your report must also include a screenshot of the email(s) you sent to your tutor, anyfollow ups if you changed issues, and all confirmations from your tutor. CourseNana.COM


Activity 3 - Opening and Submit a PR to the project[10/100MARKS] CourseNana.COM


After you have worked on the issues, you will need to open a PR to the project, afterdiscussion with your group, and at least the majority of your group has taken a lookat it. Your tutor should take a look before you open any PRs. Try and avoid things likethis, and try not to put too much of a burden on maintainers. It is not recommendedto open PRs too close to the assignment deadline, but it will be a good learningexperience. CourseNana.COM

If PR is accepted [5 Bonus Marks] CourseNana.COM

If any one of your PRs is accepted into the project, you get a one off 5 bonus marks. Thetotal mark for this assignment cannot exceed 100. CourseNana.COM


Activity 4 - Documenting the Process [50/100MARKS] CourseNana.COM

You will need to document your findings in the group report, which will be submittedas part of your assignment. Some things (as a non-exhaustive list) include: CourseNana.COM

Document what the issue is, how it is triggered, and how you plan to fix it. CourseNana.COM

What moving parts of the codebase are involved in the issue? CourseNana.COM

What was involved in opening and submitting the PR? CourseNana.COM


Some things you should consider explaining in your report (not an exhaustive list): CourseNana.COM

Can you explain all the moving pieces within the repository that relate to, rely on, areimpacted by, or anything else by the issue you are working on?What would solving this mean to the project? CourseNana.COM


Does your solution fit neatly into the rest of the project? Does it follow theconventions of the project? CourseNana.COM

Is it easy to understand what you have done/propose to do? CourseNana.COM

Are there edge cases / performance problems / other things that you (or they - theindividual who opened the issue) have not considered/addressed? CourseNana.COM

Was there anything you could have improved on? CourseNana.COM

You can also use screenshots, external references, etc. to help explain your findings. CourseNana.COM


It is ESSENTIAL to clearly label your work within the report, who you worked withwhile working on the issue(s), what they contributed, and any other supportinginformation. You must also include a section reiterating and matching up each groupmember to a GitHub username. Each issue your group works on must have a paragraph or two explaining how youcontributed, who you worked with, and what they did. Be very specific andexhaustive. You are encouraged to work freely with all group members even if youare not working on the same issue, or have split up within your group. Discuss,review, and work together to improve your understanding of the codebase and theissues you are working on, especially if there is something you don’t understand. CourseNana.COM


Activity 5 - Work/Consistency In the Repository[30/80 MARKS] CourseNana.COM

You will be marked on your work within the repository: do you follow the guidelines,standards/conventions, and contributing rules of the project? Do you make it easy for themaintainers to review and understand your work? Do you engage in discussion and otheractivities in a professional manner? Make sure it is easy for your tutor to see what issuesyou have worked on, and how you have contributed to the project. In addition to the above, document and list where you found information regardingto any guidelines, conventions, or rules of the repository and anything else youdeem necessary. Keeping in mind that passing off work (regardless of if it is within your report,passing off the work of someone else in the GitHub Repository, or any otherbehaviour) that is not your own is a violation of the ANU Academic Integrity Policy.Make sure to reference anything you used within your report that is not your ownwork.Do Do Important CourseNana.COM


Activity 6 - COMP6210 Students ONLY CourseNana.COM

You will need to submit in Wattle an individual essay of around 1000 words that will beworth 20% of your mark for this Group Assignment (the other 80% will be as per the aboveinstructions - the same as the COMP2120 students). CourseNana.COM

In this short essay we want you to reflect on the different licenses used in the open sourceapplications (look at the slides for week 12 that lists the most commonly used licenses).These can also be found here. CourseNana.COM

For the open source project you contributed to, which license did it use and did youconsider it appropriate for its goals. Discuss and justify your reasoning. CourseNana.COM

Read the following research paper from ICSE 2017 (International Conference on SoftwareEngineering - the top venue in software engineering): CourseNana.COM

https://ieeexplore.ieee.org/document/7985655 CourseNana.COM


It discusses automatic detection of FOSS license violations. Explore any other related workon the subject by either following the citations of the paper “back in time” or searching forpapers that cite this paper in their references “going forward in time”. CourseNana.COM

Discuss the work in this field of automatic detection of open source license violations anddiscuss where this work may lead to in commercial settings in your personal opinion. CourseNana.COM

Activity 7 - Group Presentation CourseNana.COM

See the Group Assignment 3 Presentation page for more information. CourseNana.COM



Get Expert Help On This Assignment

Scan above qrcode with Wechat

Australian代写,ANU代写,Australian National University代写,COMP2120代写,Software Engineering代写,PR for OpenSource代写,Java代写,Australian代编,ANU代编,Australian National University代编,COMP2120代编,Software Engineering代编,PR for OpenSource代编,Java代编,Australian代考,ANU代考,Australian National University代考,COMP2120代考,Software Engineering代考,PR for OpenSource代考,Java代考,Australianhelp,ANUhelp,Australian National Universityhelp,COMP2120help,Software Engineeringhelp,PR for OpenSourcehelp,Javahelp,Australian作业代写,ANU作业代写,Australian National University作业代写,COMP2120作业代写,Software Engineering作业代写,PR for OpenSource作业代写,Java作业代写,Australian编程代写,ANU编程代写,Australian National University编程代写,COMP2120编程代写,Software Engineering编程代写,PR for OpenSource编程代写,Java编程代写,Australianprogramming help,ANUprogramming help,Australian National Universityprogramming help,COMP2120programming help,Software Engineeringprogramming help,PR for OpenSourceprogramming help,Javaprogramming help,Australianassignment help,ANUassignment help,Australian National Universityassignment help,COMP2120assignment help,Software Engineeringassignment help,PR for OpenSourceassignment help,Javaassignment help,Australiansolution,ANUsolution,Australian National Universitysolution,COMP2120solution,Software Engineeringsolution,PR for OpenSourcesolution,Javasolution,