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. Django
      1. Django Rest Framework
  • Software Tools

    1. Git
      1. Git Workflows
  • Software Engineering

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

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

    1. GitFlow
    2. Trunk-based Development
    3. Coding Standards
    4. Pull-requests
    5. DevOps
      1. Automated Testing
        1. Unit testings
        2. Integration testing
      2. Build tools
        1. Maven
        2. Gradle
      3. Build requirements
        1. requirements.txt
        2. packages
      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
  • 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
  • Product Management

    1. Beginner's guide to product management and becoming a successful product manager
  • Other useful resources

  • Teamwork