Welcome to the Software Engineering Web site of CSE at Southern Polytechnic
State University  BSSWE - Bachelor of Science in Software Engineering

Course Descriptions & Prerequisites

 

SWE 1301   Software Development I (has been replaced with CSE 1301 - see below)

 

SWE 1302   Software Development II (has been replaced with CSE 1302 - see below)

 

SWE 2313   Introduction to Software Engineering

                Prerequisite:  SWE 1302 or CS 1302 or CSE 1302                Credit: 3-0-3

This course provides an overview of the software engineering discipline, introducing the student to the fundamental principles and methods of software engineering.  This course highlights the need for an engineering approach to software.  The course presents software development processes at the various degrees of granularity.  This ranges from organizational processes to team and individual engineer’s processes.  The role of standards (i.e., IEEE ) is illustrated. CS majors may not receive degree  credit for this course.

 

SWE 2642   Professional Practices & Ethics (has been replaced with CSE 2642 - see below)

 

SWE 3623   Software Systems Requirements

                Prerequisite:  SWE 2312 and Math 2345                Credit: 3-0-3

This course covers engineering activities related to the definition and representation of software system requirements . Topics include the elicitation, analysis, specification and validation of software system requirements.

Emphasis is on the application of processes and   techniques of requirements engineering.  Projects focus on current analysis methods and supporting tools for specification,organisation,change management ,traceability, prototyping and validating requirements.

 

SWE 3624    Software Engineering

                Prerequisite:  CS 3424 or CS 3153                Credit: 4-0-4

The entire software engineering life cycle is explored, with emphasis on the initial phases.  Topics include problem definition, systems analysis, requirements gathering, cost and benefit analysis, proposal preparation, prototyping, design techniques and usability testing.  Software engineering principles, practices, and design standards are examined through case studies.  Various tools are used by students in conjunction with real-world projects.  A major component is a team project which goes through prototyping and usability testing.  SWE majors may not receive degree credit for this course. 

 

SWE 3633   Software Architecture & Design

                Prerequisite:   SWE 2313                Credit: 3-0-3

This course covers the fundamental design principles and strategy for software architecture and design.  Architectural styles, quality attributes, notations and documents, reference architecture, domain-specific architecture in architecture process and pattern-oriented design, component-oriented design, and interface design in detail design process are discussed.   

 

SWE 3643   Software Testing and Quality Assurance

                Prerequisite:  SWE 2313 & CS 3424 or (SWE 4624/3624 for CS majors)                     Credit: 3-0-3

This course will show how software quality assurance and configuration management is performed and how software process improvement is maintained in order to assure the highest possible quality.  Topics include software process metrics and their use in QA, testing approaches, methods and techniques.  Development of QA plans, reviews, inspections and audits will be done.  Configuration control boards and methods for software process improvement is discussed.

 

SWE 3683   Embedded Systems Analysis & Design     

                Prerequisite:   CS 3243

The analysis and design course focuses on using modern methods, techniques, and tools for specification and design of embedded systems.  Topics include analytical methods such as RMA, development methods such as HOOD, and notations like UML, Petri-nets, etc. are covered.  Performance evaluation based on modeling and simulation techniques is also covered.  This is a project based course.

 

SWE 3843   Embedded System Software Construction & Testing   

                Prerequisite:   CS 3243

This course covers fundamental principles and techniques for embedded software engineering. It focuses on a component-based development approach to designing, implementing, and testing embedded programs. Topics include building standard-along and networked embedded systems, validation and verification of trustworthy embedded software, testing tools and environment, quality assurance and metrics for the embedded systems, and hardware/software co-design and co-testing

 

SWE 4324   User Centered Design

Prerequisite:   SWE 1302 or CS 1302 or IT 1124 or CSE 1302
This  is a course that presents the fundamental knowledge, processes, skills, and practices leading to the user-centered design of computer systems and applications. The course addresses the effectiveness of human interactions with computers by examining issues of physical ergonomics, cognition and perception, human memory and information processing, and evaluation of prototype software in a Usability Lab. Usability engineering techniques are covered leading to improved system effectiveness in supporting use of computers, user learning, diversity in interaction styles, and individual versus group work. Class exercises provide practice of needed skills. A major project that integrates all aspects of user-centered, task-oriented design is included.

 

SWE 4353   Computer Game Design & Development

                Prerequisite:   CS 3424

This course focuses on the architecture, structure and methods for game design.  Topics include: history of games, graphics, multimedia, visualization, animation, game design, software engineering, interactive fiction, game development environments, and commercialization of game systems.  Understanding the art and science of game design, the development of complex virtual reality simulations, and the evaluation of human play environments are incorporated into the course. 

 

SWE 4633   Component-Based Software Development

                Prerequisite:  SWE 3424

This course covers a wide range of component-based software development skills, from analyzing and modeling a problem with component-based notations and architectures, to implementing a solution using a particular component technology.  The principles and methodologies in component based software development will be discussed in depth focusing on component-oriented programming and its related technologies.  Component-based tools and languages, approaches for implementation of component-based software, including designing, building, assembling, and deploying reusable COTS and in-house software components are discussed.  Students will do projects focused on the life cycle of software components in various component technologies. 

 

SWE 4663   Software Project Management

                Prerequisite:  SWE 2313

This course focuses on organizational and technical roles in software engineering. Models of software engineering life cycle, software maturity framework, strategies of implementing software, software process assessment, project planning principles and tools, software configuration management, managing software quality and usability, leadership principles and legal issues will be covered.  A required team project combines technical and managerial techniques of software design and development.

 

SWE 4724   Software Engineering Project

                Prerequisite: SWE majors: 3 of the following 4 courses: (SWE 3623, SWE 3633, SWE 3643, SWE 4663) & (TCOM 2010 & SPCH 2400); other majors: SWE 3624

This is a capstone project  course and constitutes  a major design experience.  The course focus is on a team project comprising the development of a realistic software system during all phases of the software development life cycle.  Topics include software project management , design, verification and validation, development, evolution and quality assurance.  Current methods, techniques, and software tools are utilized in the development of the project.

 

SWE 4743   Object-Oriented Development

                Prerequisite: CS 3424

This course covers the concepts of object-oriented analysis, design, and programming.  Topics include modeling foundations, requirements specification and documentation, design concepts and strategies, and OOAD methodologies with an emphasis on UML. The course  include a major project utilizing current analysis and design methods and tools implemented in a contemporary IDE

 

  SWE 4783   User Interaction Engineering

                Prerequisite:  SWE 2313 or SWE 3624 or SWE 4324

This course follows a complete software-engineering cycle to produce software objects that support users in effective, efficient, and enjoyable interactions with computers.  Class exercises and a project incorporate concepts and methods including ethnographic and user analysis; cognitive ergonomics; usability metrics and criteria; software-engineering practices, conventions, standards, and documentation; device-user action mapping; person-system function allocation; quality management systems; conceptual prototyping; embedded systems in support of ubiquitous computing; and function-behavior analysis. 

 

SWE 4901-4904   Special Topics

                Prerequisite: As determined by the instructor and Department Chair.

Special Topics selected by Department Chair. Offered on a demand basis.  A student may repeat this course with special permission. Special Topics may cover the state of the art of  Software Engineering.

 

Computer Science & Software Engineering (CSE) Courses

 

CSE 1002 Introduction to the Computing Disciplines

2-0-2  

This course examines the various aspects of computing and the computing disciplines in today's world. The students will become familiar with topics such as computer software, hardware, algorithms, and number systems. They will also be exposed to what is expected in the fields of computing and the types of job opportunities that are available, as well as the facilities and curriculum offered within the School of Computing and Software Engineering.  Institutional credit only.

 

 

CSE 1301 Programming & Problem Solving I

3-2-4

Prerequisite: MATH 1113 (or concurrently) or permission of the department;  CSE 1002 (or concurrently) is recommended

This course provides an introduction to computer science with a focus on object-oriented programming.  Instruction centers on an overview of programming, problem-solving, and algorithm development.  Particular topics include primitive data types, arithmetic and logical operators, selection and repetition structures, interactive user input, using and designing basic classes, single dimension arrays with searching and sorting, and two-dimensional arrays.  Programming assignments focus on techniques of good programming style including proper documentation.  The student is taught to efficiently design, code, and debug problem solutions.  A Windows environment is used in the closed lab.

 

 

CSE 1302 Programming & Problem Solving II

3-2-4

Prerequisite: CSE 1301

The second course in computer science provides coverage of more advanced topics of object-oriented programming.  This includes the use of static variables and classes, multi-dimensional arrays, inheritance and polymorphism, text files and exception handling, recursion, and parameterized types.  Elementary data structures (linked lists, stacks, and queues) are introduced to solve application problems.  Graphical user interfaces and event driven programming are also introduced.  Students must continue to use good programming style including proper documentation. Students use the Linux operating system in the closed lab.

 

 

CSE 2642 Professional Practices and Ethics

2-0-2                            

Prerequisite: CSE 1002 and either CSE 1302 or IT 1324             

This course covers the historical, social and economic consideration of the discipline.  It includes studies of professional conduct, risks, and liabilities, and intellectual property relative to the software engineering and computing professions.  Software engineering/computing case studies will be used.