Open HarshCasper opened 2 years ago
Thanks for submitting a new course @HarshCasper. Here are a couple of suggestions:
We need a title and description for each chapter. The objective that you have can become the description. You can try adding a short title for each chapter instead of just calling it "Chapter 1" etc.
The current course framework doesn't have a place for a task. I suggest you to leave them in this issue and we'll figure out how to add the tasks once you make some progress with the course.
Please send a PR with a course.yml
file. You can look at existing course.yml
files in the repo for reference.
I would like to work on this PR.
@aryasoni98 thanks for your interest. @HarshCasper is already working on this course. You are welcome to review it and provide feedback.
@de-sh @nikochiko could you please review this course proposal?
About the course
Title
Git & GitHub for beginners
Subtitle
Get started with learning how to version control and collaborate on your projects with Git & GitHub.
Description
As a developer, writer, or creator, you all deal with files every day. At some point, you are dealing with making new files or changing the old files and then saving it all over again. But how do you track the file changes that are being made over time? It was this simple question that prompted the development of version control systems.
Linus Torvalds, the creator of the Linux kernel, was prompted to develop a distributed version control system when the license for BitKeeper, an existing version control system, was revoked, which is today known as Git. Today, Git is universally used worldwide for version controlling the files and is now integrated into various popular services to manage applications and data.
However, the technical jargon around Git is quite challenging to understand. You might know how to make a commit to save your changes, but how do you squash your commits? How do you resolve a merge conflict and collaborate with other developers?
These are some of the questions that leave developers prowling across Stack Overflow threads looking for answers. This course aims to get you started with Git from a completely non-technical perspective and help you upskill yourself in Git with real-world examples.
You don’t need to prowl for commands any longer, and you will understand how you can develop mental models around Git and its practical usage. With interactive lessons, real-world analogies, and scenario-based exercises, you will learn how to use Git with GitHub, a Git hosting service, while employing a host of services.
Course outcomes
Course Outline
1. Chapter 1: Version Control System & Git
Objective: Develop an understanding of version control systems and Git.
Task: Develop an understanding of why teams use Git and what are difficulties they would face if no version control system is used.
2. Chapter 2: Getting started with Git
Objective: Version-controlling your project using Git!
Task: Make a static website using HTML, CSS, JavaScript while making proper commits for your changes. Push the website to a GitHub repository and deploy on GitHub pages.
3. Chapter 3: Git & GitHub
Objective: Learn to collaborate using Git and GitHub!
Task: Quiz
4. Chapter 4: Contributing using Git & GitHub
Objective: Understanding the GitHub Flow of contribution
Task: Fork a repository and make a pull request to the student repository of this class. Resolve the suggestions made by a review bot and squash commits at the end. Send a PR after it has been merged.
5. Chapter 5: Open-Source
Objective: Contributing to Open-source projects
Task: Find an issue on any significant open-source project and propose an interest to work on it. Follow a fork-clone workflow in line with the project’s contributing guide and raise a pull request. Make sure all automated checks pass and is reviewed by a maintainer for correctness.