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. The Software Engineering Option of the Bachelor of Science in Computer Engineering degree at the University of Miami is a unique interdisciplinary program developed and administered collaboratively by the Department of Electrical and Computer Engineering and the Department of Computer Science.

This Option prepares students for successful careers in software engineering. Software systems are becoming increasingly complex, and emerging technologies are pushing the boundaries of reusable components and software quality assurance. To prepare students to meet these challenges, this Option establishes a solid foundation of software system fundamentals, coupled with strong hands-on experience and an understanding of professional practice and conduct.

In addition to the core curriculum in software engineering, students are introduced to the paradigms of real-time, adaptive, and collaborative software systems, through a wide range of technical elective courses from both the Department of Electrical and Computer Engineering and the Department of Computer Science. Students may also use courses from other departments with academic advisor approval. The technical electives allow students to apply the knowledge they have gained to different application areas. This provides valuable hands-on experience in contemporary application areas, which enhances the students’ potential career development opportunities.

Students pursuing the Software Engineering Option of the Bachelor of Science in Computer Engineering degree must earn at least 15 credit hours in Computer Science as part of their degree requirements.

Curriculum Requirements 

Common Engineering Requirements
ECE 111Introduction to Engineering I3
ECE 112Introduction to Engineering II2
ECE 118Introduction to Programming3
ECE 201Electrical Circuit Theory3
ECE 202Electronics I3
ECE 203Electrical Circuits Laboratory1
ECE 211Logic Design3
ECE 212Processors: Hardware, Software, and Interfacing3
ECE 218Data Structures3
ECE 315Digital Design Laboratory1
ECE 316Structured Digital Design1
ECE 318Algorithms3
ECE 322Systems Programming3
ECE 414Computer Organization and Design3
ECE 417Embedded Microprocessor System Design3
ECE 481Senior Project I1
ECE 482Senior Project II2
Engineering and Technical Electives
ECE 412Software Engineering and Architecture3
ECE 413Software Design and Verification3
ECE 421Computer Operating Systems3
or CSC 421 Principles of Computer Operating Systems
ECE 467Database Design and Management3
or CSC 423 Database Systems
ECE 470Network Client-Server Programming3
SE Technical Electives9
Other Courses
Computer Science Credit Hours
CSC 317Data Structures and Algorithm Analysis3
CSC 419Programming Languages3
Math & Basic Science Credit Hours
ECE 310Introduction to Engineering Probability3
MTH 151Calculus I for Engineers5
MTH 162Calculus II4
MTH 210Introduction to Linear Algebra3
MTH 309Discrete Mathematics I3
PHY 221University Physics I3
PHY 222University Physics II3
or PHY 223 University Physics III
PHY 224University Physics II Lab1
or PHY 225 University Physics III Lab
Basic Science Elective3
Basic Science Elective + Lab4
General Education Credit Hours
ENG 105English Composition I3
ENG 107English Composition II: Science and Technology3
Arts and Humanities Cognate9
People and Society Cognate9
Total Credit Hours127

Suggested Plan of Study 

Plan of Study Grid
Freshman Year
FallCredit Hours
ECE 111 Introduction to Engineering I 3
ECE 118 Introduction to Programming 3
ENG 105 English Composition I 3
MTH 151 Calculus I for Engineers 5
 Credit Hours14
ECE 112 Introduction to Engineering II 2
ECE 218 Data Structures 3
ENG 107 English Composition II: Science and Technology 3
MTH 162 Calculus II 4
PHY 221 University Physics I 3
 Credit Hours15
Sophomore Year
ECE 211 Logic Design 3
ECE 318 Algorithms 3
MTH 210 Introduction to Linear Algebra 3
PHY 222 or 223 University Physics II
or University Physics III
PHY 224 or 225 University Physics II Lab
or University Physics III Lab
Arts and Humanities Cognate 1 3
 Credit Hours16
ECE 201 Electrical Circuit Theory 3
ECE 212 Processors: Hardware, Software, and Interfacing 3
ECE 310 or IEN 310 Introduction to Engineering Probability
or Introduction to Engineering Probability
ECE 315 Digital Design Laboratory 1
MTH 309 Discrete Mathematics I 3
People and Society Cognate 1 3
 Credit Hours16
Junior Year
ECE 202 Electronics I 3
ECE 203 Electrical Circuits Laboratory 1
ECE 322 Systems Programming 3
ECE 412 Software Engineering and Architecture 3
ECE 414 Computer Organization and Design 3
Arts and Humanities Cognate 1 3
 Credit Hours16
ECE 316 Structured Digital Design 1
ECE 413 Software Design and Verification 3
ECE 421 or CSC 421 Computer Operating Systems
or Principles of Computer Operating Systems
ECE 467 or CSC 423 Database Design and Management 2
or Database Systems
Basic Science Elective 1 3
Basic Science Lab Elective 1 1
People and Society Cognate 1 3
 Credit Hours17
Senior Year
ECE 417 Embedded Microprocessor System Design 3
ECE 481 Senior Project I 3 1
CSC 317 Data Structures and Algorithm Analysis 3
SE Technical Elective 1 3
Basic Science Elective  
Arts and Humanities Cognate 1 3
 Credit Hours13
ECE 470 Network Client-Server Programming 3
ECE 482 Senior Project II 2
CSC 419 Programming Languages 3
SE Technical Elective 1 3
SE Technical Elective 1 3
People and Society Cognate 1 3
 Credit Hours17
 Total Credit Hours124


The mission of the Department of Electrical and Computer Engineering is to achieve and maintain, through a continuous improvement process, excellence in undergraduate and graduate education, research, and service to the community and the nation. We endeavor to accomplish this by providing high-quality education and research programs which will impart the requisite knowledge and skills to our students enabling them to assume leadership roles in contributing to the advancement of the underlying electrical and computer engineering technologies which sustain the current world economy, to promote a strong commitment to life-long learning, to prepare them for a variety of alternative career paths and to participate as responsible citizens in a rapidly changing and shrinking global community.

Program Educational Objectives

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

  1. Successful careers in dynamic and multidisciplinary fields with the ability to apply computer 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.