Changes

Jump to: navigation, search

OSD & DPS909 Fall 2020 - Release 0.1

396 bytes added, 15:01, 9 September 2020
no edit summary
==Overview==
You are tasked with building a command-line tool for finding and reporting dead links (e.g., broken URLs) in a set of filesfile. Users might use your tool to help locate broken URLs in an HTML page, for example. Your tool can be written in any programming language.
This first release is designed to expose you to the common workflows and tools involved in contributing to open source projects on GitHub. In order to give every student a similar learning experience, we will all be working on the same project.  This first release is also aimed at putting you in the role of "open source creator" and later "open source maintainer." You will use the code you write in this assignment in subsequent labs during the course to explore various aspects of open source work. NOTE: in subsequent releases, students you will have more freedom to work on different projects.
==Learning Goals==
In addition to the actual code you will write, the ultimate goal of this first release is to help you gain experience in many aspects of open source development and contribution, specifically:
* gaining some experience in a programming langauge by building a real-world tool
* working with the basics of git, including branches, commits, etc.
* creating open source projects on GitHub
* filing, triaging, and working with Issues on GitHub
* writing about your own work via your Blog
* create a GitHub Repo for your project, see https://docs.github.com/en/enterprise/2.15/user/articles/create-a-repo
* choose an OSI Approved Open Source Licence for your project and include a LICENSE file in your rep, see https://docs.github.com/en/github/creating-cloning-and-archiving-repositories/licensing-a-repository
* create a README.md file, and keep it updated as you write your code, documenting how to use your tool, which features you include, etc.
* choose a programming language. You can use a language you know and love, or something new that you've never used before and want to learn.
* create a command-line tool in your chosen language. It must support all of the following:

Navigation menu