Collaborative Wiki 1 - Evolution of a Programming Language
Purpose: To practice and demonstrate proficiency in researching the history and evolution of programming language.
Skills Used: Research, Writing, Communication, Comprehension
Knowledge Goals: Dependent on the question chosen
Summary
In this assignment, you will use Github to collaboratively work on a Wiki around the history and evolution of a programming language of your team's choice from a list. You are expected to use proper version control procedures for interacting with the repo that will contain your Wiki. You are required to use Git and Github for this project in a way that showcases that individual contributions of each team member.
The process should be that your team will choose a programming language to research and then divide up the topics to report on for that language. Your file you write in Markdown language (a file that has the .md extension) of which there is a tutorial on this here. The practice with markdown will be helpful for you in your future.
You will probably encounter merge conflicts as you are working on this. Please handle these accordingly. This assignment is not only about learning the concepts in Programming Languages but also to get practice with using Githhub and version control.
Step 1: Pick your programming language
The programming languages you can choose from are:
C C++ C# C Languages Java Python Rust PHP Ruby F# R Kotlin COBOL FORTRAN LISP ALGOL (any version) BASIC PL/I Any other language of your choice, but you must get approval from the instructor first.
Step 2: Brainstorm ideas on what to report about
The following are a selection of questions. These are meant to help you brainstorm. Feel free to create your report the best way your group sees fit. Focus on the history and evolution of the programming language. Grading based on topic will show effort to go in-depth on understanding the history, relevance and importance of the language.
Consider the 5 Ws and H: Who, What, Where, When, Why, How? Who created this programming language? What is the programming language? Describe it? Where is not super relevant, but you can add where it was created (Bell Labs?) When was the programming language created? Why was the programming language created? Was there a specific need? How was this programming language created? What was the process of its evolution? What came before it? What came after it? What are the programming language's primary advantages and disadvantages? Pick one other programming language that is different and compare it. What was the primary use case for the programming language? Software? Mobile? Mainframes? Mission-critical applications? Is the programming language currently being used still? If so, what is it being used for? Is it legacy? Speculate on what you think the future of this programming language is. Will it become obsolete?
Step 3: Create a timeline graphic of the history and evolution of your programming language
Produce a graphic timeline of the history and evolution of this programming language. Feel free to use whatever graphic tool you wish.
Please use the following link to access the Github Repo:
You are required to fork the repo to your own Github and then clone it to your machine. Work on it and then you can push up your version and create a Pull Request.
If you wish to work on this in Google Documents or Word Online, you are free to do so. Once a person has completed their portion of the document, they would create a branch, add it to the master md file in the repo for the group, stage it (add), create a commit and push it up to Github repo and create a PR.
Why do we have to do this process when we could just create it in Word Online and it would save us so much time?
- Thats a great question. The reason is because it is our desire for you to understand Git and Github in a way that really sets you apart when you are interviewing for your internships. For that reason, practice with these is part of our everyday work.
Format Requirements Your submission has to have a minimum of 1000 words. Including images, diagrams and visuals are encouraged and impressive. Please use proper grammar and spelling at all times. Citations are not necessary but encouraged. If used, please use IEEE style.
Assessment
This is a group grade. If anyone is not pulling their weight, please discuss with them during a team meet and if that does not work, then discuss with the professor for further action. See the rubric for details on grading. Performance Reviews are not required currently for Collab Wikis but if it is found team members are not pulling their weight, it can be added.
Deliverables Completion in Github. Any commits made after due date will be considered to follow the late penalty. Submit a link to the Github repo here.