SFE - Software Engineering Course Descriptions

SFE 112 Introduction to Software Engineering

Introduction to the methods and tools for software development. Topics include the personal software process, requirements engineering, software design, testing methods, project management, and other management techniques. 

2

SFE 128 Linux and Scripting

This course covers the Linux operating system, the BASH command line, and its related applications. The goal of this course is to build familiarity with the Linux command line environment, Linux system administration, and scripting proficiency.  Students will get hands-on technical experience with installing, configuring, and administering Linux systems and well as building scripts to automate tasks.  

3

SFE 204 Software Architecture

Design process notations, methods, paradigms, and tools. System architecture tradeoff analysis; component and subcomponent specification. Generic (domain) design; architectural styles, frameworks, and patterns. Test and integration plan documents. Architecture standards; design tools.

3

Prerequisites

SFE 112 and one of the following: CSC 141, CSC 144, or CSC 171

SFE 224 Requirements Analysis

Elicitation, analysis, specification, validation, and management of user requirements; conflict resolution; process, notations, methods and tools, requirements standards, operational concepts documents (OCD) and system requirements specifications (SRS).

3

Prerequisites

SFE 112 and one of the following: CSC 141, CSC 144, or CSC 171

SFE 240 Applied Network and Infrastructure Management

This course will focus on the skills needed to manage the infrastructure found in an enterprise IT environment. Topics will include network architecture, service design and monitoring, data center operations, and the corresponding best-practices to apply when building and maintaining these systems. Students will be given the opportunity to apply the concepts covered in lecture with hands-on labs designed to provide practical experience with tools available to manage IT infrastructure.           

3

Prerequisites

SFE 128

SFE 256 Networking/Telecommunications

Introduces students to the fundamentals of network and data communication technologies. Course topics include telecommunication media and equipment; data transmission and protocols; corporate, local, and wide area networks; intranets and internets; and network software and management. An introduction to electromagnetic concepts and principles is included to provide a technical foundation for these concepts (Cross listed with CSC 256).

3

Prerequisites

CSC 141 or CSC 144

SFE 261 Database and Information Processing Systems

Examines the four fundamental types of data organization (sequential, direct, indexed sequential, and database management systems) and the corresponding programming and design techniques. Security, privacy, data integrity, and future trends are discussed (Cross listed with CSC 261).

3

Prerequisites

CSC 141 or 144

SFE 305 Ethics in Cyberspace

Ethics in Cyberspace is a course that cultivates virtuous leadership in the digital sea. This course investigates the growing need for an ethical sophistication of the technological world.  We will specifically examine the ethical use of hardware, software and Internet systems, the ethical use of private information, big data acquisition, data analytics and the evils of the dark web.  As these dangerous arenas grow, it is vital to equip the rising generation with the knowledge and tools to defend Christian values in cyberspace.

3

Prerequisites

PHL 212 Foundations of Ethics

SFE 330 Cryptography

Covers the fundamental algorithms used in both private key and public key cryptography. Algorithms covered will include DES, AES, Diffie-Hellman, and RSA. Traditional encryption methods such as Vigenere ciphers and their cryptanalysis will be briefly described. The number theory needed to understand primality testing and RSA encryption will be developed in detail. Several programming projects aimed at implementing some of the material will be given throughout the semester (Cross listed with CSC 330 and MTH 330).

3

Prerequisites

CSC 141, 144, 171, or 280; and MTH 220

SFE 340 Mathematical Foundations of AI and ML

This course focuses on the mathematical foundations found at the heart of computer-based machine learning and artificial intelligence techniques. Topics include linear regression, network connectivity and neural networks, input methods including edge detection and filters, genetic algorithms, and Bayesian networks.

2

Prerequisites

MTH 172 and MTH 220

SFE 364 Cybersecurity I: Computer Security

Students will learn the fundamental methodology for how to analyze and secure information systems. This course will cover the basic concepts in computer security including operating system and application vulnerability analysis and defense. Students will gain experience securing enterprise systems in both Windows and Linux environments.

3

Prerequisites

SFE 240 Applied Network and Infrastructure Management

SFE 365 Cybersecurity II: Network Security and Management

Students will learn the fundamental methodology for how to analyze and secure enterprise networks. This course will cover the basic concepts in both wireless and wired network security including network security controls, protocol analysis, and applied cryptography. Students will conduct network vulnerability analysis and defense. This course builds upon topics covered in the Advanced Network Management course.

3

Prerequisites

SFE 240 and SFE 330

SFE 366 Cybersecurity III: Software and Security

This course exposes students to the challenges of insecure and vulnerable software. Students will be exposed to basic programming constructs as well as the specific principles of object-oriented programming languages. The course also surveys the types of threats and vulnerabilities inherent in software. An overview of secure coding concepts and techniques will be provided to students to provide exposure as to how software can be made more secure and resilient through the application of proper software engineering practices. This course builds upon topics covered in the Software Engineering course.

3

Prerequisites

SFE 240 Applied Network and Infrastructure Management

SFE 384 Software Process & Quality Assurance

Covers inspections of requirements, design and code, as well as testing, the handling of change requests, software evolution, code comprehension, and change management.

3

Prerequisites

SFE 112 and one of the following: CSC 144 or CSC 171

SFE 401 Computer Architecture and Operating Systems

This class gives the student a fundamental background in computer architecture and operating systems. Through this course a student will learn how to use this information to develop more secure and efficient programs (Cross listed with CSC 401).

3

Prerequisites

MTH 220 and (CSC 145 or 171)

SFE 404 Special Problems in Software Engineering

Provides the student with the opportunity to pursue a research project. Students will conduct research in consultation with Software Engineering faculty. The project and the amount of credit must be approved by the faculty member.

1-3

SFE 438 Senior Design I

Capstone project or internship in software engineering.

3

Prerequisites

Senior standing; SFE 224, SFE 384

SFE 439 Senior Design II

Culmination of the capstone project or internship in software engineering.

3

Prerequisites

SFE 438

SFE 448 Software Testing

Students will study the various aspects related to software processes. It will examine the definitions and models of the software process with a focus on process assessment and improvement.

2

Prerequisites

SFE 224, CSC 144 or CSC 171

SFE 471 Digital Forensics in Practice

This course aims to familiarize students with the forensic acquisition and analysis processes and to apply forensic principles with many tools of the trade.  Upon completion of the course, a student should feel confident in participating in a digital forensic investigation and be able to turn digital artifacts into admissible evidence.  This course focuses on the forensic process (planning, acquisition, analysis, reporting) as it relates to computer system and networks.  Class periods will consist of lecture and exercises.

3

Prerequisites

SFE 112 and one of the following: CSC 141, CSC 144, or CSC 171

SFE 472 Digital Forensics Policy and Law

This course provides a systematic introduction to the field of digital forensics.  The course aims to familiarize students with the forensic process and to apply forensic principles with many tools of the trade.  Upon completion of the course, a student should feel confident in participating in a digital forensic investigation.  This course focuses on the forensic process (planning, acquisition, analysis, reporting) as it relates to host system and network forensics.  Class periods will consist of lecture and exercises.

3

Prerequisites

SFE 471 Digital Forensics in Practice