400
Software specification, design methods, programming and testing techniques and CASE tools. Developing large software systems in a group environment using modern software engineering techniques. Prerequisites: CPS 301, CPS 340, CPS 360. Must be 2nd semester junior or 85+ credit hours.
Credits
3(3-0)
Prerequisites
CPS 301, CPS 340, CPS 360. Must be 2nd semester junior or 85+ credit hours.
Corequisites
None.
Web-based applications focusing on server-side processing, data persistence, use of web services, Service Oriented Architecture, remote procedure calls, asynchronous messaging, transactions and security considerations. Prerequisite:
CPS 340 or
ITC 320. Recommended:
ITC 341.
Credits
3(3-0)
Prerequisites
CPS 340 or ITC 320
Corequisites
None.
Formal definition of programming languages including specification of syntax and semantics. Prerequisites:
CPS 240,
CPS 340.
Credits
3(3-0)
Prerequisites
CPS 240, CPS 340
Corequisites
None.
Hardware security; Trojan Horse, Supply Chain Attacks, IP Piracy, Side- Channel Attacks, Reverse Engineering, and Countermeasures. Prerequisites:
CPS 333,
CPS 360.
Credits
3(3-0)
Prerequisites
CPS 333, CPS 360
Corequisites
None.
Operating systems as resource manager. Study of the strategies used to manage system resources such as devices, files, memory, processors. Prerequisites: CPS 340, CPS 360.
Credits
3(3-0)
Prerequisites
CPS 340, CPS 360
Corequisites
None.
Software and operating system security, including holistic approach, static and dynamic testing, buffer-overflow exploits and defense, database security, SQL injection attacks, and virtualization. Prerequisites:
CPS 333,
CPS 470.
Credits
3(3-0)
Prerequisites
CPS 333, CPS 470
Corequisites
None.
AI for security, trustworthiness of AI, security and privacy of data mining/machine learning based applications, adversarial machine learning, security visualization, anomaly detection. Prerequisites:
CPS 333,
CPS 480.
Credits
3(3-0)
Prerequisites
CPS 333, CPS 480
Corequisites
None.
Automated reasoning, search strategies, knowledge representation, game playing, expert systems, machine learning and perception; applications. Prerequisites:
CPS 340.
Credits
3(3-0)
Prerequisites
CPS 340
Corequisites
None.
Selected technical topics of the latest developments in the field. Topic (s) are listed in Course Search and Registration. Repeatable up to 6 credits when content does not duplicate previous special topic studies. Prerequisite: See course search and registration.
Credits
1-6(Spec)
Prerequisites
See course search and registration
Corequisites
None.
Open to students with permission of instructor. May be taken for credit more than once, total credit not to exceed 6 hours. Prerequisite: Permission of instructor.
Credits
1-6(Spec)
Prerequisites
Permission of instructor
Corequisites
None.
Senior design course for CPS major. This course integrates design methods and software engineering techniques in the context of a realistic information processing system-based project. Prerequisite:
CPS 410.
Credits
3(2-2)
Prerequisites
CPS 410
Corequisites
None.
Senior design course for CPS major. This course integrates design methods and software engineering techniques in the context of a realistic information processing system-based project. Prerequisite:
CPS 410.
Credits
3(2-2)
Prerequisites
CPS 410
Corequisites
None.