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 identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics.
  • 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.
  • An ability to communicate effectively with a range of audiences.
  • 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.
  • 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.
  • An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions.
  • An ability to acquire and apply new knowledge as needed, using appropriate learning strategies.
General Requirements
CHEM2110Chemistry with Lab4
ECON1000Introduction to Micro & Macro Economics3
MATH1811Calculus I4
MATH1821Calculus II4
MATH2260Probability & Statistics4
MATH2830Discrete Math3
PHYS1800Physics I with Lab4
PHYS1820Physics II with Lab4
SPCH1000Speech3
WRIT2010Technical Writing3
Humanities Electives3
Natural Sciences Electives3
Social Science Electives3
Technical Requirements
EENG1210Logic & Digital Design2
EENG1220Logic & Digital Design Lab1
ENGR1110Introduction to Engineering3
ENGR1210Introduction to Programming3
ENGR1221Electrical Circuits & Automation w/ Lab4
ENGR1230Networking, Data Security for Engr4
ENGR2210Mechatronics with Lab2
ENGR3120Engineering Economics2
SENG1210Application Development I4
SENG1310Data Fundamentals3
SENG2200Business Requirements & Analysis3
SENG2210Software Design4
SENG2240Connected Devices Development I3
SENG2310Data Architecture3
SENG2230Application Development II3
SENG3110Software Testing3
SENG3210Distributed Systems Design3
SENG3400Operating Systems3
SENG3120Software Development Lifecycle3
SENG3230Human-Computer Interaction3
SENG3240Connected Device Development II3
SENG3250Distributed Systems Implementation3
SENG4111Senior Project I2
ENGR4110Engineering Ethics & Safety2
SENG4210Senior Project II3
SENG4310Security I3
SENG4320Security II3
SENG4400Data Science & Machine Learning3
Total Credits126

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 General Education 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
FallCredits
EENG1210 Logic & Digital Design 2
EENG1220 Logic & Digital Design Lab 1
ENGR1110 Introduction to Engineering 3
ENGR1210 Introduction to Programming 3
ENGR1230 Networking, Data Security for Engr 4
MATH1811 Calculus I 4
 Credits17
 Total Credits17
Plan of Study Grid
First Year
SpringCredits
ENGR1221 Electrical Circuits & Automation w/ Lab 4
SENG1210 Application Development I 4
SENG1310 Data Fundamentals 3
MATH1821 Calculus II 4
WRIT2010 Technical Writing 3
 Credits18
 Total Credits18
Plan of Study Grid
Second Year
FallCredits
ENGR2210 Mechatronics with Lab 2
SENG2200 Business Requirements & Analysis 3
SENG2210 Software Design 4
CHEM2110 Chemistry with Lab 4
PHYS1800 Physics I with Lab 4
 Credits17
 Total Credits17
Plan of Study Grid
Second Year
SpringCredits
SENG2230 Application Development II 3
SENG2240 Connected Devices Development I 3
SENG2310 Data Architecture 3
MATH2260 Probability & Statistics 4
PHYS1820 Physics II with Lab 4
 Credits17
 Total Credits17
Plan of Study Grid
Third Year
FallCredits
SENG3110 Software Testing 3
SENG3210 Distributed Systems Design 3
SENG3400 Operating Systems 3
MATH2830 Discrete Math 3
SPCH1000 Speech 3
 Credits15
 Total Credits15
Plan of Study Grid
Third Year
SpringCredits
ENGR3120 Engineering Economics 2
SENG3120 Software Development Lifecycle 3
SENG3250 Distributed Systems Implementation 3
SENG3230 Human-Computer Interaction 3
Humanities Elective 3
 Credits14
 Total Credits14
Plan of Study Grid
Fourth Year
FallCredits
SENG3240 Connected Device Development II 3
SENG4111 Senior Project I 2
SENG4310 Security I 3
SENG4400 Data Science & Machine Learning 3
ECON1000 Introduction to Micro & Macro Economics 3
 Credits14
 Total Credits14
Plan of Study Grid
Fourth Year
SpringCredits
ENGR4110 Engineering Ethics & Safety 2
SENG4210 Senior Project II 3
SENG4320 Security II 3
Natural Science Elective 3
Social Sciences Elective 3
 Credits14
 Total Credits14

Descriptions

EENG1210 | Logic & Digital Design | Lecture (2 Credits)

Introduction to logic gates and state machines. The foundations of number systems and binary logic are implemented using logic gates. Karnaugh maps are used to realize Boolean algebra, leading to combinational logic circuits. State machines such as flip-flops, counters, and registers are analyzed.

Corequisite(s): EENG1220

EENG1220 | Logic & Digital Design Lab | Laboratory (1 Credit)

Build logic circuits and state machines in a laboratory environment from scratch using components such as IC chips and breadboards. Measure inputs and outputs using oscilloscopes and logic analyzers. Explore potential uses and implementations for real world solutions. Model design with Hardware Description Language coding.

Corequisite(s): EENG1210

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.

ENGR1210 | Introduction to Programming | Lecture/Laboratory (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.

ENGR1221 | Electrical Circuits & Automation w/ Lab | Lecture/Laboratory (4 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.

Prerequisite(s): MATH1821

ENGR1230 | Networking, Data Security for Engr | Lecture/Laboratory (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.

ENGR2210 | Mechatronics with Lab | Lecture/Laboratory (2 Credits)

Analyze electrical and mechanical systems such as drives, sensors, control systems, data presentation, and communication in the context of mechatronics. Different motive forces are utilized, control systems implemented, and operating environment challenges presented. Course content is applied to real-world projects.

Prerequisite(s): ENGR1221 And PHYS1820

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 | Application Development I | Lecture/Laboratory (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

SENG1310 | Data Fundamentals | Lecture/Laboratory (3 Credits)

Beginning course in data usage and management including language syntax, document model, document types, schemas with a focus on creating structured data for business, IT, and IoT applications. Integration of relational database concepts and design of database management systems for enterprise information needs. Data modeling and Structured Query Language (SQL) used for data definition to construct physical databases, for data manipulation and for data computation. Student are required to have introductory programming experience.

Prerequisite(s): ENGR1210

SENG2200 | Business Requirements & Analysis | Lecture/Laboratory (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 | Lecture/Laboratory (4 Credits)

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

SENG2240 | Connected Devices Development I | Lecture/Laboratory (3 Credits)

Explore and implement Internet connected devices. Internet of Things (IoT) device design and implementation. Use the Raspberry Pi and a variety of sensors, actuators, networking, and programming techniques to create IoT devices. A knowledge of Python is required and prior programming experience.

Prerequisite(s): SENG1210

SENG2230 | Application Development II | Lecture/Laboratory (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

SENG2310 | Data Architecture | Lecture/Laboratory (3 Credits)

Intensive course in data architecture and management. Advanced data modeling principles. Structured Query Language, database normalization, database management systems (DBMS), implementation-independent database design, and security. 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.

Prerequisite(s): SENG1310

SENG3110 | Software Testing | Lecture/Laboratory (3 Credits)

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

SENG3210 | Distributed Systems Design | Lecture/Laboratory (3 Credits)

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

Prerequisite(s): SENG2230

SENG3120 | Software Development Lifecycle | Lecture (3 Credits)

Explore and implement concepts related to software development pipelines, tooling, and lifecycle. Traditional and emerging software development life cycle models. Techniques for managing software projects. Techniques and tools related to each software development life cycle . Issues include those related to development and maintenance, quality, safety, security assurance, and project management.

SENG3230 | Human-Computer Interaction | Lecture/Laboratory (3 Credits)

Design and evaluate interactive application interfaces, user- and task-centered approaches to design, guidelines for graphical design, interface evaluation techniques, current interface trends, including web interfaces and information visualization. Group projects that include designing, prototyping, and implementing an application interface.

SENG3240 | Connected Device Development II | Lecture/Laboratory (3 Credits)

Advanced study of Internet connected devices. Design and implement applications and services for mobile and smart devices such as smartphones, smart displays, smart speakers. The Android architecture and operating system will be primarily used. Design challenges and opportunities in the mobile/smart device market. Students must have a strong background in application development, the software lifecyle/tooling, and Operating Systems.

Prerequisite(s): SENG3400

SENG3250 | Distributed Systems Implementation | Lecture/Laboratory (3 Credits)

Implement a large scale software and data system on private and/or public cloud infrastructure. And end-to-end architecture will be implemented by student including software, data architecture, pipeline tooling, networking, etc. The student will implement the end-to-end project as a Junior year capstone, readying the student for their design project in the Senior year.

Prerequisite(s): SENG3210

SENG3400 | Operating Systems | Lecture/Laboratory (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

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 | Lecture/Laboratory (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 | Lecture/Laboratory (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.

SENG4400 | Data Science & Machine Learning | Lecture/Laboratory (3 Credits)

Advanced topics in Data Analysis, Data Science, and Machine Learning. Analyze large datasets. Implement supervised and unsupervised learning.

Prerequisite(s): SENG2230

ECON1000 | Introduction to Micro & Macro Economics | Lecture (3 Credits)

Fundamental economic issues and theories are explored through discussion and research. Current events, policy perspectives, and case studies are used to process and apply economics to everyday life.

General Education: Social Sciences

CHEM2110 | Chemistry with Lab | Lecture/Laboratory (4 Credits)

Develop a basic understanding of the central principles of chemistry that are useful to explain and predict the properties of chemical substances based on their atomic and molecular structure; promotes the development of basic and advanced science process skills.

General Education: Physical Sciences with Lab

MATH1811 | Calculus I | Lecture (4 Credits)

The fundamental tool used by engineers and scientists to determine critical measurements, such as maximums, minimums and allowable rates of change. Utilize multiple methods in the calculation and application of limits, derivatives, transcendental functions, implicit differentiation and related rates.

General Education: Mathematics

MATH1821 | Calculus II | Lecture (4 Credits)

The fundamental tool used by engineers and scientists to determine critical measurements such as the area under curves, the volumes within complex geometries, and for describing functions as an infinite series. Computer software enables the application of the definite integral, the fundamental theorem of calculus, applications of integration, and numerical methods of integration.

Prerequisite(s): MATH1811 Or MATH1812

General Education: Mathematics

MATH2260 | Probability & Statistics | Lecture (4 Credits)

Introduction to probability and statistics with applications. Topics include: basic combinatorics, random variables, probability distributions, hypothesis testing, confidence intervals, and linear regression.

Prerequisite(s): MATH1810, Or MATH1811, Or MATH1812

General Education: Mathematics

MATH2830 | Discrete Math | Lecture (3 Credits)

Examine a set of branches of math that all have in common the feature that they are “discrete” rather than “continuous”.

General Education: Mathematics

PHYS1800 | Physics I with Lab | Lecture/Laboratory (4 Credits)

Introduction to mechanics using differential calculus as a foundation. Topics include kinematics and dynamics of linear motion, static equilibrium, the conservation of energy and momentum, mechanics of solids and fluids, and thermodynamics. The laboratory portion incorporates experimentation, instrumentation, and graphical tools to verify calculations in motion, mechanics and thermodynamics.

Prerequisite(s): MATH1810, Or MATH1811, Or MATH1812

General Education: Physical Sciences with Lab

PHYS1820 | Physics II with Lab | Lecture/Laboratory (4 Credits)

An introductory calculus-based course in electromagnetic fields and their applications. Topics include: Coulomb's and Gauss' Law, electric fields and potentials, electrical and magnetic properties of matter, Ampere's and Faraday's laws, elementary DC and AC circuits, Maxwell's equations, and electromagnetic waves.

Prerequisite(s): MATH1821, Or MATH1820, And PHYS1800

General Education: Physical Sciences with Lab

SPCH1000 | Speech | Lecture (3 Credits)

Introduction to public speech making; purpose and organization, audience analysis and response, verbal and non-verbal clues.

General Education: Communications

WRIT2010 | Technical Writing | Lecture (3 Credits)

Technical writing applications are studied for format, style, voice, and point of view; considered for purpose, audience, and subject. Critical thinking and developed expertise are employed to analyze, interpret, evaluate, summarize and generate various technical documents, individually and within teams.

General Education: Communications

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 Computer, Electrical, Mechanical, or Software Engineering. 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.