Faculty: Engineering
Software Engineering focuses on the design, development, testing, and maintenance of software systems. Students gain skills in programming, software design, algorithms, databases, and project management, preparing for careers in software development, IT consulting, and technology management.
Learning Objectives:
- Understand the fundamentals of software engineering and the software development lifecycle.
- Develop skills in programming, software design, algorithms, and databases.
- Learn techniques for software testing, debugging, and quality assurance.
- Explore project management, team collaboration, and Agile methodologies.
- Analyze and interpret software requirements and technical specifications.
- Develop critical thinking, problem-solving, and technical skills for effective software engineering practice.
Main Curriculum:
- Introduction to Software Engineering - Overview of software engineering principles and practices.
- Programming Fundamentals - Principles of programming, including syntax, data structures, and algorithms.
- Software Design - Principles of software design, including design patterns and architecture.
- Algorithms and Data Structures - Principles of algorithms and data structures, including complexity analysis.
- Databases - Principles of databases, including design, SQL, and management systems.
- Software Testing and Quality Assurance - Principles of software testing, including unit testing and quality assurance.
- Project Management - Principles of project management, including planning and Agile methodologies.
- Human-Computer Interaction - Principles of human-computer interaction, including user interface design.
- Practical/Applied Training - Hands-on experiences in software engineering environments.
- Graduation Project - Comprehensive project applying software engineering skills.
Assessment Methods:
- Programming assignments, design projects, algorithm analysis, database projects, testing reports, project management plans, HCI studies, training reports, graduation projects, group projects, and presentations.
Recommended Textbooks:
- "Software Engineering" by Ian Sommerville.
- "Programming Fundamentals" by various authors.
- "Software Design" by various authors.
- "Algorithms and Data Structures" by various authors.
- "Databases" by various authors.
- "Software Testing and Quality Assurance" by various authors.
- "Project Management" by various authors.
- "Human-Computer Interaction" by various authors.
Prerequisites:
Basic knowledge of mathematics, logic, and fundamental computer science.
Duration:
Typically 4 years to earn a bachelor's degree.
Certification:
Graduates may obtain certifications such as Certified Software Development Professional (CSDP) or Certified Software Quality Analyst (CSQA).
Target Audience:
Aspiring software developers, IT consultants, system analysts, project managers, and technology management professionals. This major equips students with the technical, analytical, and project management skills necessary to excel in software engineering and support careers in various software development and IT roles.