300

SFE 305 Virtue, Technology, and Society

This course aims to cultivate virtuous leadership in a technological era. It investigates the growing need for an ethical sophistication in our engagement with the technological world. The course will specifically examine ethical cases surrounding the ethical development and use of technical systems, their impact on persons and society, and the personal role and response of those with responsibility for the development and deployment of technology. This includes an examination of codes of ethics, artificial intelligence systems, and current issues in fields of engineering and computing.  In the light of Church Teaching, it aims to provide students with the knowledge and tools to defend Christian values in the face of technological and social change. 

3

Prerequisites

PHL 212

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.

3

Prerequisites

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

Corequisites

CSC 330, MTH 330

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 162, MTH 172 and SFE 128

SFE 364 Cybersecurity I: Computer Security

Students will learn fundamental methodology for how to analyze cybersecurity, test cybersecurity, and protect information systems. This course will cover concepts  in computer security including operating system dynamics and application vulnerability analysis and defense. Students will gain experience securing enterprise systems, including use of Red Team methods, in both Windows and Linux environments. Has lab and classroom components.  

3

Prerequisites

SFE 240

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

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, and use of AI and automated analysis to find vulnerabilities. . 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 courses.

3

Prerequisites

SFE 240, CSC 144

SFE 384 ​​ ​SFE 385 Software Process and Quality Assurance

This course is a project-based introduction to software development. It addresses the methods of code quality, and their interplay with software planning, process, and development. With a focus on agile development, it 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 204, SFE 224

Corequisites

SFE 385

SFE 385 ​​ ​SFE 385 Software Process and Quality Assurance Lab

Hands-on lab introducing software inspection techniques, agile planning, tools, test case design and automation in support of software and process quality. 

1

Corequisites

SFE 384