Academic Catalog 2020-2021

Slippery Rock University

Computer Science (CPSC)

CPSC 099 -  Computer Competency Exam  

This non-credit course is used to identify students who have met the university's computer competency requirement by earning a passing grade on the Computer Competency Placement Test.

Credits: 0

CPSC 100 -  Introduction to Computing for Liberal Arts  

A pass/no credit course to provide an introduction to the computer capabilities needed to succeed in an Information Society. This course is designed to support the SRU Computer Competency requirement. Topics will include computer hardware, software, networking, security and privacy, and societal issues.

Credits: 1

Term(s) Typically Offered: Offered Every Term

CPSC 102 -  Collaborative Information Technology and Society  

in globally diverse contexts. The course provides an introduction to the historical development, current use and future directions of collaborative technology in human societies. We will address how to manage and protect personal computing devices and communication, along with the ethical, legal and social issues involved in the use of these collaborative technologies.

Credits: 3

Term(s) Typically Offered: Offered Spring Terms

CPSC 110 -  Computer Concepts  

A computer literacy course stressing the use of application software on personal computers. It covers a survey of computers and their impact on society and the use of word processing software. Other application software is also covered, such as spreadsheets and database software, but the particular applications examined may vary from section to section.

Credits: 3

Term(s) Typically Offered: Offered Every Term

CPSC 125 -  3D Modeling for Computing  

This course introduces students to 3D modeling for applications in computing fields. It covers the basic and intermediate features in 3D modeling software tools, which are utilized in applications such as 30 visualization, 3D animation, virtual reality/augmented reality, and 3D game design. This course also introduces students to the printing of 3D objects.

Prerequisites: CPSC 100D or CPSC 110D or CPSC 130D or PE 202D
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered as Needed

CPSC 130 -  Introduction to Computing and Programming  

An introductory course devoted to programming and to a description of hardware and software concepts. Programming concepts covered include top-down program development using pseudocode, algebraic notation, standard control structures, and arrays in an appropriate programming language. Other topics include binary representation, storage, and general architecture and functioning of a computer system. Keywords: computer science

Prerequisites: ACSD 110D or minimum score of 18 in 'Math ACT Exc 2 - EX110-PL MATH' or minimum score of 421 in 'Math SAT Exc 2 - EX110-PL MATH'
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered Fall & Spring Terms

CPSC 139 -  University Seminar  

University Seminar serves as the entry point to the Slippery Rock University general education program. With its strong faculty-student interaction, the course promotes intellectual inquiry, critical and creative thinking, and academic excellence. Through varied content, the course introduces students to academic discourse and information literacy while exploring topics such as diversity and inclusion and global awareness. This course will set students along the path to becoming engaged with issues and scholarship important to a 21st century education while they learn about themselves and their place in the world.

Credits: 3

Term(s) Typically Offered: Offered as Needed

Enrollment limited to students with a semester level of Freshman 1 or Freshman 2.
Enrollment limited to students with the ROCK STUDIES STUDENT attribute.

CPSC 140 -  Introduction to Programming Principles  

Techniques are stressed that enable systematic development of clear, correct programs. Other topics include data types, algebraic notation, standard control structures, functions; input/output, arrays, and program testing and debugging. This course will be taught in C++.

Prerequisites: ACSD 110D or minimum score of 18 in 'Math ACT Exc 2 - EX110-PL MATH' or minimum score of 421 in 'Math SAT Exc 2 - EX110-PL MATH'
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered as Needed

CPSC 146 -  Programming Principles  

Techniques are stressed that enable systematic development of clear, correct programs. Other topics include data types, algebraic notation, standard control structures, function s; input/output, arrays and program testing and debugging. Programs will be written in the department's current official programming language of instgruction.

Prerequisites: ACSD 110C or minimum score of 18 in 'Math ACT Exc 2 - EX110-PL MATH' or minimum score of 421 in 'Math SAT Exc 2 - EX110-PL MATH'
C Requires minimum grade of C.

Credits: 3

Term(s) Typically Offered: Offered Fall & Spring Terms

CPSC 190 -  Experimental  

A unique and specifically focused course within the general purview of a department which intends to offer it on a "one time only" basis and not as a permanent part of the department's curriculum.

Credits: 1-3

Term(s) Typically Offered: Offered as Needed

CPSC 195 -  Workshop  

A workshop is a program which is usually of short duration, narrow in scope, often non-traditional in content and format, and on a timely topic.

Credits: 1-6

Term(s) Typically Offered: Offered as Needed

CPSC 198 -  Selected Topics  

A Selected Topics course is a normal, departmental offering which is directly related to the discipline, but because of its specialized nature, may not be able to be offered on a yearly basis by the department.

Credits: 1-3

Term(s) Typically Offered: Offered as Needed

CPSC 207 -  Shell Commands and Scripting  

This course introduces the student to the shell commands and shell programming in prevalent operating systems. The architecture of the PC and how it relates to the OS is discussed conceptuallly and physically examined. The hardware and software required for data communication are discussed.

Credits: 3

Term(s) Typically Offered: Offered Fall & Spring Terms

CPSC 210 -  Productivity Software  

An in-depth, practical study of existing productivity software packages that focuses primarily on decision-support systems for microcomputers. Projects will involve the use of intermediate and advanced features of various software packages, as well as the use of several packages in finding computer-based solutions to information storage and retrieval problems.

Prerequisites: CPSC 100P or CPSC 110D or CPSC 099D or CPSC 130D or minimum score of 01 in 'Computer Competency Exam'
P Requires minimum grade of P.
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered as Needed

CPSC 215 -  Cross-Platform Mobile App  

This course will cover a practical and comprehensive approach to planning,mapping, building, testing and deploying mobile applications on multiple major mobile device platforms with multiple major operating systems, currently including IOS and Android on phones and tablets. Students use the software development process to build mobile applications that leverage device features and 3rd party application programming interfaces (APIs) to provide stable and robust software. Topics covered include software design patterns, interface design, application architecture, databases, memory management, input methods, data handling, interfacing with device APIs and connectivity.

Prerequisites: CPSC 130D and CPSC 146D
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered Fall Terms

CPSC 217 -  Structured and Dynamic Web Programming  

This course is designed to cover the features of popular programming languages specifically for creating web pages. Mouse rollovers, browser detects, pop-up windows that launch when a web page loads or in response to specific actions, and form data-checking are just a few of the most popular uses of web programming languages that will be discussed. Programming will be done in a representative programming language.

Prerequisites: CPSC 130D and CPSC 146D
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered Fall & Spring Terms

CPSC 236 -  Selected Computer Languages  

A selected prevalent computer language(s) other than those taught regularly in other Computer Science courses will be studied and used for programming. Topics will include data structure, control structures, data control, modularization and other features of the language. Special applications, if any, of the language will be studied. The student is expected to have basic programming experience in at least one other language. For different languages, this course may be repeated for credit toward graduation, but not toward Computing major or minor.

Prerequisites: CPSC 130D or CPSC 146D
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered as Needed

CPSC 246 -  Advanced Programming Principles  

This course places its emphasis on data and their role in software development. Such a study relies on a two-step approach to data abstratction. In the first step, data must be viewed as abstract objects. These objects are selected and specified so as to be useful in the solution of programming projects. In the second step, the abstract objects are translated into program data structures. An extensive examination of data struc tures provides the student many opportunities to explore the issues of implementing data abstractions. This course will be taught in C++, and will include an introduction to Unix/Linux.

Prerequisites: CPSC 146D and (MGMT 219D or ECON 219D or BUSA 219D or MATH 125D or MATH 152D or STAT 152D or MATH 225D)
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered Fall & Spring Terms

CPSC 290 -  Experimental  

A unique and specifically focused course within the general purview of a department which intends to offer it on a "one time only" basis and not as a permanent part of the department's curriculum.

Credits: 1-3

Term(s) Typically Offered: Offered as Needed

CPSC 295 -  Workshop  

A workshop is a program which is usually of short duration, narrow in scope, often non-traditional in content and format, and on a timely topic.

Credits: 1-6

Term(s) Typically Offered: Offered as Needed

CPSC 298 -  Selected Topics  

A Selected Topics course is a normal, departmental offering which is directly related to the discipline, but because of its specialized nature, may not be able to be offered on a yearly basis by the department.

Credits: 1-3

Term(s) Typically Offered: Offered as Needed

CPSC 300 -  Challenges of Computer Technology  

An in-depth study of the critical issues related to the computerization of society. Ethical, legal, and moral issues raised by the evolution of computer technology will be discussed.

Credits: 3

Term(s) Typically Offered: Offered Every Term

Thematic Thread(s): The Future, Transfer Thread Completion Course

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 301 -  Practical Computer Security  

A practical introduction to the threats present to the online, electronic community, and how to protect yourself and your organization from them.  We will explore the connectivity structure of the Internet, along with the security and criminal threats to members of the online community. The legal, ethical and technical issues related to threats such as viruses, worms, and identity theft will be covered.

Prerequisites: CPSC 099D or CPSC 110D or CPSC 130D or CPSC 100P
D Requires minimum grade of D.
P Requires minimum grade of P.

Credits: 3

Term(s) Typically Offered: Offered Spring Terms

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 305 -  Introduction to Expert Systems  

An overview of the purpose, structure, and applications of expert systems. Topics covered will include expert systems technology, knowledge engineering, applications of expert systems, expert systems development, and the future of expert systems.

Prerequisites: CPSC 100P or CPSC 110D or CPSC 130D or CPSC 099D
P Requires minimum grade of P.
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered as Needed

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 311 -  Discrete Computational Structures  

Introduces computational implementations of the mathematical structures most frequently used in computing including sets, equivalence relations, functions, graphs, trees and standard logic. Also introduces automata, formal languages, countability, decidability and computational complexity, Markov and stochastic processes. The course will stress traditional programming and mathematical approaches to these structures such as the use of recursion, elementary data structure, and proof techniques to instantiate, parse, traverse, demonstrate correctness, or use these computational objects.

Prerequisite: MATH 125D
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered Fall & Spring Terms

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 315 -  Computer Gadget Project  

This course introduces the students to digital electronics and programming based on popular single-board microcontroller and single-board computer system platforms to interact with their environment with sensors and actuators, which can find application in robotics, home automation, the internet of things, cyber-physical systems and sensor networks. Topics include the architecture of single-board microcontroller and single-board computer system, basic electricity and electronics, system connection and configuration, and programming.

Prerequisites: CPSC 146D and CPSC 207D
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered Fall Terms

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 317 -  Scripting Languages  

This course emphasizes programming using scripting languages for the purpose of collecting and manipulating system information by system administrators and managers. Programming concepts such as data types and control structures will be discussed as well as operating system commands. A variety of languages and utilities will be discussed such as the Borne shell, Perl, awk, and the Common Gateway Interface. The student is expected to have programming experience and knowledge of the Unix and Windows environments.

Prerequisites: CPSC 217D or CPSC 207D
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered Fall Terms

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 323 -  Fundamentals of Database Systems  

A practical approach to analysis, design, and implementation of database systems. This course covers topics such as: conceptual, logical and physical data models; relational database and relational algebra; building and mapping entity relationship diagrams (ERDs); normalization; basic and advanced Structured Query Language (SQL) for data retrieval and manipulation; functions, triggers, and procedures; transactions and concurrency control; security, backup, and recovery procedures.

Prerequisites: CPSC 130D or CPSC 146D
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered Fall & Spring Terms

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 327 -  Administration and Security  

Students will learn administration techniques for at least two popular computer operating systems, with special attention to system security. Techniques for managing networking, remote printing, storage allocation, account management, and backup will be discussed. Common techniques for breaching system security, and methods of defense against such attacks, will be emphasized.

Prerequisites: CPSC 207D and (CPSC 246D or CPSC 217D)
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered Spring Terms

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 333 -  Introduction to Computer Forensics  

This is a fundamental course which covers computer forensics. This class covers methods and tools for gainng forensic information from computer systems and networks. It includes case studies of cyber crimes as well as the application and management of cyber forensics. The course introduces students to forensics tools using hands-on experience and the Internet.

Prerequisites: CPSC 099P or CPSC 100P or CPSC 110D or CPSC 130D or CPSC 210D or PE 202D or MIS 210D
P Requires minimum grade of P.
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered Fall Terms

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 337 -  Intoduction to Web Graphics  

This course will expose the student to the standars for Web and mobile graphics such as SVG, CSS and canvas. Topics include color models, coordinate systems, coordinate transformations and popular image formats. Differences between vector and pixel-based approaches and between declarative and scripted models of graphical content creation are also covered.

Prerequisites: CPSC 217D or (CPSC 130D and CPSC 246D)
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered Fall Terms

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 342 -  Introduction to Bioinformatics  

It is a practical course that introduces a wide range of bioinformatics tools, algorithms and biological databases. A broad array of topics in Bioinformatics will be covered such as: overview of Bioinformatics, biological databases, sequence alignment, multiple sequence alignment, molecular phylogeny and evolution, gene expression analysis, protein structure and genome mapping.

Prerequisites: BIOL 250C and (BIOL 104C or (BIOL 101C and BIOL 100C))
C Requires minimum grade of C.

Credits: 3

Term(s) Typically Offered: Offered as Needed

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 358 -  Simulation  

Models of real-life phenomena are programmed with a current simulation language. These are run and adjusted for accurate prediction and explanation. Other simulation languages are surveyed, and needed statistical background is reviewed.

Prerequisites: CPSC 146D and (ECON 219D or MGMT 219D or MATH 152D or MATH 352D)
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered as Needed

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 370 -  Computer Organizatin and Architecture  

This course will study computer organization topics such as data representation, Boolean logic, memory hierarchy, and data path design. It will study computer architecture topics such as CPU control, pipelining and instruction set architecture. The course will also introduce the architecture and software models involved in parallel computing. Students will learn the assembly level machine organization by means of a standard assembly language.

Prerequisites: CPSC 150D or CPSC 246D
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered Spring Terms

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 374 -  Algorithms and Data Structures  

This course establishes a foundation for the systematic study of algorithms and data structures. The integration of these two concepts into a single organizational structure emphasizes that algorithms and data structures are inseparably inter-twined. This course builds and elaborates on the concepts introduced in CPSC 246. This course will be taught in a language other than that used in CPSC 246.

Prerequisites: CPSC 246D and CPSC 311D
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered Spring Terms

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 376 -  Programming Language and Theory  

Programming languages are studies from the Theoretical viewpoint. The goal is deeper understanding of the design and translation of computer languages. Topics include compilation, automata and formal languages, computability by Turing machines and recursive functions, uncomputability, data types, data structures, binding scope, control mechanisms, conversions, storage management, reliability, portability,modularity, documentation, implementation methods and language extensibility.

Prerequisites: CPSC 150D or CPSC 246D
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered Fall Terms

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 378 -  Theory of Computation  

Both the classical and the contemporary theories of computation will be discussed in this course. The topics covered include the theory of automata and formal languages, computability by Turing machines and recursive functions, uncomputability, and proof of correctness of code.

Prerequisites: CPSC 311D or MATH 131D
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered Spring Terms

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 390 -  Experimental  

A unique and specifically focused course within the general purview of a department which intends to offer it on a "one time only" basis and not as a permanent part of the department's curriculum.

Prerequisites: CPSC 150D or CPSC 246D or CPSC 217D
D Requires minimum grade of D.

Credits: 1-3

Term(s) Typically Offered: Offered as Needed

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 395 -  Workshop  

A workshop is a program which is usually of short duration, narrow in scope, often non-traditional in content and format, and on a timely topic.

Credits: 1-6

Term(s) Typically Offered: Offered as Needed

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 398 -  Selected Topics  

A Selected Topics course is a normal, departmental offering which is directly related to the discipline, but because of its specialized nature, may not be able to be offered on a yearly basis by the department.

Credits: 1-3

Term(s) Typically Offered: Offered as Needed

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 405 -  Data Mining & Analysis  

This course provides a survey of data analysis and data mining techniques for finding patterns in data. It will emphasize, using data models, data gathering and storage, selection and preparing of data, model building and testing and interpreting and validating results. If the student takes CPSC 405 for the undergraduate program, he/she can take CPSC 605 for additional credits.

Prerequisite: CPSC 323D
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered Fall Terms

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.
Students cannot enroll who have a program in Health Informatics.

CPSC 406 -  Data Visualization  

This course provides a survey of techniques for visualizing patterns in data. The course will emphasize modern and traditional methods for data visualization, including interactive visualization for data sets too large to display statically. If the student takes CPSC 406 for the undergraduate program, he/she can take CPSC 606 for additional credits.

Prerequisites: (MATH 152D or STAT 152D) and CPSC 146D
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered Summer Terms

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 415 -  Advanced Bioinformatics  

Advanced topics in Bioinformatics will be discussed in this course including: motif searching, biological networks analysis, next generation sequencing data analysis, programming for genomic data analysis, Data Mining techniques for biology problems such as Clustering of gene expression data, and Classification for protein function prediction.

Prerequisite: CPSC 342C
C Requires minimum grade of C.

Credits: 3

Term(s) Typically Offered: Offered as Needed

Enrollment limited to students with a semester level of Senior 1 or Senior 2.

CPSC 417 -  Advanced Web Technologies  

This course emphasized up-to-date technologies that enable the development of interactive Web applications. New Web standards and their applications and development toolkits will be exemplified. Advanced concepts in scripting languages for the Unix and Windows environments will be discussed.

Prerequisite: CPSC 317D
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered as Needed

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 423 -  Computer Networks  

This is an introduction to computer networks and data communications. Course content includes: the layered model; transmission and multiplexing; data link protocols; packet, point-to-point, and satellite transmission; local area networks; security and privacy. Examples of some well-known networks will be studied.

Prerequisites: CPSC 150D or CPSC 246D or CPSC 217D
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered Fall Terms

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 427 -  Interface Design  

This Information Technology majors' course uses graphical user interface design concepts to introduce interface design possibilities. This senior-level course requires students to produce an intricate interface that utilizes systems design, information management, systems administration and security, and programming concepts from lower-level courses. This course is intended as a capstone course that introduces human user interface theory and practice.

Prerequisites: CPSC 317D and CPSC 337D
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered Spring Terms

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 450 -  Internship  

Professional work experience performed as an intern at selected agencies supervised both by the agency and by the Computer Science Department.

Credits: 1-12

Term(s) Typically Offered: Offered as Needed

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 456 -  Introduction to Computer Graphics  

This course introduces the basics of interactive computer graphics including software and hardware requirements for computer graphics systems, graphics data structures, algorithms and programming languages, raster and random display devices, and graphics applications. Students will work with dedicated graphics computers in completing laboratory exercises and course projects.

Prerequisite: CPSC 374D
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered Fall Terms

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 464 -  Principles of Concurrent Programming and Operating Systems  

An introduction to operating systems with emphasis on fundamental principles. These include store management, processor management, file systems, and input/output. Laboratory exercises are assigned using a language that supports concurrency. Distributed and "real time illustrations are used, as well as standard operating system illustrations.

Prerequisites: CPSC 370D and CPSC 374D
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered as Needed

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 466 -  Compiler Design and Implementation  

This is an introduction to language translation. Topics include specification of languages and its relation to automata, lexical analysis, finite state machines, context free languages, LL and LR parsing methods, syntax directed translation, error recovery, code generation, and portability.

Prerequisites: CPSC 370D and CPSC 374D and CPSC 376D and CPSC 378D
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered as Needed

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 474 -  Advanced Architecture & Parallel Computing  

This course will investigate the architecture and software models involved in parallel computing. We will explore both shared-memory and distributed-memory systems, along with the algorithms and languages involved in those systems.

Prerequisite: CPSC 370D
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered Fall Terms

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 476 -  Artifical Intelligence  

A survey of artificial intelligence topics including heuristic programming, search techniques, knowledge representation, expert systems, vision and speech in automators, pattern recognition, and robotics.

Prerequisite: CPSC 374D
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered Spring Terms

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 478 -  Analysis of Algorithms  

An advanced study of algorithms and data structures. Analysis of algorithms, space and time complexity, and the NP classes will be considered. Significant illustrative individual or group programming projects are required. Examples may be drawn from heuristic programming, encipherment, natural language processing, object code generation, combinatorial analysis, graphics, robotics, relational databases, or other algorithmic issues of current importance.

Prerequisite: CPSC 374D
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered as Needed

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 480 -  Topics in Computer Science: Machine Learning  

A survey of machine learning topics including heuristic programming, search techniques, knowledge representation, expert systems, fuzzy logic, neural networks, evolutionary algorithms and swarm intelligence. If the student takes CPSC 480 for the undergraduate program, he/she can take CPSC 680 for additional credits.

Prerequisite: CPSC 374D
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered Fall Terms

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 485 -  Big Data Analytics  

This is a project driven course designed to provide techniques for acquiring, managing and analyzing massive unstructured data. Consideration will be given to both batch mode processing and real time analytics Specific topics include the MapReduce parallel computing paradigm, distributed file systems, the Hadoop Ecosystem and its components such as Pig, Hive, HBase, Oozie, Yarn and Mahout, NoSQL databases, cloud computing, techniques for clustering and visualizing big data, Web analytics, machine learning in a big data setting and data setting and data security issues. Applications in business, engineering, health care and social networks will also be covered. If the student takes CPSC 485 for the undergraduate program, he/she can take CPSC 685 for additional credits.

Prerequisite: CPSC 405D
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered Spring Terms

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 488 -  Software Engineering  

The course is the study of software engineering principles and design. The course will emphasize requirement analysis, design, testing, debugging and implementation of a semester long project. Students will work in groups for the project to be implemented. There will be multiple phases for the design and implementation of the project. The project will be implemented using a standard programming environment.

Prerequisite: CPSC 374D
D Requires minimum grade of D.

Credits: 3

Term(s) Typically Offered: Offered Spring Terms

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 490 -  Independent Study  

Supervised study in a special interest area. Prerequisites: Two computer science courses selected from 370 or above, permission of the instructor, departmental chairperson, and dean of the college where the study will be conducted. Independent Study courses give students the opportunity to pursue research and/or studies that are not part of the university's traditional course offerings. Students work one on one or in small groups with faculty guidance and are typically required to submit a final paper or project as determined by the supervising professor.

Credits: 1-3

Term(s) Typically Offered: Offered as Needed

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 495 -  Workshop  

A workshop is a program which is usually of short duration, narrow in scope, often non-traditional in content and format, and on a timely topic.

Credits: 1-6

Term(s) Typically Offered: Offered as Needed

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.

CPSC 498 -  Selected Topics  

The in-depth examination of a specific topic. For different topics, this course may be repeated for required elective credits toward a computer science major or minor. A Selected Topics course is a normal, departmental offering which is directly related to the discipline, but because of its specialized nature, may not be able to be offered on a yearly basis by the department.

Credits: 1-3

Term(s) Typically Offered: Offered as Needed

Students with a semester level of Freshman 1, Freshman 2 or Sophomore 1 may not enroll.