Preliminary Software Engineering
Unit 1 - Programming Fundamentals
Unit 1 - Programming Fundamentals
  • 1 - Programming Fundamentals
    • Programming Fundamentals Content
  • 2 - Python
    • Expected Python Knowledge
    • GitHub
    • Learning Python
    • Data Structures and File Management
      • Data Structures
        • Lists
        • Arrays
          • Single and Multi-Dimensional Arrays
        • Lists vs Arrays
          • Activities
        • Tuples
        • Sets
        • Dictionaries
          • Activities
      • File Handling
        • Loops, Lists, Dictionaries
        • Activities
  • 3 - Theory Content
    • Theory Content Explained
      • NESA Directional Verbs
      • Responding to Directional Verbs
  • 4 - Software Development and Management
    • Approaches to Software Development
      • Waterfall Model
      • Agile Model
      • Summary: Waterfall vs Agile
      • Activities
    • Software Development Steps
      • Sample Exam Question
      • Requirements Definition
        • Understanding the Need
        • Key Questions to Ask
        • Examples
        • Activities
        • Sample Exam Question
      • Determining Specifications
        • Functional Specifications
        • Non-Functional Specifications
        • Activities
      • Design
        • Top-Down Design Approach
        • Bottom-Up Design Approach
      • Development
        • Optimising Code
      • Integration
        • Example: Payment Program
        • Activity
        • Application Programming Interface (API)
          • Example: OpenWeather API
          • Example: WeatherAPI
          • Activity: Prepare Spells
      • Testing and Debugging
        • Test Data
          • Activities
        • Testing the System
          • Activities
        • Debugging
          • Types of Errors
            • Activities
          • Python Debugger
            • Activities
          • VS Code Debugger
            • Activities
      • Installation
        • Activities
        • Sample Exam Question
      • Maintenance
  • Charts and Algorithms
    • Example: IPO Charts and Pseudocode
      • Activities
    • Algorithms, Flowcharts, Pseudocode
      • Pseudocode Activities
      • Flowchart Activities
      • Sample Exam Questions
    • Structure Charts
      • Activities
      • Sample Exam Questions
    • Data Flow Diagrams
      • Activities
    • Data Dictionaries
      • Activities
    • Decision Trees
      • Activities
      • Sample Exam Questions
    • Gantt Chart
    • Class Diagrams
      • Sample Exam Question
    • Storyboards
      • Sample Exam Question
  • Testing and Debugging
    • Test Data
      • Activities
    • Testing the System
      • Activities
    • Debugging
      • Types of Errors
        • Activities
      • Python Debugger
        • Activities
      • VS Code Debugger
        • Activities
  • Computational Thinking
    • Decomposition
    • Abstraction
    • Activities
  • Version Control
    • Git
    • GitHub
    • Activities
  • Number Systems
    • Binary Systems
    • Hexadecimal Numbers
    • Using Two's Complement
    • Activities
  • 5 - Assessment Task 1
    • Data Science Project
      • Before we Start
        • Setting up GitHub Repository
        • Setting Up Markdown Documentation
      • Examples of API Usage
        • Starter Code: NASA Scenario
        • Starter Code: Spell Book
        • Starter: Pokédex Explorer
        • Starter Code: Weather App
        • Example: OpenWeather API
        • Example: WeatherAPI
        • Example: Prepare Spells
    • Task Guide
      • Requirements Definition
      • Determining Specifications
        • Use Cases
      • Design
        • Gantt Chart
        • Structure Chart
        • Algorithms
        • Data Dictionary
      • Development
        • Comments vs DocStrings
        • UI - main.py
        • Create Python Module
          • Example: NASA Module
          • Example: WeatherFetch Module
          • Example: SpellBook Module
      • Integration
        • Example: Pokedex
      • Testing and Debugging
        • Commit Changes
      • Installation
      • Maintenance
    • Submitting Your Task
Powered by GitBook
On this page
  • Example Workflow in GitHub
  • GitHub Features
  • Support with Using GitHub
  1. Version Control

GitHub

PreviousGitNextActivities

Last updated 3 months ago

GitHub is a "hub" (a place or platform) where people build software together as a team.

When you're using GitHub, you're also working with Git. Git is the actual version control system and GitHub is the platform where you share files and host live code. GitHub is a web-based hosting service for version control using Git.

Over 73 million developers use GitHub as of November 2021 and set to hit 100 million users by 2025. More companies are requiring new hires to know how to use Git and GitHub.

In team environments, Git is often used in combination with remote repositories hosted on platforms like GitHub, GitLab, or Bitbucket. These platforms allow teams to store, share, and manage Git repositories online, providing tools for issue tracking, project management, and pull requests.

Example Workflow in GitHub

  1. Clone the repository from GitHub to the local machine:

    git clone https://github.com/username/repository.git

  2. Branch off to work on a new feature:

    git checkout -b feature-branch

  3. Commit and push the changes:

    git commit -m "Add new feature" git push origin feature-branch

  4. Open a pull request in GitHub, which allows team members to review the changes before merging.

GitHub Features

Hosting: GitHub hosts your Git repositories and provides a web interface for them. It allows for both private and public repositories.

Collaboration:

  • Forking and Pull Requests: Users can fork a repository (create a copy) and contribute back to the original project using pull requests.

  • Issue Tracking: GitHub includes an issue tracking feature, where users can report bugs or request new features.

  • GitHub Actions: This feature enables automation of workflows, making it possible to automate your build, test, and deployment pipeline.

Community: GitHub is also a networking tool for developers. Users can follow each other, rate each other's work, receive updates for specific projects, and communicate publicly or privately.

GitHub Pages: A service to host websites directly from a GitHub repository.

Additional Tools: GitHub provides GitHub Desktop, GitHub Mobile, and integrations with popular platforms like Amazon, Google Cloud, etc.

Support with Using GitHub

Git, GitHub & GitHub Desktop for Beginners
How Git Works: 4 Minutes