Major in Software Engineering (BSc)
Software engineering is the application of engineering concepts, techniques and methods to the development of mission-critical software systems. The software engineering major builds on the computer science major with advanced course work in software architecture and design, software metrics, verification and validation, requirements analysis and specification and the software engineering process. The goal of our software engineering program is to develop technical professionals who can develop and deliver software systems that are reliable, cost effective and adaptable to developing country environments. Computer science supplies the theoretical and technical basis in the fundamentals of computing in such areas as principles of programming, algorithms, data structures, databases and programming languages.
Graduates of our software engineering program will be prepared for careers requiring skills in the design, implementation and requirements analysis and product and process measurement and will be able to contribute hugely in any software development project with flexible roles.
Graduates of the AUN Software Engineering program are expected to be ready for the growing software & IT industry. Some of the possible job titles our graduates can expect to hold include:
- Systems Analyst
- Software Developer
- Web Developer
- Software Consultant
- Systems Administrator(DBA,network administrator, deployer)
- Software Consultant
- Software Engineer
- Systems Architect
- Information Technology Specialist
- IT Project Manager
- Systems Engineer
- IT Director
The ubiquitous nature of computing in everyday life and other professions means that software engineering graduates can today pursue careers in just about any area of human endeavor. Some examples include: using technology to connect rural communities, computational biology and chemistry, financial computing, scientific computing, etc.
Like the Computer science graduates, software engineering graduates may also opt to further their studies in software engineering and related disciplines such as IT, Information Systems, the emerging application fields of computing such as Financial Computing, Bio-Informatics, Computing Chemistry and the closely related but more general engineering field of Systems Engineering.
However, it's important to note that this major is better suited for students preparing for industry careers in software engineering and hence does not particularly prepare students well for research oriented graduate studies.
In addition to the General Education requirements, Software Engineering majors are required to successfully complete the courses listed below:
- CIE 105: Principles of Programming I (3)
- CIE 106: Principles of Programming II (3)
- CIE 231: Introduction to Databases, Web Technologies & Applications (3)
- CIE 302: Principles of Operating Systems (3)
- CIE 321: IT Project Management (3)
- CSC 202: Data Structures & Algorithms (3)
- CSC 213: Discrete Structures (3)
- CSC 214: Logic in Computer Science (3)
- CSC 232: Computer Organization & Architecture (3)
- CSC 384: Principles of Database Systems (3)
- SEN 301: Introduction to Software Engineering (3)
- SEN 306: Object-Oriented Software Construction (3)
- SEN 312: User Interface Design (3)
- SEN 400: Software Engineering Professional Ethics (3)
- SEN 405: Software Requirements Analysis &Specification (3)
- SEN 406: Technical Report Writing (3)
- SEN 415: Software Testing & Quality Assurance (3)
- SEN 416: Software Design & Architecture (3)
- SEN 490: Software Engineering Capstone Project (3)
Software Engineering majors are also required to successfully complete the following seven (7) courses (23 credits) outlined below:
- PHY 131: College Physics I (4)*
- PHY 132: College Physics II (4)*
- MAT210: Calculus I (3)^*(formerly MAT 121)
- MAT211: Calculus II (3) (formerly MAT 210)
- MAT 312: Linear Algebra (3) (formerly MAT 212)
- ECO 101: Introduction to Economics (3)*
- STA 301: Probability& Statistics II (3)*
After initial assessment (i.e. Freshman Math Placement Exam), students may be required to begin with Precalculus or University Algebra. Software Engineering majors who are placed in University Algebra are strongly recommended to complete a CIE 101 (Programming Logic). This course (CIE 101) will prepare students for the rigorous coursework required in the degree program.
*These courses can be used to satisfy both major and general education requirements. Prerequisites are strictly enforced.
Software Engineering students should consult with their academic advisors in selecting elective courses that will augment their program of study and their preparation for careers. Students may choose any two (2) from the following list as major advised electives (6 credit hours). Additionally, Software Engineering students are encouraged to use most of their free elective credits to specialize further in a specific area of software engineering.
- CIE 101: Programming Logic & Design (3)
- SEN 321: Formal Method of Specification in Software Engineering (3)
- SEN 408: Software Engineering Processes (3)
- SEN 469: Software Testing: Verification & Validation (3)
- SEN 470: Engineering Economics (3)
- SEN 474: Principles of Information Systems Design (3)
- SEN 478: Engineering of Software Sub-Systems (3)
- CSC 456: Design of Web-based Systems (3)
- CSC 453: Advanced Database Systems (3)
- CSC 465: Artificial Intelligence (3)
- CSC 470: Numerical Analysis (3
- CSC 485: Advanced Object-Oriented Analysis (3)
- MAT 310: Calculus III (3) (formerly MAT 211)