Computer Science

The Department of Computer Science offers undergraduate programs leading to the Bachelor of Science in Computer Science, the Bachelor of Science in Computer Information Systems, and the Associate of Applied Business in Computer Information Systems, as well as minors and certificates. The department also offers a graduate program leading to an Master of Science in Computer Science.

Computer Information Systems (CISS)

CISS:105 Introduction to Computers and Application Software (3 Credits)

Overview of basic computer concepts, electronic mail and Internet terminologies. Introductory-level instruction and hands-on experience in word processing, spreadsheet, database and presentation software. (Formerly 2440:105)

CISS:121 Introduction of Logic/Programming (3 Credits)

Prerequisite: CISS 105 with a grade of C or better or placement test. An introduction to business problem solving using computer-based solutions. Topics include structured design, documentation and modularity. Includes a component of hands-on programming. (Formerly 2440:121)

CISS:125 Spreadsheet Software (2 Credits)

Prerequisite: CISS 105 with a grade of C or better or placement test. Emphasizes mastery of spreadsheet applications using Excel. (Formerly 2440:125)

CISS:134 Cybersecurity Fundamentals (3 Credits)

Prerequisite: CISS 105 with a grade of C or better or placement test. Fundamentals of malware, social theories, protocols, firewalls, computer forensics, intrusion detection, prevention and containment incidents, incident response, and cybersecurity policy. (Formerly 2440:134)

CISS:140 Introduction to Web Development (3 Credits)

Prerequisite: CISS 105 with a grade of C- or better or computing placement test. Students will learn to create web pages using HTML/HTML5 resources such as hyperlinks, tables, forms, images, and multimedia. Emphasis is also placed on how to enhance web documents using CSS and other web technologies. Students are introduced to fundamentals of client-side programming. (Formerly 2440:140)

CISS:141 Web Server Administration (3 Credits)

Prerequisite: CISS 105 with a grade of C or better or placement test. Provides Web server administration guidelines such as selecting software/hardware, domain name registration, analyzing security/legal issues, and implementing marketing strategies. (Formerly 2440:141)

CISS:145 Introduction to Unix/Linux (3 Credits)

Prerequisite: CISS 105 with a grade of C or better or placement test. This course explores the vital functions that an operating system performs. A multi-user operating system is studied from a functional and hands-on approach. (Formerly 2440:145)

CISS:160 JAVA Programming (3 Credits)

Prerequisite: CISS 121 with a grade of C or better. Course introduces the JAVA programming language. Programming techniques are demonstrated through the coding, testing and debugging of JAVA applications and applets. (Formerly 2440:160)

CISS:170 Visual BASIC (3 Credits)

Prerequisite: CISS 121 with a grade of C or better. Course includes hands-on experience with Visual BASIC, design of Graphical User Interface (GUI) applications, event-driven programming, linking of windows, and accessing relational databases. (Formerly 2440:170)

CISS:180 Introduction to Database Management (3 Credits)

Prerequisite: CISS 121 with a grade of C or better. Overview of database system models and functions. Covers introduction to database design and relational database definition and manipulation using SQL. (Formerly 2440:180)

CISS:201 Networking Basics (3 Credits)

Prerequisite: CISS 105 with a grade of C or better or placement exam. The introductory course in networking. It includes study of the common network protocols, structures, and models. Basic router and switch configurations are introduced. (Formerly 2440:201)

CISS:202 Router and Routing Basics (3 Credits)

Prerequisite: CISS 201 with a grade of C or better. The second course to networking. It covers basic router configuration as well as routed and routing protocols. (Formerly 2440:202)

CISS:203 Switching Basics and Wireless (3 Credits)

Prerequisites: CISS 201 and CISS 202 with a grade of C or better in both. The third of four courses leading to the CCNA certification. The course covers switching basics and basic wireless networking. (Formerly 2440:203)

CISS:204 WAN Technologies (3 Credits)

Prerequisites: CISS 202 and CISS 203 (each with a grade of C or better). The fourth of four courses leading to the CCNA certification. Topics covered include IP services and Wide Area Network theory and design. (Formerly 2440:204)

CISS:210 Client/Server Programming (3 Credits)

Prerequisite: CISS 180 with a grade of C- or better. Introduces student to client/server programming concepts and implementations. Includes hands-on experience to show integration of databases in client-server program development. (Formerly 2440:210)

CISS:211 Interactive Web Programming (3 Credits)

Prerequisites: CISS 121 and CISS 140 (each with a grade of C or better). Provides students with instruction on interactive Web programming using XML and DHTML (HTML/XHTML/HTML5, CSS, and Web scripting). (Formerly 2440:211)

CISS:212 Multimedia & Interactive Web Elements (3 Credits)

Prerequisite: CISS 140 with a grade of C or better. Reviews and demonstrates web tools and techniques like RealAudio, Shockwave, QuickTime, video conferencing and other dynamic graphical elements to enhance Web-based communication. Multimedia software may change to reflect current technology. (Formerly 2440:212)

CISS:240 Computer Information Systems Internship (3 Credits)

Prerequisites: CISS 241 or [CISS 202 and CISS 247] each with a grade of C- or better and permission of department. Provides student experience in computing/information technology in the workplace. (Formerly 2440:240)

CISS:241 Systems Analysis & Design (3 Credits)

Prerequisites: CISS 180 and [CISS 160 or CISS 170 or CISS 256], each with a grade of C or better. Covers all phases of business systems analysis, design, development, and implementation. Such principles as system flowcharting and file and document design emphasized. (Formerly 2440:241)

CISS:247 Hardware Support (3 Credits)

Prerequisite: Admission to program or permission of the program director. This course introduces the student to the basic skills required to troubleshoot, maintain and repair computers. (Formerly 2440:247)

CISS:248 Server Hardware Support (3 Credits)

Prerequisite: CISS 247 with a grade of C or better. This course introduces the student to server hardware and expands student knowledge of client hardware. (Formerly 2440:248)

CISS:251 CIS Projects (3 Credits)

Prerequisite: CISS 241 with a grade of C or better or permission. Using a simulated work environment, project teams are set up and required to analyze an unstructured problem, prepare alternative designs and implement a solution. (Formerly 2440:251)

CISS:256 C++ Programming (3 Credits)

Prerequisite: CISS 121 with a grade of C or better. This course explores object-oriented programming through C++ program development. (Formerly 2440:256)

CISS:282 Microsoft Networking II (3 Credits)

Prerequisite: 2440:281 with a grade of C or better. Provides the knowledge and skills necessary to manage and maintain computers with the Windows Server 2008 Network Operating System. This course will also help prepare you to pass the MCTS Exam. (Formerly 2440:282)

CISS:283 Microsoft Networking III (3 Credits)

Prerequisite: CISS 282 with a grade of C or better. Provides the knowledge and skills necessary to manage and maintain an active directory service hosted by the Server 2008 Network Operating System. This course also helps prepare the student to pass the MCTS Exam. (Formerly 2440:283)

CISS:284 Microsoft Networking IV (3 Credits)

Prerequisite: CISS 283 with a grade of C or better or passing score on the 70-640 Microsoft Certification Exam. This course will provide you with the knowledge and skill necessary to install, configure, manage and maintain the server services provided with Server 2008. (Formerly 2440:284)

CISS:290 Special Topics: Computer Information Systems (1-5 Credits)

Selected topics or subject areas of interest in computer information systems. (Formerly 2440:290)

CISS:300 Network Authentication and Security (3 Credits)

Prerequisites: CISS 204 with a grade of C or better and junior or better standing. This course focuses on network security issues related to conducting business over the Internet, including authentication, authorization, and firewalls. (Formerly 2440:300)

CISS:303 Voice, Data, and Video (3 Credits)

Prerequisites: CISS 204 with a grade of C or better and junior or better standing. This course focuses on network issues related to the integration of voice, data, and video over the same network media and equipment. (Formerly 2440:303)

CISS:306 Ethics & Law in Information Technology (3 Credits)

Prerequisite: Junior or greater standing. This course is designed to introduce the student to the central issues concerning intellectual property, privacy, and copyright law as it pertains to the development and distribution of software systems. (Formerly 2440:306)

CISS:310 Wireless Networking (3 Credits)

Prerequisite: CISS 204 with a grade of C or better or permission. This course provides students with various wireless networking technologies. (Formerly 2440:310)

CISS:311 Client/Server Programming II (3 Credits)

Prerequisite: CISS 210 with a grade of C or better. Discusses tools for client-server programming, distributed computing, socket programming, and security implementation. (Formerly 2440:311)

CISS:321 Server-Side Scripting (3 Credits)

Prerequisites: CISS 121 and CISS 140, both with a grade of C or better. This course provides students with instruction on using server-side scripting languages to develop interactive client/server web-based applications. (Formerly 2440:321)

CISS:331 Programming for Cybersecurity (3 Credits)

Prerequisites: CISS 121 and CISS 145 with grades of C or better. This course will introduce basic programming techniques used for ethical hacking using the Linux Operating System and other tools that are commonly used in cybersecurity. (Formerly 2440:331)

CISS:360 Java Programming II (3 Credits)

Prerequisite: CISS 160 with a grade of C or better. This course covers advanced object-oriented programming concepts, GUI programming, web application programming, network and security programming, JavaBeans and explores aggregations. (Formerly 2440:360)

CISS:365 E-Business Application Development (3 Credits)

Prerequisites: CISS 211 and CISS 321, both with a grade of C or better. This course covers web programming techniques to develop Web-based e-business solution and covers e-business models and business issues. (Formerly 2440:365)

CISS:370 Visual Basic Programming II (3 Credits)

Prerequisite: CISS 170 with a grade of C or better. This course explores object-oriented programming through Visual Basic program development at a more advanced level, with more attention to business applications. (Formerly 2440:370)

CISS:388 Advanced UNIX/Linux (3 Credits)

Prerequisites: CISS 145 with a grade of C or better and junior or greater standing. This course provides students with the necessary knowledge and skills to perform basic administrative tasks on a UNIX/Linux operating system. (Formerly 2440:388)

CISS:400 Advanced Routing (4 Credits)

Prerequisites: CISS 201, CISS 202, CISS 203, CISS 204, CISS 300, all with a grade of C or better, and MATH 154; or possess a current CCNA certification and be able to configure a router to the CCNA standards. This course focuses on advanced routing protocols and features and complies with the content of the Cisco Academy Cisco Certified Network Profession (CCNP) Advanced Routing course. (Formerly 2440:400)

CISS:401 Multilayer Switching (3 Credits)

Prerequisites: Must have a current CCNA certification and be able to program a router to the CCNA standards (requires permission), or must have successfully completed all four Cisco Networking Academy CCNA courses from an accredited academy (CISS 201, CISS 202, CISS 203, CISS 204, all with a grade of C or better). This course focuses on switching protocols and features. This course complies with the content of the Cisco Academy Cisco Certified Network Profession (CCNP) Switching course. (Formerly 2440:401)

CISS:402 Troubleshooting Complex IP-based Networks (4 Credits)

Prerequisites: CISS 400 and CISS 401 with grades of C or better or permission. This course focuses on methodologies and hands-on skills needed to maintain and troubleshoot complex IP networks. (Formerly 2440:402)

CISS:430 Network Monitoring and Management (3 Credits)

Prerequisite: CISS 204 with a grade of C or better or junior or greater standing. This course provides students the basic theory and practical application of network monitoring and management skills. (Formerly 2440:430)

CISS:431 UNIX-based Systems Security (3 Credits)

Prerequisites: CISS 388 with a grade of C or better and junior or greater standing. This course will introduce the various methods used to secure UNIX-based operating systems (Apple iOS and Andriod Operating System) on a computer network. (Formerly 2440:431)

CISS:441 Cyber Security (3 Credits)

Prerequisites: MATH 361, DGFR 441, and CISS 388 with a grades of C or better and junior or greater standing. This course will address issues involving hacking, malware, social theories, protocols, firewalls, intrusion detection, the prevention and containment of intrusion incidents, the incident response process, and computer forensic examination. (Formerly 2440:441)

CISS:450 Applied Data Mining (3 Credits)

Prerequisites: MATH 345 and junior or greater standing. This course is designed to introduce the student to the central issues in business data mining. (Formerly 2440:450)

CISS:451 CIS Senior Design Projects I (3 Credits)

Prerequisite: CISS:306, CISS:388, senior standing and admission to a computer information systems major within the College of Engineering and Polymer Science. Team-based research, documentation, and implementation of a project on a current topic in information technology. Capstone experience for Computer Information Systems Bachelor of Science program. (Formerly 2440:451)

Gen Ed: - Capstone

CISS:452 CIS Practicum (3 Credits)

Prerequisite: Permission. Provides students with experience in computer information systems operation and maintenance in the workplace. Practicum must be relevant to the specialization area. (Formerly 2440:452)

CISS:456 C++ Programming II (3 Credits)

Prerequisite: CISS 256 with a grade of C or better. This course explores object-oriented programming through C++ program development at a more advanced level. Also considers Visual programming and connection to databases. (Formerly 2440:456)

CISS:465 Data Communications & Networking (3 Credits)

Prerequisite: Junior or greater standing. Introduces students to business data communication and networking concepts. The OSI model, various network configuration and popular industry communication protocols are explored at an advanced level. (Formerly 2440:465)

CISS:470 Database Management II (3 Credits)

Prerequisite: CISS 180 with a grade of C or better. Covers advanced database design, definition, manipulation, and administration tasks with emphasis placed on the relational model, the object-oriented model, and client/server systems. (Formerly 2440:470)

CISS:480 Current Topics in Computer Information Systems (3 Credits)

Prerequisite: Permission. Seminar in topics of current interest in information technology or special individual topics in information technology. (Formerly 2440:480)

CISS:490 CIS Senior Networking Projects (3 Credits)

Prerequisites: CISS 388, CISS 400, and CISS 401 with grades of C or better or permission. The capstone course is used to research, document and implement current and advanced IT topics using knowledge and skills developed from networking courses. (Formerly 2440:490)

CISS:491 CIS Senior Cybersecurity Project (3 Credits)

Prerequisites: DGFR 442, DGFR 443, and CISS 388 with grades of C or greater or permission. This is the capstone course for the CIS Digital Forensics and Cybersecurity degree options. (Formerly 2440:491)

Computer Science (CPSC)

CPSC:101 Essentials of Computer Science (3 Credits)

Explore major topics in Computer Science - computing systems, data representation, hardware, programming topics, and important applications such as networks, robotics, databases, and gaming. (Formerly 3460:101)

CPSC:125 Descriptive Computer Science (2 Credits)

Computer literacy: terminology; methods, media for data representation, storage; elements of a computing system; data organization. (Formerly 3460:125)

CPSC:126 Introduction to Visual Basic Programming (3 Credits)

Windows GUI and Microsoft's Visual BASIC programming environment. Design of user interfaces, event-driven programming, basic control structures, simple variables, arrays, and sequential files. (Formerly 3460:126)

CPSC:200 Programming for Data Science (4 Credits)

Prerequisite: MATH 145 or MATH 149. Introductory programming for data-intensive applications including data collection, pre-processing/cleansing, analysis, and visualization, using libraries for processing of large data sets. Designed as a first programming course for non-majors in the sciences (Formerly 3460:200)

CPSC:209 Computer Science I (4 Credits)

Prerequisite: Completion of MATH 145 or MATH 149 with a grade of C- or better or equivalent. Introduction to problem-solving methods and algorithms. Programming in a high-level language including how to design, code, debug and document programs with good programming style. (Formerly 3460:209)

CPSC:210 Computer Science II (4 Credits)

Prerequisites: CPSC 209 and MATH 208 with a grade of C- or better. Dynamic memory allocation methods, elementary data structures, internal representations, and associated algorithms. Topics include lists, stacks, queues, trees, and sorting methods. (Formerly 3460:210)

CPSC:289 Selected Topics in Computer Science (1-3 Credits)

Prerequisite: Permission. Selected topics of interest in computer science. (Formerly 3460:289)

CPSC:306 Assembly and System Programming (4 Credits)

Prerequisite: Completion of CPSC 210 or equivalent with a grade of C- or better. Basic computer organization, digital logic, and data representation. Programming in assembly and C languages on a typical digital computer. (Formerly 3460:306)

CPSC:307 Internet Systems Programming (3 Credits)

Prerequisite: Completion of CPSC 210 or equivalent with a grade of C- or better. Overview of current programming languages, tool and scripting technologies for the Internet and World Wide Web. (Formerly 3460:307)

CPSC:316 Data Structures (3 Credits)

Prerequisites: CPSC 210 and [MATH 221 or MATH 210] with grades of C- or better. A continuation of topics in CPSC 210. Topics include: graphs and graph algorithms, external sorting, hashing, advanced tree and file structures. (Formerly 3460:316)

CPSC:389 Intermediate Topics in Computer Science (1-3 Credits)

Prerequisite: Permission of instructor. Selected topics of interest in computer science at an intermediate level. (Formerly 3460:389)

CPSC:395 Internship in Computer Science (1-12 Credits)

Prerequisites: Completion of CPSC 209 and CPSC 210 with grades of C- or better, and permission of a faculty supervisor. Placement in industry for experience related to computer science. (May be repeated to a maximum of 12 credit hours. No more than three credits may be applied towards a computer science major.) (Formerly 3460:395)

CPSC:406 Introduction to C & UNIX (3 Credits)

Prerequisite: Programming experience. Syntax of C with flow structures, pointers, and command line concepts. For UNIX, shell scripts, UNIX file structure, system calls and interprocess communication protocols. (Not an approved mathematics and computer science major, minor, or certificate elective.) (Formerly 3460:406)

CPSC:408 Windows Programming (3 Credits)

Prerequisites: Completion of CPSC 210 or CPSC 406 with a grade of C- or better or permission. Windows operating systems, integrated development environment, event-driven programming, graphical user interface design, object libraries, component object model, object linking, embedding, client-server objects. (Formerly 3460:408)

CPSC:411 Human-Computer Interaction (3 Credits)

Prerequisite: CPSC 316. This course introduces the basic concepts and technologies of Human-Computer Interaction (HCI). Students will learn how to design and implement systems for human to interact with computers. Topics include: Categories of HCI, CLI, GUI, NUI, Design, Implementation and Evaluation of HCI, HCI Devices, Virtual Device Drive, HCI Toolkits, HCI Standards, Categories of Interactive Tasks, EDP and Multi-Threading in HCI, VR/AR/MR/XR in HCI, APP HCI, 3D Printing. (Formerly 3460:411)

CPSC:415 Big Data Programming (3 Credits)

Prerequisite: CPSC 210 with a grade of C- or higher. Fundamentals of big data programming and computing platforms. Wrangling, modeling, visualizing, and analyzing data; computing platforms for data mining and deep learning. (Formerly 3460:415)

CPSC:418 Introduction to Discrete Structures (3 Credits)

Prerequisite: Completion of CPSC 210 with a grade of C- or better or permission. Introduction to a number of structures in algebra of particular use to student in computer science. Topics include algorithms and flow chart language, graphs and digraphs, trees, lattices codes. (Formerly 3460:418)

CPSC:421 Object-Oriented Programming (3 Credits)

Prerequisite: Completion of CPSC 210 with a grade of C- or better. Object-oriented design, analysis, and programming using different development models. Comparison with other programming paradigms. (Formerly 3460:421)

CPSC:426 Operating Systems (3 Credits)

Prerequisites: Completion of CPSC 316 and CPEN 320 or equivalents with grades of C- or better. Introduction to aspects of all modern operating systems: types; storage management; process and resource control; interacting process synchronization. (Formerly 3460:426)

CPSC:428 UNIX System Programming (3 Credits)

Prerequisite: Completion of CPSC 210 with a grade of C- or better and knowledge of C. An overview of the UNIX operating system. Shell programming. Process management, processor management, storage management, scheduling algorithms, resource protection, and system programming. (Formerly 3460:428)

CPSC:430 Theory of Programming Languages (3 Credits)

Prerequisite: Completion of CPSC 210 with a grade of C- or better. Advanced concepts underlying programming languages and their applications, formal definitions of programming languages, Backus Normal Form, semantics. Alternative programming paradigms including functional programming. (Formerly 3460:430)

CPSC:435 Algorithms (3 Credits)

Prerequisite: Completion of CPSC 316 with a grade of C- or better. Design and analysis of efficient algorithms for random access machines; derivation of pattern classification algorithms. (Formerly 3460:435)

CPSC:436 Applied Machine Learning (3 Credits)

Prerequisite: CPSC 210 with a grade of C- or higher. Machine learning studies algorithms and models that enable computers to complete task without explicit instructions. These algorithms rely on rules, associations, and patterns presented in large data sets gathered or generated through self-learning. This course will introduce students the fundamentals of machine learning, and concepts of deep learning. Topics include machine learning concepts, tasks, and workflow; supervised learning methods for classification and prediction; unsupervised learning methods for pattern recognition; concepts of advanced supervised learning methods including deep learning algorithms such as neural networks and convolutional neural networks. The main focus of the course is the application of industry-leading machine learning algorithms and the enabling techniques that make the implementation of the algorithms practical. (Formerly 3460:436)

CPSC:438 Interactive Game & Game Engine Design (3 Credits)

Prerequisite: CPSC 316. This course will introduce the basic concepts and techniques of game and game engine design. Students will learn how to design and implement interactive computer games and game engines. Topics include: Interactive Animation, Game Engines, EDP in Game Development, Procedural Animation and Physics Engine, Decision Making and AI Games, Surface & Volume Representation, VR, AR, MR, APP Games, Game Engine Development, and Voxel-Engine. (Formerly 3460:438)

CPSC:440 Compiler Design (3 Credits)

Prerequisites: Completion of CPSC 210 and (CPEN 320 or CPSC 306), with a grade of C- or better. Techniques used in constructing compilers, including lexical and syntactic analysis, parsing techniques, object code generation and optimization. Course requires a compiler implementation project. (Formerly 3460:440)

CPSC:445 Introduction to Bioinformatics (3 Credits)

Prerequisite: Completion of CPSC 210 with a grade of C- or better or permission. Introduce major themes in bioinformatics. Topics include concepts of molecular genetics, biological databases, database searching, sequence alignments, phylogenetic trees, structure prediction, and microarray data analysis. (Formerly 3460:445)

CPSC:453 Computer Security (3 Credits)

Prerequisites: Completion of CPSC 210 with a grade of C- or better. Principles of computer security -- cryptography, authentications, secure network protocols, intrusion detection and countermeasures. (Formerly 3460:453)

CPSC:455 Data Communication & Computer Networks (3 Credits)

Prerequisites: Completion of CPSC 210 with a grade of C- or better. ISO-OSI, TCP/IP, SNA data switching, protocols, flow and error control, routing, topology, Network trends, network taxonomies, and socket-based programming. (Formerly 3460:455)

CPSC:457 Computer Graphics (3 Credits)

Prerequisite: Completion of CPSC 210 with a grade of C- or better. Topics in vector and raster graphics, interactive graphics languages, scan conversion, clipping, geometric transformation, projection, shading, animation and virtual reality. (Formerly 3460:457)

CPSC:460 Artificial Intelligence & Heuristic Programming (3 Credits)

Prerequisite: Completion of CPSC 210 with a grade of C- or better. Study of various programs which have displayed some intelligent behavior. Exploration of level at which computers can display intelligence. (Formerly 3460:460)

CPSC:463 Pervasive Computing (3 Credits)

Prerequisites: Completion of CPSC 210 with a grade of C- or better. Computing from a wireless perspective. Topics include protocols, algorithms, security and sensor networks. (Formerly 3460:463)

CPSC:465 Computer Architecture (3 Credits)

Prerequisite: Completion of CPSC 210 and (CPEN 320 or CPSC 306), with a grade of C- or better. An introduction to the hardware organization of the computer at the register, processor and systems level. In-depth study of the architecture of a particular computer system family. (Formerly 3460:465)

CPSC:468 Mobile Robotics (3 Credits)

Prerequisites: Completion of CPSC 210 with a grade of C- or better. Introduction to history, hardware and software components, and design of autonomous mobile robots. Multiple projects involving both physical robots and software emulation. (Formerly 3460:468)

CPSC:475 Database Management (3 Credits)

Prerequisite: Completion of CPSC 210 with a grade of C- or better. Fundamentals of database organization, data manipulations and representation, data integrity, privacy. (Formerly 3460:475)

CPSC:476 Introduction to NoSQL Data Management (3 Credits)

Prerequisite: CPSC 210. The widespread emergence of big data storage needs has driven the development and adoption of a new class of non-relational databases commonly referred to as NoSQL databases. This course will explore the origins of NoSQL databases and the characteristics that distinguish them from traditional relational database management systems. Core concepts of NoSQL databases will be presented, followed by an exploration of how different database technologies implement these core concepts. We will take a closer look at 1-2 databases from each of the four main NoSQL data models (key-value, column family, document, and graph), highlighting the business needs that drive the development and use of each database. Finally, we will present criteria that decision makers should consider when choosing between relational and non-relational databases and techniques for selecting the NoSQL database that best addresses specific use cases. (Formerly 3460:476)

CPSC:477 Introduction to Parallel Processing (3 Credits)

Prerequisites: Completion of CPSC 316 with a grade of C- or better and knowledge of C. Commercial processors: past and present. Parallel languages, models of parallel computation, parallel algorithm design and performance evaluation. Parallel paradigms with relation to real world applications. (Formerly 3460:477)

CPSC:480 Software Engineering (3 Credits)

Prerequisite: Completion of CPSC 210 with a grade of C- or better. Introduction to formal software specification and validation. Introduction of methodologies and tools of design, development and validation, and maintenance. (Formerly 3460:480)

CPSC:489 Topics in Computer Science (1-3 Credits)

Prerequisite: Permission of instructor. Selected topics in computer science at an advanced level. (Formerly 3460:489)

CPSC:490 Senior Seminar in Computer Science (3 Credits)

Prerequisites: Must have completed at least 30 hours of CPSC courses. Corequisites: CPSC 435 and [CPSC 426 or CPEN 325]. Professional software development, surviving "Mission Impossible" projects, computer ethics, intellectual property rights (patents and copyrights), and other current topics. (Formerly 3460:490)

Gen Ed: - Capstone

CPSC:497 Individual Study in Computer Science (1-3 Credits)

(May be repeated. Can apply to degree, minor or certificate only with department approval.) Prerequisite: Permission. Directed studies designed as introduction to research problems under guidance of designated faculty member. (Formerly 3460:497)

CPSC:498 Senior Honors Project: Computer Science (1-3 Credits)

Prerequisites: CPSC 497 and Senior student in Honors Program. Directed study for senior student in the Honors Program who has completed CPSC 497. An introduction to research problems in the computer science under the guidance of selected faculty. (Formerly 3460:498)