Computer Science
Majors:
Minors:
Concentrations:
The Department of Computer Science offers two programs leading to a Bachelor of Science degree in either computer science or computer information systems. Both programs require similar introductory core sequence of courses in computer science. The main differences between the two programs are in the mathematics and science requirements and in the application emphases.
Computer Science
Computer science is the study of algorithms and their implementation as applications (apps). This includes the study of data structures, software design, programming languages, operating systems, and computer architecture. Each student may select one of the following concentrations by taking appropriate upper-level electives: AI and Data Science, Cyber Defense, or Software Engineering.
Computer Information Systems
This program emphasizes computer science concepts with particular attention to systems analysis and design, and includes a concentration area or minor chosen by the student in consultation with the student's advisor.
Both of these B.S. programs provide a foundation for students to embark on successful careers in a variety of computing disciplines, including software engineering, system design, database management, data science, autonomous systems, ambient intelligence, gaming, cyber security, computer networking, systems programming, and systems administration. In addition, graduates will be prepared to pursue graduate study in computer science and related disciplines.
Computer Science and Computer Information Systems majors are required to attain grades of C- or better in the following courses: CPS 150, CPS 151, and CPS 350.
A minor in computer science consists of 20 semester hours. A minor in computer information systems consists of 23 semester hours.
FACULTY LISTINGS
Bachelor of Science, Computer Information Systems (CIS) minimum 120 hours
The Common Academic Program (CAP) is an innovative curriculum that is the foundation of a University of Dayton education. It is a learning experience that is shared in common among all undergraduate students, regardless of their major. Some CAP requirements must be fulfilled by courses taken at UD (e.g., Capstone and Diversity and Social Justice). Some major requirements must also be fulfilled by courses taken at UD. Students should consult with their advisor regarding applicability of transfer credit to fulfill CAP and major program requirements.
Common Academic Program (CAP) 1 | ||
First-Year Humanities Commons 2 | 12 cr. hrs. | |
Introduction to Global Historical Studies | ||
Introduction to Religious and Theological Studies | ||
Introduction to Philosophy | ||
Writing Seminar I 3 | ||
Second-Year Writing Seminar 4 | 0-3 cr. hrs. | |
Writing Seminar II | ||
Oral Communication | 3 cr. hrs. | |
Principles of Oral Communication | ||
Mathematics | 3 cr. hrs. | |
Social Science | 3 cr. hrs. | |
Arts | 3 cr. hrs. | |
Natural Sciences 5 | 7 cr. hrs. | |
Crossing Boundaries | up to 12 cr. hrs. | |
Faith Traditions | ||
Practical Ethical Action | ||
Inquiry | ||
Integrative | ||
Advanced Study | ||
Philosophy and/or Religious Studies (6 cr. hrs.) | ||
Historical Studies (3 cr. hrs.) 6 | ||
Diversity and Social Justice 7 | 3 cr. hrs. | |
Major Capstone 8 | 0-6 cr. hrs. |
- 1
The credit hours listed reflect what is needed to complete each CAP component. However, they should not be viewed as a cumulative addition to a student's degree requirements because many CAP courses are designed to satisfy more than one CAP component (e.g., Crossing Boundaries and Advanced Studies) and may also satisfy requirements in the student's major.
- 2
May be completed with ASI 110 and ASI 120 through the Core Program.
- 3
- 4
- 5
Must include two different disciplines and at least one accompanying lab.
- 6
May be completed with ASI 110 and ASI 120 through the Core Program.
- 7
May not double count with First-Year Humanities Commons, Second-Year Writing, Oral Communication, Social Science, Arts, or Natural Sciences CAP components, but may double count with courses taken to satisfy other CAP components and/or courses taken in the student's major.
- 8
The course or experience is designed by faculty in each major; it may, or may not, be assigned credit hours.
Science Breadth Requirements | ||
Mathematics 1 | 9 | |
Precalculus Math | ||
& | ||
Introductory Calculus I (Satisfies CAP Mathematics) | ||
OR | ||
Introductory Calculus I | ||
& | ||
Introductory Calculus II | ||
========================= | ||
Introduction to Statistics | ||
OR | ||
Statistical Methods I | ||
Natural Sciences (Applies to CAP Natural Science) 1 | 8 | |
=========================== | ||
Select two lecture/lab pairs from: | ||
Concepts of Biology I: Cellular & Molecular Biology and Concepts of Biology Laboratory I: Cellular & Molecular Biology | ||
Concepts of Biology II: Evolution & Ecology and Concepts of Biology Laboratory II: Evolution & Ecology | ||
General Chemistry and General Chemistry Laboratory | ||
General Chemistry and General Chemistry Laboratory | ||
Physical Geology and Physical Geology Laboratory | ||
Geological History of the Earth and Geological History of the Earth Laboratory | ||
College Physics I and College Physics Laboratory I | ||
College Physics II and General Physics Laboratory | ||
General Physics I - Mechanics and General Physics Laboratory I | ||
General Physics II - Electricity & Magnetism and General Physics Laboratory II |
Major Requirements | 65 | |
CPS 149 | Creative Media Applications | 3 |
CPS 150 | Algorithms & Programming I | 4 |
CPS 151 | Algorithms & Programming II | 4 |
CPS 242 | Web Application Development | 3 |
CPS 310 | Systems Analysis | 3 |
CPS 341 | Discrete Structures | 3 |
CPS 350 | Data Structures & Algorithms | 3 |
CPS 430 | Database Management Systems | 3 |
CPS 490 | Capstone I (Satisfies CAP Major Capstone) | 3 |
CPS 491 | Capstone II | 3 |
Select five CPS courses (15 hrs., numbered higher than 310) | ||
Minor Concentration | ||
18 Credit Hrs. | ||
Any minor program of study chosen by the student and approved by the student's academic advisor. This choice should involve an area where the student might apply skills acquired through this program. |
Breadth | ||
ASI 150 | Introduction to the University Experience | 1 |
PHL 319 | Information Ethics (Satisfies CAP Practical Ethical Action and Adv Studies in PHL) | 3 |
Social and Behavioral Sciences (includes CAP Social Science) 1 | 6 | |
Total Hours to total at least | 120 |
- 1
This requirement, and CAP components, will be satisfied in some cases by the minor that is chosen.
Bachelor of Science, Computer Science (CPS) minimum 120 hours
The Common Academic Program (CAP) is an innovative curriculum that is the foundation of a University of Dayton education. It is a learning experience that is shared in common among all undergraduate students, regardless of their major. Some CAP requirements must be fulfilled by courses taken at UD (e.g., Capstone and Diversity and Social Justice). Some major requirements must also be fulfilled by courses taken at UD. Students should consult with their advisor regarding applicability of transfer credit to fulfill CAP and major program requirements.
Common Academic Program (CAP) 1 | ||
First-Year Humanities Commons 2 | 12 cr. hrs. | |
Introduction to Global Historical Studies | ||
Introduction to Religious and Theological Studies | ||
Introduction to Philosophy | ||
Writing Seminar I 3 | ||
Second-Year Writing Seminar 4 | 0-3 cr. hrs. | |
Writing Seminar II | ||
Oral Communication | 3 cr. hrs. | |
Principles of Oral Communication | ||
Mathematics | 3 cr. hrs. | |
Social Science | 3 cr. hrs. | |
Arts | 3 cr. hrs. | |
Natural Sciences 5 | 7 cr. hrs. | |
Crossing Boundaries | up to 12 cr. hrs. | |
Faith Traditions | ||
Practical Ethical Action | ||
Inquiry | ||
Integrative | ||
Advanced Study | ||
Philosophy and/or Religious Studies (6 cr. hrs.) | ||
Historical Studies (3 cr. hrs.) 6 | ||
Diversity and Social Justice 7 | 3 cr. hrs. | |
Major Capstone 8 | 0-6 cr. hrs. |
- 1
The credit hours listed reflect what is needed to complete each CAP component. However, they should not be viewed as a cumulative addition to a student's degree requirements because many CAP courses are designed to satisfy more than one CAP component (e.g., Crossing Boundaries and Advanced Studies) and may also satisfy requirements in the student's major.
- 2
May be completed with ASI 110 and ASI 120 through the Core Program.
- 3
- 4
- 5
Must include two different disciplines and at least one accompanying lab.
- 6
May be completed with ASI 110 and ASI 120 through the Core Program.
- 7
May not double count with First-Year Humanities Commons, Second-Year Writing, Oral Communication, Social Science, Arts, or Natural Sciences CAP components, but may double count with courses taken to satisfy other CAP components and/or courses taken in the student's major.
- 8
The course or experience is designed by faculty in each major; it may, or may not, be assigned credit hours.
Science Breadth Requirements | ||
MTH 168 | Analytic Geometry & Calculus I (Satisfies CAP Mathematics) | 4 |
MTH 169 | Analytic Geometry & Calculus II | 4 |
MTH 218 | Analytic Geometry & Calculus III | 4 |
MTH 301 | Matrix Theory and Applications | 3 |
MTH 367 | Statistical Methods I | 3 |
Select one natural sciences group from (Applies to CAP Natural Sciences): | 8 | |
Concepts of Biology I: Cellular & Molecular Biology and Concepts of Biology Laboratory I: Cellular & Molecular Biology and Concepts of Biology II: Evolution & Ecology and Concepts of Biology Laboratory II: Evolution & Ecology | ||
General Chemistry and General Chemistry Laboratory and General Chemistry and General Chemistry Laboratory | ||
Physical Geology and Physical Geology Laboratory and Geological History of the Earth and Geological History of the Earth Laboratory | ||
General Physics I - Mechanics and General Physics II - Electricity & Magnetism and General Physics Laboratory I and General Physics Laboratory II | ||
Natural Sciences 2 | 6 |
Major Requirements | 50 | |
CPS 149 | Creative Media Applications | 3 |
CPS 150 | Algorithms & Programming I | 4 |
CPS 151 | Algorithms & Programming II | 4 |
CPS 250 | Computer Organization and Architecture | 3 |
CPS 341 | Discrete Structures | 3 |
CPS 350 | Data Structures & Algorithms | 3 |
CPS 352 | Concepts and Implementation of Programming Languages | 3 |
CPS 356 | Operating Systems: Modern Mobile Devices and Massive Concurrency | 3 |
CPS 450 | Design and Analysis of Algorithms (Satisfies CAP Integrative) | 3 |
CPS 470 | Computer Networks and Security | 3 |
CPS 490 | Capstone I (Satisfies CAP Major Capstone) | 3 |
CPS 491 | Capstone II | 3 |
Select four CPS courses (300/400 level) 3 | 12 |
Breadth | ||
ASI 150 | Introduction to the University Experience | 1 |
PHL 319 | Information Ethics (Satisfies CAP Practical Ethical Action and Adv Studies in PHL) | 3 |
or PHL 312 | Ethics | |
or PHL 316 | Engineering Ethics | |
or PHL 321 | Environmental Ethics | |
Social and Behavioral Sciences (Includes CAP Social Science) | 6 | |
Total Hours to total at least | 120 |
- 1
CPS 353 will not count towards major requirement.
- 2
Select two acceptable courses for Science or Engineering majors.
- 3
These courses may be taken from any area as defined by the department. At least three courses in an area are required for obtaining a concentration.
Minor in Computer Information Systems (CIS)
Computer Information Systems | ||
CPS 150 | Algorithms & Programming I | 4 |
CPS 151 | Algorithms & Programming II | 4 |
CPS 242 | Web Application Development | 3 |
CPS 310 | Systems Analysis | 3 |
CPS 312 | Systems Design | 3 |
Select two CPS courses (320 level or above) | 6 | |
Total Hours | 23 |
Minor in Computer Science (CPS)
Computer Science | ||
CPS 149 | Creative Media Applications | 3 |
CPS 150 | Algorithms & Programming I | 4 |
CPS 151 | Algorithms & Programming II | 4 |
CPS 350 | Data Structures & Algorithms | 3 |
CPS 430 | Database Management Systems | 3 |
Select one 400 level CPS course | 3 | |
Total Hours | 20 |
Minor in AI and Data Science (ADS)
This Minor in AI and Data Science offers theoretical/practical coursework to design intelligent systems and gain insights from complex data. Students from different disciplines will gain an experience that makes a positive impact on their future careers in their fields of study. The minor program will provide them with the ability to successfully pursue professional development. They will learn programming skills, machine learning techniques, and use of various modern software tools for addressing challenges that they may come across in today’s high-tech society. They also become self-reliant and better able to handle vague instructions.
CPS 149 | Creative Media Applications | 3 |
CPS 249 | Programming and Data Structures in Python | 3 |
CPS 349 | Data Science | 3 |
CPS 449 | Cloud-based Intelligent Application Development | 3 |
CPS 480 | Artificial Intelligence | 3 |
Total Hours | 15 |
Concentration in AI and Data Science (ADS)
This concentration in AI and Data Science offers theoretical/practical coursework to facilitate the improvement of intelligent and machine learning system design and the awareness of the role of such systems in society.
Select three courses from the following: 1 | 9 | |
User Interface Design and Development | ||
Database Management Systems | ||
Big Data and Cloud Computing | ||
Interactive Media | ||
Artificial Intelligence | ||
Intelligent Systems and Machine Learning | ||
Evolutionary Computation | ||
Total Hours | 9 |
- 1
Other courses can count toward this concentration with the permission of the chair.
Concentration in Cyber Defense (CYD)
This concentration in Cyber Defense offers theoretical/practical coursework to facilitate the improvement of secure computing system design and the awareness of the role of such systems in society.
CPS 471 | Fundamentals of Cyber Security | 3 |
CPS 475 | Secure Application Development | 3 |
Choose one course from the following: 1 | 3 | |
Software Testing and Security Analysis | ||
Cyber Forensics | ||
UNIX/Linux Programming | ||
Computer Architecture and Design | ||
Computer Networks and Security | ||
Computer and Network Security | ||
Reverse Code Engineering | ||
Software Security | ||
Total Hours | 9 |
- 1
Other courses can count toward this concentration with the permission of the chair.
Concentration in Software Engineering (SEN)
This concentration in Software Engineering offers theoretical/practical coursework to facilitate the improvement of software system design and the awareness of the role of such systems in society.
Choose three courses from the following: 1 | 9 | |
Systems Analysis | ||
User Interface Design and Development | ||
Software Testing and Security Analysis | ||
Software Engineering | ||
Database Management Systems | ||
Database Management Systems II | ||
UNIX/Linux Programming | ||
Emerging Programming Languages | ||
Automata Theory | ||
Total Hours | 9 |
- 1
Other courses can count toward this concentration with the permission of the chair.
Computer Information Systems
First Year | |||
---|---|---|---|
Fall | Hours | Spring | Hours |
ASI 150 | 1 | CPS 150 | 4 |
CPS 149 | 3 | MTH 148 | 3 |
MTH 116 | 4 | CAP Natural Science w/lab | 4 |
ENG 100 (CAP Humanities Commons) | 3 | REL 103, PHL 103, or HST 103 (CAP Humanities Commons) | 3 |
REL 103, PHL 103, or HST 103 (CAP Humanities Commons) | 3 | CMM 100 (CAP Communication) | 3 |
REL 103, PHL 103, or HST 103 (CAP Humanities Commons) | 3 | ||
17 | 17 | ||
Second Year | |||
Fall | Hours | Spring | Hours |
CPS 151 | 4 | CPS 242 | 3 |
CPS 341 | 3 | CPS 350 | 3 |
MTH 207 | 3 | Science w/ lab (Satisfies CAP Natural Science) | 4 |
Course for chosen minor1 | 3 | Course for chosen minor1 | 3 |
ENG 200 (CAP Writing Seminar) | 3 | SSC 200 (CAP Social Science) | 3 |
16 | 16 | ||
Third Year | |||
Fall | Hours | Spring | Hours |
CPS 310 | 3 | CPS Elective | 3 |
CPS 430 | 3 | CPS Elective | 3 |
Course for chosen minor1 | 3 | Course for chosen minor1 | 3 |
Course for chosen minor1 | 3 | Course for chosen minor1 | 3 |
CAP Arts | 3 | PHL 319 (Satisfies CAP Adv. Philosophy, Practical Ethical Action) | 3 |
CAP Adv. Philosophy/Religious Studies (Faith Traditions) | 3 | ||
15 | 18 | ||
Fourth Year | |||
Fall | Hours | Spring | Hours |
CPS 490 | 3 | CPS 491 | 3 |
CPS Elective | 3 | CPS ELective | 3 |
Social Science Elective | 3 | CPS Elective | 3 |
CAP Advanced Historical Studies | 3 | CAP Integrative | 3 |
CAP Inquiry | 3 | CAP Diversity and Social Justice | 3 |
15 | 15 | ||
Total credit hours: 129 |
1 | The requirements for the Bachelor of Science in Computer Information Systems include a minor chosen by the student in consultation with the student's academic advisor. |
Computer Science
First Year | |||
---|---|---|---|
Fall | Hours | Spring | Hours |
ASI 150 | 1 | CPS 150 | 4 |
CPS 149 (CAP Natural Science) | 3 | MTH 169 | 4 |
MTH 168 (Satisfies CAP Mathematics) | 4 | CAP Natural Science w/lab | 4 |
Science w/lab | 4 | REL 103, PHL 103, or HST 103 (CAP Humanities Commons) | 3 |
ENG 100 (CAP Humanities Commons) | 3 | REL 103, PHL 103, or HST 103 (CAP Humanities Commons) | 3 |
REL 103, PHL 103, or HST 103 (CAP Humanities Commons) | 3 | ||
18 | 18 | ||
Second Year | |||
Fall | Hours | Spring | Hours |
CPS 151 | 4 | CPS 250 | 3 |
CPS 341 | 3 | CPS 350 | 3 |
MTH 218 | 4 | MTH 301 | 3 |
ENG 200 (CAP Writing Seminar) | 3 | CMM 100 (CAP Communication) | 3 |
SSC 200 (CAP Social Science) | 3 | CAP Arts | 3 |
17 | 15 | ||
Third Year | |||
Fall | Hours | Spring | Hours |
CPS 352 | 3 | CPS 356 | 3 |
MTH 367 | 3 | CPS elective | 3 |
CPS 450 (Satisfies CAP Integrative) | 3 | Science elective | 3 |
Science elective | 3 | Social Science - elective | 3 |
CAP Faith Traditions | 3 | PHL 319 (Satisfies CAP Adv. Philosophy, Practical Ethical Action) | 3 |
15 | 15 | ||
Fourth Year | |||
Fall | Hours | Spring | Hours |
CPS 490 | 3 | CPS 491 (Satisfies CAP Major Capstone) | 3 |
CPS elective | 3 | CPS elective | 3 |
CPS elective | 3 | CPS elective | 3 |
CAP Inquiry | 3 | CAP Advanced Historical Studies | 3 |
CAP Advanced Philosophy/Religious Studies | 3 | CAP Diversity and Social Justice | 3 |
15 | 15 | ||
Total credit hours: 128 |
Courses
CPS 111. Introduction to Personal Computers. 3 Hours
Emphasis on use of operating system, particularly file organization, and applications: word processor, spreadsheet, database and presentation software.
CPS 132. Computer Programming for Engineering & Science. 3 Hours
Fundamentals of computer programming including algorithms, program structure, library routines, debugging, and program verification. Calculus-based computer solutions of problems from science and engineering using C++.
Corequisite(s): MTH 168.
CPS 144. Introduction to Computer Programming. 3 Hours
Fundamentals of computer programming including algorithms, program structure, library routines, debugging, and program verification. Computer solutions of problems from social sciences using a suitable compiler language such as Visual Basic.
CPS 149. Creative Media Applications. 3 Hours
Multidisciplinary, project-driven learning process courses that encourages students to develop problem solving and teamwork skills while fostering creativity and logic. The goal is not only to provide students with some “programming maturity,” but to also engage them through working in small teams on existing projects related to their discipline and interest. Projects may include creative animations and games, mobile app developments, or avatars.
CPS 150. Algorithms & Programming I. 4 Hours
Introduction to computers and programming using a high-level, structured language. Topics include problem solving, algorithms, programming constructs, data representation, stepwise refinement, and debugging.
CPS 151. Algorithms & Programming II. 4 Hours
Algorithms and Programming II covers object-oriented design and development, data abstraction, exception handling, linked lists, stacks, queues, binary trees, and recursion using a high level, structured language.
Prerequisite(s): CPS 150.
CPS 242. Web Application Development. 3 Hours
Web application development using the state-of-the-art environments such as markup languages, scripting languages, dynamic web pages, server side technologies, and database access.
Prerequisite(s): CPS 151.
CPS 249. Programming and Data Structures in Python. 3 Hours
This course will introduce the core data structures of the Python programming language. We explore fundamental data structures, their design, implementation, and effective use in solving problems. Topics include data structures such as trees, search trees, queues, and graphs.
Prerequisites: CPS 149.
CPS 250. Computer Organization and Architecture. 3 Hours
Machine and assembly language instructions, and writing assembly programs. Design of basic logic circuits needed in constructing a computer. Design of circuits for information encoding, arithmetic units, and transferring and storing information. Data path and control unit for a simple processor. Multiprocessing and alternative parallel systems.
Prerequisite(s): CPS 151.
CPS 309. Topics in Computer Science. 1-4 Hours
Lectures or laboratory work in areas of current interest. May be taken more than once. Does not count as upper level credit for majors/minors.
CPS 310. Systems Analysis. 3 Hours
Methodologies for developing software, software development life cycles, data flow approach for system development, data dictionary, process specification, input/output design, E-R diagrams, normalization, and introduction to object-oriented analysis.
Prerequisite(s): CPS 151.
CPS 312. Systems Design. 3 Hours
Software design process; developing structured design (e.g., structure charts) from data flow approach using coupling, cohesion, and other design guidelines; fine-tuning object-oriented analysis model to design using design patterns, and implementation.
Prerequisite(s): CPS 310.
CPS 341. Discrete Structures. 3 Hours
Propositional logic, Boolean algebra, predicate logic, logical deductions, proof techniques, sets, combinatorics, recurrences, functions, relations, discrete structures such as graphs, digraphs, and associated algorithms.
Prerequisite(s): CPS 150.
CPS 343. Comparative Languages. 3 Hours
Language design issues, formal syntax specification, data types and storage methods, activation records and procedural object oriented, functional, and logic programming paradigms.
Prerequisite(s): CPS 350.
CPS 349. Data Science. 3 Hours
Design and implementation of systems for data analytics. Topic includes supervised/unsupervised machine learning, regression analysis, neural network, statistical analysis, and data visualization.
Prerequisites: CPS 249.
CPS 350. Data Structures & Algorithms. 3 Hours
Dynamic nonlinear data structures including trees, binary trees, search trees, balanced search trees, priority queues, and graphs, with an emphasis on their implementation, uses, and associated algorithms. Analysis of the computational complexity of algorithms related to these structures.
Prerequisite(s): CPS 151.
CPS 352. Concepts and Implementation of Programming Languages. 3 Hours
Study of programming language concepts through the implementation of interpreters and assessment of the conceptual differences in the resulting languages. Concepts covered include syntax and semantics, regular and context-free grammars, parsing, binding, scope, parameter passing, lazy evaluation, types, currying, and continuations. A comparative survey of the imperative, functional, logical, and object-oriented paradigms of programming is presented.
Prerequisite(s): CPS 350.
CPS 353. Numerical Methods I. 3 Hours
Study of the algorithms of numerical mathematics with emphasis on interpolation, the solution of nonlinear equations, and linear systems of equations including matrix methods; analysis of errors associated with the algorithms.
Prerequisite(s): (CPS 132 or CPS 150); MTH 169.
CPS 356. Operating Systems. 3 Hours
Introduces the theoretical and practical concepts underlying an operating system's structure and operation. Topics include process and thread creation and management, scheduling, concurrent, multi-threaded programming and synchronization, deadlock, memory management, virtual memory, and computer security.
Prerequisite(s): (CPS 250 or ECE 314) and CPS 350.
CPS 410. User Interface Design and Development. 3 Hours
Addresses the practical problems of designing interfaces for modern software as well as other interactive media. Topics include interaction framework and styles, design principles, design models, new interactive technologies, usability testing and facets of interaction. Group activities and project work is an integral part of this course.
Prerequisite(s): CPS 350.
CPS 415. Software Testing and Security Analysis. 3 Hours
Detailed examination of the software testing and security analysis process. Topics include testing methodologies, code analysis techniques, and secure programing principles and practices.
Prerequisite(s): CPS 350.
CPS 420. Software Engineering. 3 Hours
Provides an overview of the software engineering discipline. Topics include software processes, requirements engineering, system modeling, architectural design, software testing, dependability and security, software reuse, distributed software engineering, project planning, quality management, configuration management, and process improvement.
Prerequisite(s): CPS 350.
CPS 422. Software Project Management. 3 Hours
Introduction to software project management. Topics include process models for software development, project planning techniques, estimation techniques, measuring and controlling work products and processes, managing project risk, teams and communication, and organizational issues.
Prerequisite(s): CPS 310.
CPS 430. Database Management Systems. 3 Hours
Physical and logical organization of databases: the entity-relationship model; relational database model; the data definition and data manipulation language of a commercial database management system; integrity constraints; conceptual database design.
Prerequisite(s): CPS 350.
CPS 432. Database Management Systems II. 3 Hours
Study of query execution and optimization, transaction management, concurrency control, recovery and security techniques. Advanced data models and emerging trends in database systems, like object oriented database systems, distributed database systems, the client-server architecture, multidatabase and heterogeneous systems. Other current database topics and emerging technologies will be discussed.
Prerequisite(s): CPS 430.
CPS 433. Cyber Forensics. 3 Hours
Preserving, recovering, and analyzing digital evidence found in physical and virtual worlds. Topics include data and information retrieval; computer/media forensic analysis, techniques, and tools; and basic criminal law concepts.
Prerequisite(s): CPS 356.
CPS 434. Big Data and Cloud Computing. 3 Hours
Focuses on technologies to make intelligent decisions for scientific and business applications. Topics include semantic web, knowledge representation languages for expressing metadata, machine learning, data visualization, data integration, and predictive models.
Prerequisites: CPS 350.
CPS 437. System Architectures & Networking. 3 Hours
Issues and techniques used in the physical design of computer-based information systems. Basic operating systems, hardware architecture and networking prinicples. Intended for students majoring in MIS; not open to students majoring in CPS, CIS, or PCS.
Prerequisite(s): MIS 380, MIS 385.
CPS 444. UNIX/Linux Programming. 3 Hours
Prepares students for developing software in the UNIX/Linux environment using the C programming language. Topics include system libraries and system calls, shells, system structures and internals, interprocess communication (pipes and signals), network programming (client-server model and sockets), pattern matching and filters, shell programming, automatic program generation, and GUI programming.
Prerequisite(s): CPS 356.
CPS 449. Cloud-based Intelligent Application Development. 3 Hours
State-of-art techniques in building intelligent applications on the cloud that can be applied in various domains.
Prerequisites: CPS 249 or CPS 350.
CPS 450. Design and Analysis of Algorithms. 3 Hours
Introduction to order notation and algorithm analysis. Emphasis will be on learning algorithm design techniques such as divide and conquer, greedy approach, and dynamic programming through exposition of classical algorithms from domains such as sorting, string matching, and graph algorithms. Hardness of problems and introduction to the complexity classes P, NP, and NP-complete. Topics also include impact of computing techniques to the improvement or welfare of society as a whole.
Prerequisite(s): CPS 341, CPS 350.
CPS 452. Emerging Programming Languages. 3 Hours
Exploration of recent trends and developments in programming languages, research and practice. Topics include new concurrency and object models, type systems, functional programming, metaprogramming, multi-paradigm languages, and domain-specific languages.
Prerequisite(s): CPS 350.
CPS 455. Computer Architecture and Design. 3 Hours
Provides a foundation for understanding and evaluating the design principles incorporated in modern computers. Topics include history and classification of computers, instruction-level, data-level, and thread-level parallelism.
Prerequisite(s): CPS 250, CPS 350.
CPS 460. Computer Graphics. 3 Hours
Introduction to primitives and interactive graphics software development. Topics include transforms, clipping, modeling, rendering, texture, animation, and ray tracing.
Prerequisite(s): CPS 350.
CPS 465. Interactive Media. 3 Hours
Provides an exposure to the capabilities of new digital tools to create new experiences. Topics include tools/techniques for collecting, analyzing, and visualizing 3D data; interactive audio/video using motion/light detectors; mobile interfaces; animation; smart rooms; and social networks.
Prerequisite(s): CPS 350.
CPS 470. Computer Networks and Security. 3 Hours
Computer Networks and Security focus on Internet protocols and secure protocols. Topics include the web, domain name systems, reliable data transfer, flow control, congestion control, routing, wireless networks, secure computing, Internet vulnerability and security.
Prerequisites: CPS 350.
CPS 471. Fundamentals of Cyber Security. 3 Hours
This course introduces the student to the theoretical basis of cyber security and provides practical experience in hardening a system against cyber attacks. The course explains the essential concepts of cyber security and applies those concepts to a modern networked operating system via course lectures and a project.
Prerequisite(s): CPS 341.
CPS 472. Computer and Network Security. 3 Hours
Computer and Network Security covers information protection. Topics includes techniques for security in multi-user and distributed systems, principles of secure design, cryptography, authentication, access-control, intrusion detection and viruses, firewalls, wireless security, cracking WEP keys, and VPN security.
Prerequisite(s): CPS 356.
CPS 473. Reverse Code Engineering. 3 Hours
Study theories on the application of cyber power to achieve certain objectives. Topics includes cyber policy, tracing strategy, targeting, cyber intelligence, measuring effects, and legal and ethical issues.
Prerequisite(s): CPS 350.
CPS 474. Software Security. 3 Hours
Introduction to the fundamental topics of software vulnerabilities and attacks together with the countermeasures to prevent the attacks. Covered concepts include vulnerability taxonomies such as CVE, race conditions, buffer overflows, privilege escalation attacks, input validation issues, trust relationships, web security, mobile security, and cutting-edge security research.
Prerequisite(s): CPS 341 and CPS 350.
CPS 475. Secure Application Development. 3 Hours
This course introduces secure programming principles and practices to develop robust, secure software systems that are free from vulnerabilities. Constructive secure programming techniques are integrated with modern application development technologies so that security can be built-in during the design phase in the development process to avoid potential software vulnerabilities and attacks.
Prerequisite(s): CPS 341 and CPS 350.
CPS 477. Honors Thesis. 3 Hours
First of two courses leading to the selection, design, investigation, and completion of an independent, original Honors Thesis project under the guidance of a faculty research advisor. Restricted to students in the University Honors Program with permission of the program director and department chairperson. Students pursuing an interdisciplinary thesis topic may register for three semester hours each in two separate disciplines in consultation with the department chairpersons.
Prerequisite(s): Approval of University Honors Program.
CPS 478. Honors Thesis. 3 Hours
Second of two courses leading to the selection, design, investigation, and completion of an independent, original Honors Thesis project under the guidance of a faculty research advisor. Restricted to students in the University Honors Program with permission of the program director and department chairperson. Students pursuing an interdisciplinary thesis topic may register for three semester hours each in two separate disciplines in consultation with the department chairpersons.
Prerequisite(s): Approved 477; approval of University Honors Program.
CPS 480. Artificial Intelligence. 3 Hours
Fundamentals concepts and techniques of intelligent systems. Topics includes knowledge representation, search strategies, predicate logic, and expert systems.
Prerequisites: CPS 350 or CPS 249.
CPS 481. Intelligent Systems and Machine Learning. 3 Hours
State-of-art techniques in building intelligent systems. Topics include soft computing, agents and multiagent systems, and machine learning.
Prerequisite(s): CPS 350.
CPS 482. Automata Theory. 3 Hours
Formal languages (regular, context-free, recursive, and recursively enumerable), machine models (deterministic and non-deterministic finite automata, push down automata, Turing machines), grammars (regular, context-free, and unrestricted), interplay among these concepts, Church-Turing thesis, and undecidability.
Prerequisite(s): CPS 341.
CPS 483. Graph Algorithms. 3 Hours
Design and analysis of algorithms for problems based on graphs. Classical algorithms and efficient algorithms for restricted domains of graphs will be covered. Analysis of algorithms, complexity classes P, NP, and NP-complete, traversals, bi-connectedness, strongly-connectedness, 2-SAT, planarity testing, and algorithms for restricted classes of graphs.
Prerequisite(s): CPS 341, CPS 350.
CPS 485. Evolutionary Computation. 3 Hours
The history and use of Evolutionary Computation (EC) are explored. Popular approaches to EC (genetic algorithms, genetic programming, evolution strategies, evolutionary programming) are defined and discussed. Coursework includes implementation of evolutionary techniques and review and analysis of literature in the field.
Prerequisite(s): CPS 350.
CPS 490. Capstone I. 3 Hours
Examination of principles, practices, and methodology for development of large software systems using data flow and object-oriented methodologies. User interface design, software testing, and software project management. Selecting and planning a team project; this involves team formation, project selection, project planning, and proposal writing and presentation.
Prerequisite(s): CPS 350.
CPS 491. Capstone II. 3 Hours
An exercise in the design, implementation, documentation, and deployment of a group project culminating in a presentation to the computer science faculty and industry representatives.
Prerequisite(s): CPS 490.
CPS 496. Cooperative Education. 1-3 Hours
Computer science cooperative education work experience in an approved organization. Not open to students with credit in CPS 497. Credit does not apply to major requirements. Repeat to a maximum of three semester hours.
Prerequisite(s): Twelve hours of upper-level CPS courses with a GPA of 3.0; total ninety semester hours with a GPA of 2.75; permission of the department in advance of the work.
CPS 497. Internship. 1-3 Hours
Computer science work experience in an approved organization. Not open to students with CPS 496 credit. Credit does not apply to major requirements. Repeat to a maximum of three semester hours.
Prerequisite(s): Twelve semester hours of upper-level CPS courses with GPA of 3.0; total ninely semester hours and 2.75 GPA; permission of department in advance of the work.
CPS 498. Problems in Computer Science. 1-4 Hours
Individual readings and research in a specialized area. (See CPS 499.) By arrangement. May be taken more than once for additional credit.
Prerequisite(s): Permission of department chairperson.
CPS 499. Special Topics in Computer Science. 1-4 Hours
Lectures or laboratory work in advanced topics from the various areas of computer science. By arrangement. May be taken more than once.
Prerequisite(s): Permission of department chairperson.