Creativity by Design
The development of software programs and applications is growing exponentially. Our graduates work on the edge of discovery in this evolving and growing field. Students focus on the history and principles of software engineering, data analysis and problem solving, ethical problems and issues, concepts of quality assurance and proficiency with state-of-the-industry technology.
Through a collaboration of MCB and the College of Natural and Health Sciences, students majoring in Software Engineering have access to UNC’s Applied Networking Lab, which provides students with opportunities across all platforms, thanks to academic partners like Adobe, Microsoft, Oracle and IBM.
Our Program Objectives are that by the time of graduation the students will:
- Be effective communicators.
- Be aware of professional ethics and the software engineering code of conduct.
- Be knowledgeable about the scientific method and its application to software tasks.
- Have a professional level of technical knowledge about the field and a commitment to its continued upkeep.
- Be able to effectively work in teams to complete project tasks.
- Be aware of the multi-cultural issues that impact software engineering tasks.
- Be knowledgeable of the foundations of software engineering and its application to current practice.
Student Learning Outcomes (SLOs)
The Student Learning Outcomes (SLOs) are that students acquire:
- An ability to apply knowledge of mathematics, science, and engineering
- An ability to design and conduct experiments, as well as to analyze and interpret data
- An ability to design a system, component, or process to meet desired needs within realistic constraints such as economic, environmental, social, political, ethical, health and safety, manufacturability, and sustainability
- An ability to function on multidisciplinary teams
- An ability to identify, formulate, and solve engineering problems
- An understanding of professional and ethical responsibility
- An ability to communicate effectively
- The broad education necessary to understand the impact of engineering solutions in a global, economic, environmental, and societal context
- A recognition of the need for, and an ability to engage in life-long learning
- A knowledge of contemporary issues
- An ability to use the techniques, skills, and modern engineering tools necessary for engineering practice.
Master Course Syllabi
BACS180: Introduction to Software Engineering
BACS200: Web Design and Development for Small Business
BACS287: Graphical Interface Programming
BACS300: Information Systems
BACS350: Intermediate Web Development
BACS380: Networking and Data Communications Systems
BACS382: TCP/IP Network Security
BACS383: User Interface Design & Development
BACS385: Fundamentals of Project Management
BACS387: Object Oriented System Development
BACS485: Database Management Systems
BACS487: Systems Analysis and Design
BACS488: Senior CIS Project
BACS492: Internship in Computer Information Systems
CS102: Structured Programming
CS200: Object-Oriented Analysis, Design, & Programming
CS301: Algorithms and Data Structures
CS302: Programming Languages
CS350: Software Engineering I
CS440: Operating Systems
CS497: Senior Project
"With an awesome variety of courses, the Software Engineering program allows students to explore their different areas of interest. I have been able to take courses in web design and graphical interface programming, as well as networking and information systems. I believe the variety of courses offered within this program will help prepare me for a great career after graduation. The instructors are incredible mentors and advisors. I feel very proud to be a software engineering student at UNC!"
- Cristin DiCesare, Class of 2016