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.
Length of Program: 4 years (8 semesters)
Classes Offered: Day
Available Starts: Fall Semester
- EAC 1: An ability to identify, formulate, and solve complex engineering problems by applying principles of engineering, science, and mathematics.
- EAC 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.
- EAC 3: An ability to communicate effectively with a range of audiences.
- EAC 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.
- EAC 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.
- EAC 6: An ability to develop and conduct appropriate experimentation, analyze and interpret data, and use engineering judgment to draw conclusions.
- EAC 7: An ability to acquire and apply new knowledge as needed, using appropriate learning strategies.
Code | Title | Credits |
---|---|---|
General Requirements | ||
CHEM2110 | Chemistry with Lab | 4 |
ECON1000 | ||
MATH1811 | Calculus I | 4 |
MATH1821 | Calculus II | 4 |
MATH2260 | Probability & Statistics | 4 |
MATH2830 | Discrete Math | 3 |
PHYS1800 | Physics I with Lab | 4 |
PHYS1820 | Physics II with Lab | 4 |
SPCH1000 | Speech | 3 |
WRIT2010 | Technical Writing | 3 |
Humanities Electives | 3 | |
Natural Sciences Electives | 3 | |
Social Science Electives | 3 | |
Technical Requirements | ||
EENG1210 | Logic & Digital Design | 2 |
EENG1220 | Logic & Digital Design Lab | 1 |
ENGR1110 | Introduction to Engineering | 3 |
ENGR1210 | Introduction to Programming | 3 |
ENGR1221 | Electrical Circuits & Automation w/ Lab | 4 |
ENGR1230 | Networking, Data Security for Engr | 4 |
ENGR2210 | Mechatronics with Lab | 2 |
ENGR3120 | Engineering Economics | 2 |
SENG1210 | Application Development I | 4 |
SENG1310 | Data Fundamentals | 3 |
SENG2200 | Business Requirements & Analysis | 3 |
SENG2210 | Software Design | 4 |
SENG2240 | Connected Devices Development I | 3 |
SENG2310 | Data Architecture | 3 |
SENG2230 | Application Development II | 3 |
SENG3110 | Software Testing | 3 |
SENG3210 | Distributed Systems Design | 3 |
SENG3400 | Operating Systems | 3 |
SENG3120 | Software Development Lifecycle | 3 |
SENG3230 | Human-Computer Interaction | 3 |
SENG3240 | Connected Device Development II | 3 |
SENG3250 | Distributed Systems Implementation | 3 |
SENG4111 | Senior Project I | 2 |
ENGR4110 | Engineering Ethics | 2 |
SENG4210 | Senior Project II | 3 |
SENG4310 | Security I | 3 |
SENG4320 | Security II | 3 |
SENG4400 | Data Science & Machine Learning | 3 |
Total Credits | 123 |
First Year | ||
---|---|---|
Fall | Credits | |
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 |
Credits | 17 | |
Total Credits | 17 |
First Year | ||
---|---|---|
Spring | Credits | |
ENGR1221 | Electrical Circuits & Automation w/ Lab | 4 |
SENG1210 | Application Development I | 4 |
SENG1310 | Data Fundamentals | 3 |
MATH1821 | Calculus II | 4 |
WRIT2010 | Technical Writing | 3 |
Credits | 18 | |
Total Credits | 18 |
Second Year | ||
---|---|---|
Fall | Credits | |
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 |
Credits | 17 | |
Total Credits | 17 |
Second Year | ||
---|---|---|
Spring | Credits | |
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 |
Credits | 17 | |
Total Credits | 17 |
Third Year | ||
---|---|---|
Fall | Credits | |
SENG3110 | Software Testing | 3 |
SENG3210 | Distributed Systems Design | 3 |
SENG3400 | Operating Systems | 3 |
MATH2830 | Discrete Math | 3 |
SPCH1000 | Speech | 3 |
Credits | 15 | |
Total Credits | 15 |
Third Year | ||
---|---|---|
Spring | Credits | |
ENGR3120 | Engineering Economics | 2 |
SENG3120 | Software Development Lifecycle | 3 |
SENG3250 | Distributed Systems Implementation | 3 |
SENG3230 | Human-Computer Interaction | 3 |
Humanities Elective | 3 | |
Credits | 14 | |
Total Credits | 14 |
Fourth Year | ||
---|---|---|
Fall | Credits | |
SENG3240 | Connected Device Development II | 3 |
SENG4111 | Senior Project I | 2 |
SENG4310 | Security I | 3 |
SENG4400 | Data Science & Machine Learning | 3 |
ECON1000 | ||
Credits | 11 | |
Total Credits | 11 |
Fourth Year | ||
---|---|---|
Spring | Credits | |
ENGR4110 | Engineering Ethics | 2 |
SENG4210 | Senior Project II | 3 |
SENG4320 | Security II | 3 |
Natural Science Elective | 3 | |
Social Sciences Elective | 3 | |
Credits | 14 | |
Total Credits | 14 |
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.
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 | 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.
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.
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.
Prerequisite(s): SENG3110
Corequisite(s): SENG3310
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.
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
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
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