design and develop the programs that run the digital world

Learn to apply engineering principles to the development of computer programs, data, and systems.


The Morehouse Software Engineering Program drives technological innovation by developing the next generation of leaders. We focus on state-of-the-art engineering methods, emergent technologies, and the solutions needed to address the construction of large-scale computer systems and software applications in the real world. Coursework is balanced between computer science theory and practical application of software engineering methodology. Specific training is provided in the areas of programming, object-oriented methodology, data structures, discrete structures, software design, software maintenance, and software testing. This program concludes with a senior capstone project aimed to imitate agile experience in a formal work environment. Students will use the skills they developed to immerse themselves in tackling complex problems that lead to groundbreaking final products.


Our graduates are skilled programmers ready for careers in software engineering. They are effective technical communicators capable of working well in groups on computing problems. They demonstrate the ability to identify, formulate, and solve engineering problems taking into consideration the impact of these solutions in global, economic, environmental, and societal contexts.

Program Educational Objectives

The program educational objectives of the Software Engineering program, at Morehouse College describe what graduates, should be expected to attain within three years of graduation.

1. Work as effective team members/leaders, aware of cultural diversity, who conduct themselves ethically and professionally in the secure development and acquisition of software systems covering a wide range of applications or that undertake graduate studies. 

2. Use effective communication and technical skills with both technical and non-technical team members, clients and customers, to solve client problems, and to assure production of quality software, on time and within budget.

3. Build upon and adapt the knowledge required to analyze complex problems, develop ethical approaches on tasks that require increased levels of self reliance, technical expertise and leadership to react to and innovate for a changing world.

We expect that these objectives will be manifested in our graduates through the following key attributes: (a) knowledge-skill expertise, (b) engagement in professional practice, (c) sustained learning, (d) leadership, and (e) teamwork.

Student Outcomes

The student outcomes describe what students are expected to know and be able to do by the time of graduation. These relate to the skills, knowledge, and behaviors that students acquire as they progress through the program. The student outcomes for the Software Engineering Program are:

1. Development of Solutions: An ability to design solutions for complex problems and design systems, components, or processes that meet specified needs with appropriate consideration for public health and safety, cultural, societal, and environmental influences.

2. Ethical Awareness: Identify and analyze technologies and their impact on organizations and society, including communication and global relationships. Apply ethical solutions to software development practices.

3. Professional Communication: Upon the completion of a course of study in Software Engineering, students will be able to demonstrate proficiency in common industry software applications and effectively explain their process, development, and overall solution.

4. Tool Usage: Students will obtain the ability to create, select and apply appropriate techniques, resources, and modern engineering tools.

5. Application: Apply proper theoretical, technical, and practical knowledge of software requirements, analysis, design, implementation, verification and validation, and documentation.

6. Team Work: An ability to work effectively as a team on multifaceted settings to solve a problem or develop a solution.

7. Software Development Environment: Students will be able to analyze a problem and use appropriate methodologies to identify the computing solutions necessary to meet the desired needs.



Study Requirements for Program

The Bachelor of Science in Software Engineering requires 45 hours of coursework in the following courses: HCSC 106 Introduction to Computer Science, HCSC 110 Computer Programming I with lab, HCSC 120 Computer Ethics and Human Values, HCSC 160 Computer Programming II with lab, HCSC 260 Computer Organization, HCSC 310 Data Structures and Algorithm Analysis, HCSC 330 Web Programming, HCSC 340 Human Computer Interaction, HCSC 4xx Software Engineering Elective, HCSC 410 Database Systems, HCSC 415 Organization of Programming Languages, HCSC 418 Full Stack Development, HCSC 435 Software Engineering, HCSC 436 Advanced Software Engineering and the HCSC 460 Senior Capstone Project.

General Education (Core)
33-48 hours

Refer to the general education requirements for more information.

Software Engineering Major
45 hours
  • HCSC 106—
    Introduction to Computer Science
  • HCSC 110—Computer Programming I with Lab
  • HCSC 120— Computer Ethics and Human Values
  • HCSC 160— Computer Programming II with Lab
  • HCSC 260— Computer Organization with Lab
  • HCSC 310— Data Structures and Algorithm Analysis
  • HCSC 330— Web Programming
  • HCSC 340— Human-Computer Interaction
  • HCSC 4xx  – Software Engineering Elective
  • HCSC 410— Database Systems
  • HCSC 415— Organization of Programming Languages
  • HCSC 418— Full Stack Development I
  • HCSC 435— Software Engineering
  • HCSC 436— Advanced Software Engineering
  • HCSC 460— Senior Capstone Project
Additional Requirements
25 hours
  • HBIO 113— Comprehensive Biology
  • HMTH 161— Calculus I
  • HMTH 162— Calculus II
  • HMTH 255— Introduction to Set Theory
  • HMTH 271— Linear Algebra
  • HMTH 341— Probability and Statistics I
  • HPHY 154— Mechanics


Kinnis Gosha
Division Chair for Experiential Learning and Interdisciplinary Studies and Hortenius I. Chenault Endowed Associate Professor
B.S., Albany State; M.S., Auburn University; Ph.D., Clemson University

David Cherry
Instructor of Software Engineering
B.S., Morehouse College; M.S., Clemson University

Renee Forney
Instructor of Software Engineering
B.S., Devry Institute of Technology; M.S., George Washington University

Tonia Gordon
Instructor of Software Engineering
B.S., Southern University; M.B.A., University of Phoenix

Perry Sweeper
Professor of Practice
B.S., Morgan State University; M.A., University of Baltimore; D.S., University of Baltimore

Cornelius Toole
Instructor of Software Engineering
B.S., Jackson State University; M.S., Jackson State University; Ph.D., Louisiana State University

Kevin Womack
Instructor of Software Engineering
B.S., Morehouse College; M.S., Columbia University

Renée Jordan
Adjunct Faculty of Software Engineering
B.A., Hood College; M.Ed., Bowie State University; M.P.P., Georgia State University; Ph.D. Georgia State University