Print this page

Bulletins

CPS - Computer Science

CPS 101 A First Byte of 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. This course may be offered in an online format. Recommended: MTH 107 or equivalent. (University Program Group II-A: Descriptive Sciences)

Credits
3(3-0)

CPS 105 Word Processing Concepts

Introduction to word processing and desktop publishing concepts. Use of beginning and advanced features in a modern word processing application such as Microsoft Word. This course may be offered in a hybrid format.

Credits
1(1-0)

CPS 106 Spreadsheet Concepts

Introduction to spreadsheets and report generation concepts. Use of beginning and advanced features in a modern spreadsheet application such as Microsoft Excel. This course may be offered in a hybrid format.

Credits
1(1-0)

CPS 107 Database Concepts

Introduction to databases and report generation concepts. Use of beginning and advanced features in a modern database application such as Microsoft Access. This course may be offered in a hybrid format.

Credits
1(1-0)

CPS 165 Modern Website Design

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)

CPS 180 Principles of Computer Programming

Algorithm development and problem solving methods. Design and development of computer programs in a structured programming language. Pre/Co-requisite: One of MTH 130, 132, 133, 217. (University Program Group II-B: Quantitative and Mathematical Sciences)

Credits
3(3-0)

CPS 181 Introduction to Data Structures

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, 175 or 217.

Credits
3(3-0)

CPS 210 Computer Organization and Communications

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)

CPS 240 Object-Oriented Programming, Analysis and Design

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)

CPS 270 Computational Analysis and Simulation

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)

CPS 280 Alternative Programming Languages

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)

CPS 282 Introduction to Multimedia Design

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)

CPS 285 Programming for Data Science

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)

CPS 294 Foundation of Mobile Application Development

Design, build, and deploy a multi-screen mobile application using best- practice patterns, frameworks, and tools. Combine local and remote sensing/actuating, execution and persistency. Prerequisite: CPS 181.

Credits
3(3-0)

CPS 296 Special Topics in Computer Science

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)

CPS 301 Social Issues of Computing and Professional Practice

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)

CPS 340 Advanced Data Structures and Algorithms

Theory of and advanced techniques for representing information: lists, trees, graphs. Analysis of algorithms: sorting, searching and hashing techniques. Prerequisites: CPS 181; CPS 210 or EGR 396. Pre/Co- requisite: MTH 223 or 232. Recommended: CPS 240.

Credits
3(3-0)

CPS 360 Computer Design and Architecture

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)

CPS 382 Advanced Multimedia Design

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 282.

Credits
3(3-0)

CPS 395 Internship in Computer Science

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)

CPS 396 Special Topics in Computer Science

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)

CPS 410 Software Engineering

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 340.

Credits
3(3-0)

CPS 420 Web Application Development - Web Services SOA

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)

CPS 450 Programming Language Concepts

Formal definition of programming languages including specification of syntax and semantics. Prerequisites: CPS 240, 340.

Credits
3(3-0)

CPS 470 Introduction to Operating Systems

Operating systems as resource manager. Study of the strategies used to manage system resources such as devices, files, memory, processors. Prerequisites: CPS 340, 360.

Credits
3(3-0)

CPS 480 Introduction to Artificial Intelligence

Automated reasoning, search strategies, knowledge representation, game playing, expert systems, machine learning and perception; applications. Prerequisites: CPS 340.

Credits
3(3-0)

CPS 496 Special Topics in Computer Science

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)

CPS 497 Independent Study

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)

CPS 498 Senior Design I

Senior design course for CPS/ITC programs. This course integrates design methods and software engineering techniques in the context of a realistic information processing system-based project. Identical to ITC 498. Credit may not be earned in more than one of these courses. Prerequisites: Senior standing; declared CPS/ITC major; pass all required 300 level courses in major.

Credits
3(2-2)

Cross Listed Courses

ITC 498

CPS 501 Survey of Computer Science

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. This course may be offered in an online format. Prerequisite: Senior or graduate standing.

Credits
3(3-0)

CPS 510 Software Systems Engineering

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)

CPS 520 Software Architecture

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)

CPS 525 Introduction to Text Mining

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)

CPS 531 Distributed Programming

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)

CPS 541 Modern Databases

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)

CPS 542 Analysis and Design of Algorithms

Models of computation. Analysis of algorithms including computing time and space requirements. Efficient algorithm design techniques. Introduction to parallel algorithms. Prerequisite: CPS 340.

Credits
3(3-0)

CPS 580 Supervised Machine Learning

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)

CPS 585 Applied Data Engineering

Study of data engineering concepts and techniques, including data collection, cleaning, transformation, security and storage. Construction of a data pipeline in an applied setting. This course may be offered in an online or hybrid format. Prerequisites: CPS 181; CPS 240 or 280 or 285; or admitted to the Master of Science in Computer Science program. Recommended: ITC 341.

Credits
3(3-0)

CPS 596 Special Topics in Computer Science

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)

CPS 597 Independent Study

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)