Software Engineering Day1 Assignment
#Part 1: Introduction to Software Engineering
Explain what software engineering is and discuss its importance in the technology industry.
Identify and describe at least three key milestones in the evolution of software engineering.
List and briefly explain the phases of the Software Development Life Cycle.
Compare and contrast the Waterfall and Agile methodologies. Provide examples of scenarios where each would be appropriate.
Describe the roles and responsibilities of a Software Developer, a Quality Assurance Engineer, and a Project Manager in a software engineering team.
Discuss the importance of Integrated Development Environments (IDEs) and Version Control Systems (VCS) in the software development process. Give examples of each.
What are some common challenges faced by software engineers? Provide strategies to overcome these challenges.
Explain the different types of testing (unit, integration, system, and acceptance) and their importance in software quality assurance.
#Part 2: Introduction to AI and Prompt Engineering
Define prompt engineering and discuss its importance in interacting with AI models.
Provide an example of a vague prompt and then improve it by making it clear, specific, and concise. Explain why the improved prompt is more effective.