Skip to content

learning-software-engineering/learning-software-engineering.github.io

Repository files navigation

Intro

Welcome to Learning Software Engineering Repository. This is intended as a resource for students new to software engineering to contribute to the ever growing body of knowledge of software engineering by adding/editing their input to help other students learn better. Readers are expected to know the foundation of software engineering and computer science (e.g., basics of algorithms, foundations of programming).

Following files are present in this directory. You may contribute to any of these of your choice. If you are contributing by forming multiple pages, consider structuring your files into a new sub-directory within the topic's directory. Contribute to the readme files within each topic directory as appropriate.


Potential Topics--

  • Tech stacks

    1. Nuxt3

      Nuxt.js provides server-side rendering, automatic routing, code organization, and pre-configured plugins. It can be used to create applications quickly and easily.

    2. Django

      1. Django Rest Framework
    3. Salesforce API

    4. CSS (Cascading Style Sheets)

    5. Node.js

    6. TypeScript

    7. JavaScript

    8. React Native

      1. Set up
    9. Unity

      1. Introduction to Unity Basics
      2. How to Organize Unity Projects
      3. A Beginner's Guide for Unity UI Design
      4. Unity ML Agents Tutorial
      5. Unity 2D Top-down Character Controller Tutorial
    10. Python

      1. Pythonic iteration patterns
    11. Debugging in Python

    12. Spring

      1. Learning Spring Data JPA
    13. TinyMCE API with ReactJS

    14. SQL

    15. TipTap

    16. Tailwind

  • Software Tools

    1. Git
      1. Git Workflows
    2. VS Code
  • Software Engineering

    1. Methodologies & Frameworks
      1. Agile
        1. Scrum
          1. User Stories
        2. Kanban
        3. XP
      2. Waterfall
  • Task management software

    1. Linear.app
    2. Jira
    3. GitHub Projects
  • Development Process

    1. GitFlow
      1. Stash
      2. Retrieve Lost Commits
      3. Revert Single File From Commit
      4. Revert Multiple File From Commit
    2. Trunk-based Development
    3. Coding Standards
    4. Pull-requests
      1. Update Pull-requests
    5. DevOps
      1. Automated Testing
        1. Unit testings
        2. Integration testing
        3. API testing
      2. Build tools
        1. Maven
        2. Gradle
      3. Build requirements
        1. requirements.txt
        2. packages
        3. CMakeLists.txt
      4. Deployment
        1. Heroku
        2. AWS
          1. Django Project Deployment: AWS, Vercel and Railway
        3. Firebase
        4. Digital Ocean
        5. Software development best practices:
        6. Vercel Frontend Deployment (Automated)
    6. Designer Patterns
    7. Clean Coding
      1. Choose a coding style and stick to it
    8. SOLID Principles
    9. Code Smells
    10. QA testing
    11. Introduction to Conda (Python)
  • Professionalism

    1. Customer engagement
      1. Meeting best practices
      2. Progress Updates
    2. Communication
      1. Asking questions
        1. Hi everyone, I am working on ____, and I am stuck on ____. I tried ____, it didn’t work because _____. I also tried _____, and it didn’t work because ____. I am assuming _____ and ____. Does anyone have any hints as to what might be wrong?
    3. Presentations
  • User Experience

    1. Overview
    2. Areas of User Experience
    3. Helpful Courses
    4. User Experience Orientated Games
  • Product Management

    1. Beginner's guide to product management and becoming a successful product manager with case studies.
    2. Creating A Product Development Strategy
  • Other useful resources

  • Teamwork

    1. Effective Leadership