Software Engineering is concerned primarily with the systematic and disciplined approach to developing software systems. It requires the application of both computer engineering and computer science principles and practices to the creation, operation, and maintenance of software systems and applications. Software systems are becoming increasingly complex, and emerging technologies are pushing the boundaries of reusable components and software quality assurance. The growth of software use in all areas and aspects of everyday life has increased over the past decades and has now become an integral part of society. The reliance on software in critical areas including infrastructure, transportation, utilities, national security, and defense has resulted in the need for properly trained and motivated individuals. ACM along with IEEE, has also indicated in their Computing Curricula 2020 (Dec 31st. 2020), that there has also been a shift away from knowledge-based learning to competency-based learning. They define competency as a combination of Knowledge (know-what) + Skills (know-how) + Disposition (know-why). This program brings together these areas using fundamental software courses to provide base knowledge, mid-level and advanced application areas with practical examples to build the competencies and the communication, intellectual, social and moral dispositions needed in this field.

This program is targeted to individuals who want to develop expertise in the latest software engineering tools and practices. The program is meant for practicing professionals who are interested in developing advanced competency in software development, software process management and programming. The applicant should have a BS degree and preferably some work experience. Applicants must meet specific admission requirements including prerequisites in Math (Calculus, Linear Algebra, Discrete Math, Probability and Statistics), Basic Science with Lab, and Computing (Engineering and Technology, Basic Computer Programming, Digital Logic with Lab). Applicants may have already taken or plan to take these courses as part of an existing BS degree.

The accelerated program has 43 credits of prerequisites, which may be part of an existing BS degree and 48 credits in the program itself, for a total of 91 credits. The remaining 30 credits are made up of a combination of General Education and elective courses.

After completing the BS degree, students in the accelerated BS program who are U.S. citizens would be eligible for federal and state financial aid available at the graduate level. Institutional financial aid would not be available to students at the undergraduate level. A course of study consisting of 48 units that can be completed in the Fall, Spring and Summer semesters (12 months) as listed.  The student will gain knowledge of important programming concepts, skills in databases, artificial intelligence and machine learning, and topical concepts such as cybersecurity. Skill sets in App Development and other tools to enable the digital revolution will also be covered. This program will not satisfy the licensure requirements for professional engineering registration.

This Program prepares students for successful careers in various software related jobs such as Software Developers, Quality Assurance Analysts, Computer Programmers, Web Developers, Database Administrators, Information Security Analyst and Testers. This program will not satisfy the licensure requirements for professional engineering registration.

Domain Areas

The program includes optional additional domain area concentrations as a guide for elective selection. These allow students to gain more depth in various domain areas of interest by taking advanced undergraduate courses in these areas. Each concentration provides courses that students should take to further their competency in the selected domain area. The domain area concentrations are Artificial Intelligence and Cybersecurity.

*Financial Aid for this program may be limited. Contact the Office of Student Financial Assistance and Employment for further assistance.

Curriculum Requirements

Required Engineering Courses
ECE 212Processors: Hardware, Software, and Interfacing3
ECE 218Data Structures3
ECE 318Algorithms3
ECE 322Systems Programming3
ECE 368Internet Computing I3
ECE 376Introduction to Cybersecurity3
ECE 412Software Engineering and Architecture3
ECE 413Software Design and Verification3
ECE 421Computer Operating Systems3
ECE 467Database Design and Management3
ECE 470Network Client-Server Programming3
ECE 481Senior Project I1
ECE 482Senior Project II2
Software Engineering Technical Electives and/or Concentrations12
SE Technical Electives
300 Level and above ECE or CSC courses with approval of the Undergraduate Program Director. Two electives may also be taken from CIM412, CIM413, CIM422, CIM443, CIM453.
Artificial Intelligence Concentration (12 credit hours)
Principles of Artificial Intelligence
Machine Learning
Neural Networks
Cybersecurity Concentration (12 credit hours)
Communication Networks
Internet and Intranet Security
Mobile Computing
Total Credit Hours48

Sample Plan of Study

Note: The sample plan assumes that applicants have met admission requirements including prerequisites in Math (Calculus, Linear Algebra, Discrete Math, Probability and Statistics), Basic Science with Lab, and Computing (Engineering and Technology, Basic Computer Programming, Digital Logic with Lab). and that applicants may have already taken or plan to take these prerequisites as part of an existing BS degree.

Plan of Study Grid
Year One
FallCredit Hours
ECE 212 Processors: Hardware, Software, and Interfacing 3
ECE 218 Data Structures 3
ECE 322 Systems Programming 3
ECE 368 Internet Computing I 3
ECE 376 Introduction to Cybersecurity 3
ECE 412 Software Engineering and Architecture 3
ECE 481 Senior Project I 1
 Credit Hours19
ECE 318 Algorithms 3
ECE 413 Software Design and Verification 3
ECE 421 Computer Operating Systems 3
ECE 467 Database Design and Management 3
ECE 482 Senior Project II 2
ECE 470 Network Client-Server Programming 3
SE Technical Elective 1 3
 Credit Hours20
SE Technical Elective 1 3
SE Technical Elective 1 3
SE Technical Elective 1 3
 Credit Hours9
 Total Credit Hours48

1. See definition of SE Technical Electives under B.S.S.E Curriculum

Program Mission

The mission of the Software Engineering Program is to produce graduates who are highly competent in the design of reliable, trustworthy, secure, and usable software systems and who can successfully apply this competency in large-scale projects in many diverse fields such as medical, transportation, manufacturing, business, industrial and military applications.

Program Educational Objectives

We expect that the alumni of the Software Engineering Program will exhibit the following:

  1. Successful careers in dynamic and multidisciplinary fields with the ability to apply software engineering practices within societal, global, and environmental contexts in an ethical manner.
  2. Demonstrating life-long learning through activities such as completion of graduate degrees and/or professional development.

Student Learning Outcomes

  1. An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics.
  2. An ability to apply engineering design to produce solutions that meet specified needs with consideration of public health, safety, and welfare, as well as global, cultural, social, environmental, and economic factors.
  3. An ability to communicate effectively with a range of audiences.
  4. An ability to recognize ethical and professional responsibilities in engineering situations and make informed judgments, which must consider the impact of engineering solutions in global, economic, environmental, and societal contexts.
  5. An ability to function effectively on a team whose members together provide leadership, create a collaborative and inclusive environment, establish goals, plan tasks, and meet objectives.
  6. An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions.
  7. An ability to acquire and apply new knowledge as needed, using appropriate learning strategies.