Software Engineering (SENG), Bachelor of Science

At Dunwoody College of Technology, The Software Engineering Bachelor of Science degree prepares students to work as software engineers, ready to design, create, and manage today’s complex data-driven software systems.

Graduates can find employment in software-related positions in a broad range of industries including manufacturing, medical, financial, consumer, military, retail, government, nonprofit, and energy.

Today's software engineers confront an ecosystem that generates an immense amount of data due to the Internet of Things (IoT) and industrial, enterprise, and consumer processes and initiatives. The result is that software engineers are tasked with collecting, storing, managing, analyzing, transforming, and using data coming in from everywhere.

The degree's coursework focuses on design, problem solving, and collaboration through applying engineering principles to software solutions. Specific areas of study include data architecture, data analytics, cloud computing, devices/IoT, networking, application design, software product lifecycle, security, algorithms, automation, machine learning, and AI.

Students work in a project-integrated environment that reinforces theoretical concepts through extensive hands-on activities. They also have access to various on-campus maker spaces, allowing them to not only dream about their ideas, but also implement and improve them.

Arts & Sciences courses are completed alongside the engineering coursework, helping students understand the core mathematical and scientific principles that all engineering projects grow out of. They also help students develop the communication and critical thinking skills and cultural and business competencies required to succeed in the profession.

The degree culminates in a senior project, which provides students the opportunity to round out their professional portfolio.

Credential Earned: BS
Length of Program: 4 years (8 semesters)
Classes Offered: Day
Available Starts: Fall Semester
  • An ability to apply knowledge of math, science, and software engineering as well as collect, analyze, and interpret data.
  • The ability to analyze, design, and manage the development of a computing-based system, component or process to meet desired needs within realistic constraints in one or more application domains.
  • An ability to function on multidisciplinary teams.
  • An ability to identify, formulate, and solve software engineering problems using a well-defined engineering process.
  • Demonstrate understanding of professional and ethical responsibility.
  • Display a commitment to on-going professional competence and possession of basic professional and organizational success skills.
  • Engage in lifelong learning.
  • The ability to communicate effectively with colleagues, customers, and executives.
  • Demonstrate an understanding of the role and impact software engineering plays in business, global, economic, environmental, and societal contexts.
  • Apply appropriate tools such as discrete mathematics, probability and statistics, and other relevant tools in computer science and supporting disciplines to complex software systems.
  • Display the ability to think critically, clearly identifying and using evidence, criteria, and values in decision making process.
General Requirements
CHEM2110Chemistry with Lab4
ECON1000Introduction to Micro & Macro Economics3
MATH1700Pre Calculus3
MATH1811Calculus I4
MATH1821Calculus II4
MATH2260Probability & Statistics4
MATH2830Discrete Math & Linear Algebra3
PHYS1800Physics I with Lab4
WRIT2010Technical Writing3
Humanities Electives3
Mathematics/Natural Sciences Electives4
Social Science Electives3
Technical Requirements
ENGR1110Introduction to Engineering3
ENGR1210Introduction to Programming3
ENGR1220Intro to Automation, Mfg, Elec Dev & Sys3
ENGR1230Networking, Data Security for Engr4
ENGR3110Project Management3
ENGR3120Engineering Economics2
ENGR4110Engineering Ethics & Safety2
SENG1210Programming I4
SENG2200Business Requirements & Analysis3
SENG2210Software Design4
SENG2220Computer Organization3
SENG2230Programming II3
SENG3110Software Testing3
SENG3120Software Process Improvement3
SENG3210Software Architecture3
SENG3230Human-Computer Interaction3
SENG3400Operating Systems3
SENG3310Database Systems4
SENG3400Operating Systems3
SENG4111Senior Project I2
SENG4210Senior Project II3
SENG4310Security I3
SENG4320Security II3
Technical Elective
Choose any upper division technical courses9
Total Credits124

The following sample academic plan demonstrates how a student's schedule might look on a semester-by-semester basis, including elective courses. Your actual degree plan may differ from this sequence, depending on whether you start in the fall or spring semester, what transfer credits you may have (if any), and which Arts & Sciences courses and electives you take and when you take them.

The sample academic plan is for informational purposes only. To determine your academic plan, please meet with an academic advisor.

Plan of Study Grid
First Year
ENGR1110 Introduction to Engineering 3
ENGR1210 Introduction to Programming 3
CHEM2110 Chemistry with Lab 4
MATH1700 Pre Calculus 3
WRIT2010 Technical Writing 3
 Total Credits16
Plan of Study Grid
First Year
ENGR1220 Intro to Automation, Mfg, Elec Dev & Sys 3
SENG1210 Programming I 4
MATH1811 Calculus I 4
PHYS1800 Physics I with Lab 4
 Total Credits15
Plan of Study Grid
Second Year
ENGR1230 Networking, Data Security for Engr 4
SENG2200 Business Requirements & Analysis 3
SENG2230 Programming II 3
MATH1821 Calculus II 4
SPCH1000 Speech 3
 Total Credits17
Plan of Study Grid
Second Year
SENG2210 Software Design 4
SENG2220 Computer Organization 3
MATH2830 Discrete Math & Linear Algebra 3
MATH2260 Probability & Statistics 4
 Total Credits14
Plan of Study Grid
Third Year
ENGR3120 Engineering Economics 2
SENG3110 Software Testing 3
SENG3120 Software Process Improvement 3
SENG3400 Operating Systems 3
Technical Elective 3
ECON1000 Introduction to Micro & Macro Economics 3
 Total Credits17
Plan of Study Grid
Third Year
ENGR3110 Project Management 3
SENG3210 Software Architecture 3
SENG3230 Human-Computer Interaction 3
SENG3300 Data Introduction 3
Technical Elective 3
 Total Credits15
Plan of Study Grid
Fourth Year
SENG3310 Database Systems 4
SENG4111 Senior Project I 2
SENG4310 Security I 3
Technical Elective 3
Humanities Elective 3
 Total Credits15
Plan of Study Grid
Fourth Year
ENGR4110 Engineering Ethics & Safety 2
SENG4210 Senior Project II 3
SENG4320 Security II 3
Natural Science/Mathematics Elective 4
Social Sciences Elective 3
 Total Credits15


ENGR1110 | Introduction to Engineering | Lecture (3 Credits)

Explore major topics in Engineering. Provides a pathway to success in the School of Engineering programs, including time management, industry software, study skills, teamwork skills, internship availability and career opportunities. This course must be taken at Dunwoody for the Industrial Engineering Technology Degree.

ENGR1210 | Introduction to Programming | Lec/Lab (3 Credits)

Examine and implement computational problem-solving strategies using computer languages to solve engineering problems. Develop algorithms and translate solutions into computer programs. Distinguish differences in programming languages and software tools with applicability to different types of problem solutions. Apply modular design and clear documentation for efficient problem solving.

ENGR1220 | Intro to Automation, Mfg, Elec Dev & Sys | Lec/Lab (3 Credits)

Apply PLCs and electronic components to design and troubleshoot automated industrial equipment. Topics include AC and DC motors, programming, sensors and basic circuit analysis techniques for design, analysis, and programming of control systems.

ENGR1230 | Networking, Data Security for Engr | Lec/Lab (4 Credits)

Explore data communications, cybersecurity, and Internet of Things (IoT) in a connected world. Explain computer networking concepts with data security in mind. Identify security concepts and security audit processes as well as career opportunities in connectivity/networking/security disciplines.

ENGR3110 | Project Management | Lec/Lab (3 Credits)

Examine the methods and tools used for effective management of engineering projects. Topics include the analytical methods used to budget, schedule, and control projects, as well as risk management, team leadership, and communication.

ENGR3120 | Engineering Economics | Lecture (2 Credits)

Economic analysis of engineering decisions under uncertainty. Concepts include time value of money, cash flow estimation, rate of return analysis, net present value estimation, and asset evaluation. Applications include comparing different project alternatives accounting for heterogeneity in cost, revenue, taxation, depreciation, inflation, and risk.

ENGR4110 | Engineering Ethics & Safety | Lecture (2 Credits)

Interpret the connection between personal morality, the role of engineers and engineering in society, and relationship to one's employer. Case studies involving conflicts within these roles are reviewed and evaluated. Interpret safety and accident information to develop a basic understanding of needed safety protocols in a variety of engineering environments.

SENG1210 | Programming I | Lec/Lab (4 Credits)

Develop a base level of proficiency in Python and Java programming languages employing simple and moderately complex data structures and algorithms. A range of programming concepts will be covered, including classes, objects, primitives, inheritance, encapsulation, abstraction, polymorphism, and interfaces.

Prerequisite(s): ENGR1210

SENG2200 | Business Requirements & Analysis | Lec/Lab (3 Credits)

Software and related technologies must meet the requirements of the stakeholders and the domain for whom the solution is built or configured. Examine scope definition, business, stakeholder and solution requirement definition, select business analysis modeling techniques, the relationship of business requirements and analysis to software design and testing, and a range of methodologies, techniques and approaches.

SENG2210 | Software Design | Lec/Lab (4 Credits)

Designing software with long-term software quality. Software quality attributes, domain-driven design, software design patterns, and documentation.

SENG2220 | Computer Organization | Lec/Lab (3 Credits)

Develop basic knowledge of machine level architecture, microprocessors, instruction sets, the hardware/software interface, and machine representations of programs and data. Examine the influence of the underlying hardware system on the design of systems software such as operating systems, compilers, assemblers, and linkers and loaders using the Intel x86 and AtMEGA328P systems as examples.

Prerequisite(s): SENG1210

SENG2230 | Programming II | Lec/Lab (3 Credits)

Advanced concepts in enterprise application development in the areas of web application frameworks, data driven applications, and advanced development such as machine learning are examined and applied.

Prerequisite(s): SENG1210

SENG3110 | Software Testing | Lec/Lab (3 Credits)

Investigate testing methodologies. Tools and techniques in automated testing. Creation of documentation at all stages of testing.

SENG3120 | Software Process Improvement | Lec/Lab (3 Credits)

Assessment and improvement of the software development process. Techniques and tools related to each software development life cycle model and stage. Issues include those related to development and maintenance, quality, safety, security assurance, and project management. Quality assurance processes and techniques, ISO9000 and Software Engineering Institute Capability Maturity Model integration.

SENG3210 | Software Architecture | Lec/Lab (3 Credits)

Architecture of large-scale software systems. Architectural patterns, software quality, documentation of scenarios. Presentation to management for project funding and go-no go decision making. Reusable component design and development. Explanation to design and development personnel.

SENG3220 | Software Project Management | Lec/Lab (3 Credits)

Planning, organization, estimation, risk management. Traditional and emerging software development life cycle models. Tools and techniques for management software projects.

SENG3300 | Data Introduction | Lec/Lab (3 Credits)

Accelerated beginning course in data usage and management including language syntax, document model, document types, schemas and stylesheets from EXtensible Markup Language (XML) with a focus on creating structured content and data for business application.  Integration of relational database concepts and design of database management systems for enterprise information needs.  Data modeling with Unified Modeling Language (UML) and Structured Query Language (SQL) used for data definition to construct physical databases, for data manipulation and for data computation.

SENG3310 | Database Systems | Lec/Lab (4 Credits)

Accelerated course in data management. Database server technology for enterprise-class data services and complex business logic. Server architecture, data integrity, data types, indexing, constraints, stored procedures, database schemas, normalization, data warehouses, data mining, data cubes. Structured Query Language, database normalization, database management systems (DBMS), implementation-independent database design, and security.

Prerequisite(s): SENG3300

SENG3400 | Operating Systems | Lec/Lab (3 Credits)

Analyze the purpose of operating systems. Topics include: elements of operating systems, memory and process management, interactions among major components of a computer system, the effects of computer architecture on operating systems, and an examination of how different operating systems (desktop, server, mobile, real-time) impact Software Design.

Prerequisite(s): SENG2220 Or BCSA3100

SENG4111 | Senior Project I | Capstone (2 Credits)

End-to-end project exhibiting all skills related to the profession. Focus is on requirements elicitation, scheduling, planning, reviews and postmortem, configuration management, and implementation of the project.

SENG4210 | Senior Project II | Capstone (3 Credits)

End-to-end project exhibiting all skills related to the profession. Focus is on requirements elicitation, scheduling, planning, reviews and postmortem, configuration management, and implementation of the project.

Prerequisite(s): SENG4111 Or SENG4110

SENG4310 | Security I | Lec/Lab (3 Credits)

Integration of data and users with an emphasis on security will be used in client/server, Internet, intranet/extranet, and other technologies. Review state-of-the-art technologies in each of the basic software and hardware arenas, while emphasizing management models and higher-level analysis using the computer.

SENG4320 | Security II | Lec/Lab (3 Credits)

Explore fundamental and emerging concepts of computer security.  Topics include: maintaining information confidentiality, protecting information integrity, assuring information availability, physical, technical, application, and Internet security, social engineering and associated attacks.

School of Engineering Policies

General Applicability

While college faculty will provide you with information and advice, it is your responsibility to understand and comply with all policies and to complete satisfactorily all degree requirements within the allotted time frame. This includes the responsibility to track your completion of major, university and campus requirements, as well to comply with residence, minimum progress and scholarship requirements.

For details, you should refer to the college’s academic policies.

Please note that you are subject to current policies and regulations, regardless of your admission date.

Admission to Dunwoody School of Engineering

Your admission into the Dunwoody School of Engineering is also an admission into the engineering program you have selected.  Your completion of this degree requires your compliance with stated degree requirements and academic good standing.

Applicability of Academic Plan

Normally the Academic Plan that you will follow is the plan year that you have entered under.  However with program evolution we reserve the right to move you to a newer academic plan resulting from an evolution of the program.  This change will not delay your graduation or cost you more than your original plan if you remain in academic good standing and take courses when offered. 

In the event that you do not maintain continuous enrollment, your academic plan may be changed to your new admission date.

In the event of part time enrollment, academic plans will be valid for only 6 years.

School of Engineering Student Success Monitoring

The School of Engineering strives to motivate and empower students to complete courses of study leading to degrees in Electrical, Mechanical, Software Engineering and Industrial Engineering Technology.  The program of study in each of these disciplines is cumulative in nature, that is, content is intended to build upon content learned in earlier semesters.

Student academic progress must consider the level to which students have successfully mastered earlier concepts in determining if a student is making adequate progress in their chosen field of study.

Students will be determined to be making adequate progress toward degree completion if they are following the recommended program of study and are achieving grades of C or better in all of their courses each semester.

A student who is following the recommended program of study who receives a grade of less than a C in any technical or School of Engineering course will be required to meet their Academic Coordinator to review their study skills and to develop a plan for enhanced Academic Achievement for the next semester.  This grade of less than C may result in an adjustment of the next semester schedule to support needed prerequisites or remedial measures.

Any student who is following the recommended program of study who receives two or more grades of C or lower in technical or School of Engineering courses will be required to meet with their Academic Coordinator and the School of Engineering Dean to determine appropriate next steps. 

Any student who is not following the program of study defined by the Academic Plan will be required to meet with the Academic Coordinator each semester to ensure that they are registered for the appropriate courses.

Because of the cumulative nature of the Engineering program courses, no more than two passing grades of less than C will be allowed to count toward graduation.  The final design experience(s) in all programs must be completed with a grade of no less than C.