CPS - Computer Science
Introduction to the principles underlying the programmable world around us and the interplay of the different system components that drive the information society. Recommended: MTH 107 or equivalent. (University Program Group II-A: Descriptive Sciences)
Credits
3(3-0)
Prerequisites
None.
Corequisites
None.
Introduction to word processing and desktop publishing concepts. Use of beginning and advanced features in a modern word processing application such as Microsoft Word.
Credits
1(1-0)
Prerequisites
None.
Corequisites
None.
Introduction to spreadsheets and report generation concepts. Use of beginning and advanced features in a modern spreadsheet application such as Microsoft Excel.
Credits
1(1-0)
Prerequisites
None.
Corequisites
None.
Introduction to databases and report generation concepts. Use of beginning and advanced features in a modern database application such as Microsoft Access.
Credits
1(1-0)
Prerequisites
None.
Corequisites
None.
Design and development of dynamic and interactive user-friendly websites. Maintain a web portfolio. Learn about web publishing best practices with consideration of social media.
Credits
3(3-0)
Prerequisites
None.
Corequisites
None.
Algorithm development and problem solving methods. Design and development of computer programs in a structured programming language. Pre/Co-requisite: One of
MTH 130,
MTH 132,
MTH 133,
MTH 217. (University Program Group II-B: Quantitative and Mathematical Sciences)
Credits
3(3-0)
Prerequisites
None.
Corequisites
None.
Continuation of
CPS 180; Abstract Data Types using core programming library classes (such as stacks, queues, linked lists, and binary trees); Recursion; Sorting and Searching. Prerequisite:
CPS 180; Recommended:
MTH 132,
MTH 175 or
MTH 217.
Credits
3(3-0)
Prerequisites
CPS 180
Corequisites
None.
Design and development of computer programs in the Python programming language. Introduction to basic programming control structures and elementary data processing. (University Program Group II-B: Quantitative and Mathematical Sciences.)
Credits
3(3-0)
Prerequisites
None.
Corequisites
None.
Continuation of CPS 190. Design and development of computer programs to access data, automate tasks, and perform event handling. Prerequisite: CPS 190.
Credits
3(3-0)
Prerequisites
CPS 190
Corequisites
None.
Introduction to computer organization, machine representation of information, models of computer architecture, remote application programming interfaces. Pre/Co-requisite: CPS 181; Recommended: MTH 132.
Credits
3(3-0)
Prerequisites
None.
Corequisites
None.
Detailed coverage of the object-oriented programming paradigm and concepts, design patterns, distributed objects, graphical user interfaces and event handling. Software design in teams. Prerequisite:
CPS 181 with a C or better.
Credits
3(3-0)
Prerequisites
CPS 181 with a C or better
Corequisites
None.
Introduce Python programming language for data science. Topics include data wrangling, management, manipulation, visualization and exploration using Python. This is one-credit, five-week course. Identical to CPS 254. Credit may not be earned in more than one of these courses. Prerequisite: One of: BIO 500, DAS 150QR, ECO 285, GEO 512, HSC 544, PSY211QR, SOC 200QR, STA 282QR, STA 382QR, STA 392.
Credits
1(1-1)
Prerequisites
One of: BIO 500, DAS 150QR, ECO 285, GEO 512, HSC 544, PSY211QR, SOC 200QR, STA 282QR, STA 382QR, STA 392.
Corequisites
None.
Cross Listed Courses
CPS 254
Modeling and simulation via computing and numerical calculations. Emphasis will be on implementing algorithms in a high-level programming language and the associated implications. Prerequisites:
CPS 181;
MTH 132.
Credits
3(3-0)
Prerequisites
CPS 181; MTH 132
Corequisites
None.
Intensive study of one or more selected object-oriented programming languages. Languages presented will be announced in Course Search and Registration. Students may not earn credit for a language in which they already have credit in one of the primary programming sequences. Prerequisite:
CPS 181.
Credits
3(3-0)
Prerequisites
CPS 181
Corequisites
None.
Introduction to multimedia concepts. Survey of multimedia applications in fields such as education, business and entertainment. Introduction to multimedia authoring tools. Hands-on projects.
Credits
3(3-0)
Prerequisites
None.
Corequisites
None.
Overview of tools and techniques to process data with the aim of producing actionable insights. Introduction to the cleaning, filtering, transforming and querying of data. Prerequisite:
CPS 180.
Credits
3(3-0)
Prerequisites
CPS 180
Corequisites
None.
Design, build, and deploy event-driven mobile applications using current patterns, frameworks, and tools. Combine local and remote sensing/actuating, execution, and persistency. Prerequisite: CPS 181 or CPS 191.
Credits
3(3-0)
Prerequisites
CPS 181 or CPS 191.
Corequisites
None.
Selected technical topics of the latest developments in the field. These topics are normally not covered in existing courses. Topic(s) are listed in Course Search and Registration. Repeatable up to 6 credits when content does not duplicate previous special topic studies. Prerequisite: 24 credit hours completed.
Credits
1-6(Spec)
Prerequisites
24 credit hours completed
Corequisites
None.
Surveys the central ethical, legal and social issues intrinsic to the discipline of computing. Introduces common professional development schemes used in the computing industry. Prerequisites: 26 hours completed. Recommended:
ENG 201.
Credits
1(1-0)
Prerequisites
26 hours completed
Corequisites
None.
User interface design and human-computer interaction. Understanding the user. Design and prototyping of highly usable interfaces. Event-driven programming language for rapid prototyping. Prerequisites: CPS 240 or CPS 280.
Credits
3(3-0)
Prerequisites
CPS 240 or CPS 280.
Corequisites
None.
Introduction to computer and network security, cybersecurity, confidentiality, integrity, availability, authentication, authorization, accountability, access control, security/threat models, cryptography, encryption, decryption, signatures. Prerequisite:
CPS 240 and
MTH 321.
Credits
3(3-0)
Prerequisites
CPS 240 and MTH 321.
Corequisites
None.
Theory of advanced techniques for representing information: lists, trees, graphs. Analysis of algorithms: sorting, searching and hashing techniques. Prerequisites: CPS 181 with a grade of C- or better; CPS 210 or EGR 396. Pre/Co-requisite: MTH 223 or MTH 232. Recommended: CPS 240.
Credits
3(3-0)
Prerequisites
CPS 181 with a grade of C- or better; CPS 210 or EGR 396.
Corequisites
None.
Design and analysis of digital circuits, processor datapath, instruction set architecture, cache memory, pipelined instruction execution, virtual memory. Prerequisite:
CPS 210.
Credits
3(3-0)
Prerequisites
CPS 210
Corequisites
None.
Security in computer, mobile and communication networks; confidentiality, integrity, availability, access controls in networks; security in network protocols and applications at layers in OSI model. Prerequisites:
ITC 265 and
CPS 333.
Credits
3(3-0)
Prerequisites
ITC 265 and CPS 333.
Corequisites
None.
Data and privacy in the context of the human factor and society, including social engineering security, cybersecurity law, cybersecurity ethics, cybersecurity policy, and cybersecurity privacy. Prerequisite: CPS 333.
Credits
3(3-0)
Prerequisites
CPS 333
Corequisites
None.
Design interactive multimedia projects using advanced authoring tools and discuss issues concerning representation, storage, compression, transmission, and manipulation of various multimedia components. Prerequisite: CPS 240 or CPS 282.
Credits
3(3-0)
Prerequisites
CPS 240 or CPS 282
Corequisites
None.
Supervised work experience in computer science. Only 3 hours may count toward the major. Any additional hours must provide a significantly different educational experience. CR/NC only. Prerequisites:
CPS 210 or
ITC 191; permission of department chairperson.
Credits
1-9(Spec)
Prerequisites
CPS 210 or ITC 191; permission of department chairperson
Corequisites
None.
Selected technical topics of the latest developments in the field. These topics are normally not covered in existing courses. Topic(s) are listed in Course Search and Registration. Repeatable up to 6 credits when content does not duplicate previous special topic studies. Prerequisite: 40 credit hours completed.
Credits
1-6(Spec)
Prerequisites
40 credit hours completed
Corequisites
None.
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.
Overview of computer organization, programming languages, various computer applications, information management systems and ethical implications of computing. Does not count toward CPS major or minor or the MS in Computer Science. Prerequisite: Senior or graduate standing.
Credits
3(3-0)
Prerequisites
Senior or graduate standing
Corequisites
None.
Covers requirements analysis and techniques to develop a system from those requirements. Credit will not be given for both
CPS 410 and
CPS 510. Does not count for the M.S. in Computer Science. This course is approved for offering in a distance learning format. Prerequisites:
CPS 340;
MTH 175.
Credits
3(3-0)
Prerequisites
CPS 340; MTH 175
Corequisites
None.
Study of software architecture styles and quality attributes; achieving software quality; designing, documenting, and restructuring software architecture evaluation; tools for architectural design. Prerequisite:
CPS 410 or graduate status.
Credits
3(3-0)
Prerequisites
CPS 410 or graduate status
Corequisites
None.
Overview of tools and techniques to process text data with the aim of production actionable insights. Introduction to the cleaning, filtering, transforming and querying of text data. Prerequisites:
CPS 181,
CPS 240 or
CPS 280 or
CPS 285; or admitted to the Master of Science in Computer Science program.
Credits
3(3-0)
Prerequisites
CPS 181, CPS 240 or CPS 280 or CPS 285; or admitted to the Master of Science in Computer Science program
Corequisites
None.
Study of design and implementation issues in distributed programming, including event model, client/server, distributed data processing, remote objects, network services, and security. Prerequisite:
CPS 340 or admission into CPS graduate program.
Credits
3(3-0)
Prerequisites
CPS 340 or admission into CPS graduate program
Corequisites
None.
Relational databases, data modeling, NoSQL databases, and data warehousing. Design and develop databases for various applications. Prerequisites:
CPS 340 or
ITC 341 or graduate standing.
Credits
3(3-0)
Prerequisites
CPS 340 or ITC 341 or graduate standing
Corequisites
None.
Analysis of algorithms including computing time and space requirements. Efficient algorithm design techniques. Introduction to parallel algorithms and computational complexity classes. Prerequisite:
CPS 340 or admitted to the Master of Science in Computer Science program.
Credits
3(3-0)
Prerequisites
CPS 340 or admitted to the Master of Science in Computer Science program.
Corequisites
None.
Theory and tools for supervised machine learning. Overview and application of architectures and training techniques applicable to image classification, object recognition and text generation. Prerequisites:
CPS 340 or
ITC 510 or
CPS 285,
DAS 450.
Credits
3(3-0)
Prerequisites
CPS 340 or ITC 510 or CPS 285, DAS 450
Corequisites
None.
Use of elementary automata theory, limits on computation, cellular automata, neuron models, evolutionary (genetic) algorithms and learning, and Artificial Immune Systems, DNA, and quantum computing. Prerequisites:
CPS 340 or graduate standing.
Credits
3(3-0)
Prerequisites
CPS 340 or graduate standing
Corequisites
None.
Elementary nonlinear dynamics and chaos theory. Correlation dimension. Approximate, Sample, and Multiscale entropies. Cellular automaton dynamics. Entropy analysis and learning in time series data. Prerequisites:
CPS 340 or graduate standing.
Credits
3(3-0)
Prerequisites
CPS 340 or graduate standing
Corequisites
None.
Study of data engineering concepts and techniques, including data collection, cleaning, transformation, security and storage. Construction of a data pipeline in an applied setting. Prerequisites: CPS 181; CPS 240 or CPS 280 or CPS 285; or admitted to the Master of Science in Computer Science program. Recommended: ITC 341.
Credits
3(3-0)
Prerequisites
CPS 181; CPS 240 or CPS 280 or CPS 285; or admitted to the Master of Science in Computer Science program
Corequisites
None.
Selected topics in computer science not otherwise available in a course regularly offered. 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. Determined by the specific topics presented.
Credits
1-6(Spec)
Prerequisites
See Course Search and RegistrationDetermined by the specific topics presented
Corequisites
None.
Exploration of topics in Computer Science agreed upon by student and instructor. May be taken for credit more than once, total credit not to exceed six hours. Prerequisite: Permission of instructor.
Credits
1-6(Spec)
Prerequisites
Permission of instructor
Corequisites
None.