200

CPSC-20000 Introduction to Computer Science

This course explores the field of computer science. It provides an overview of computer architecture, networking, data organization, information security, and computational theory. Students will be introduced to fundamental concepts underlying all of computing, such as algorithms, abstractions, and how computers represent numbers, text, images, and sound. Students will learn the basics of programming and computational problem solving.

3

CPSC-21000 Programming Fundamentals

A study of computer organization, data types, expressions, logical structures, subprograms (subroutines and functions), recursion, structured data types (arrays and records), dynamically allocated data, array-based lists, linked lists, stacks, queues, graphs, trees, sorting, and searching.

3

Prerequisites

CPSC 20000, CPSC 31500, or CPEN 10000

CPSC-22000 Introduction to Unix

Students are introduced to the Unix operating system, including installation, configuration, administration, and on-line documentation. Networking with TCP/IP is presented, together with an introduction to apache (http server) and samba (file and printer server). Security controls in Unix and operating system virtualization are also discussed.

3

CPSC-23000 Visual Basic

This course introduces computer programming using the Visual BASIC programming language with object-oriented programming designs and principles. The Microsoft .NET framework is used to develop applications. Emphasis is placed on event-driven programming methods, including creating and manipulating objects, classes, and using object-oriented tools such as the class debugger. An introduction to databases and ASP .NET applications is also discussed.

3

CPSC-23500 Programming for Data Analysis

Disciplines and industries are collecting increasing amounts of data to help guide their work. This course presents programming techniques for working with large data sets. It teaches computer programming from the perspective of developing tools to analyze data.
3

Prerequisites

MATH 21500, MATH 31400, MATH 31500 OR PSYC 30300

CPSC-24500 Object-Oriented Programming

Students will learn to design and develop software using the object-oriented approach. Topics include encapsulation, inheritance, polymorphism, abstraction, and patterns. Students will learn how to use an SDK to develop desktop and web applications that provide data processing and visualization services. Students will also learn how to manage threads and networking connections in software they write.

3

Prerequisites

CPSC 21000

CPSC-24700 Web and Distributed Programming

Languages and technologies for programming and leveraging web-based computer services securely. Languages include PHP, Perl, JavaScript, Java, Ruby, CSS, and HTML5. Technologies include relational databases, web services, Hadoop, and cloud computing platforms. This course teaches students how to develop useful applications using a variety of distributed data and programming models.

3

Prerequisites

CPSC 20000

CPSC-25000 File Systems and Digital Forensics

A study of concepts related to the storage, retrieval, backup, and recovery of data in file systems. Topics include the organization and processing of sequential access files, direct access files, and indexed sequential access files; RAID and disk spanning; the organization of data on a variety of storage devices; the disk boot process; identifying hidden data on a disk's Host Protected Area; analyzing various kinds of partitions; analyzing FAT, NTFS, Ext2, Ext3, UFS1, and UFS2 file systems; recovering data from deleted files and hidden file locations; and using open-source forensics tools to identify drive contents.

3

Prerequisites

CPSC 20000

CPSC-28000 Packet Tracer

This is an introductory course to Cisco Packet Tracer,  a powerful network simulation, visualization, collaboration, and assessment tool that allows students to experiment with network designs and behavior. As an integral part of the Networking Academy learning experience, Packet Tracer provides simulation, visualization, authoring, assessment, and collaboration capabilities and facilitates the teaching and learning of complex technology concepts. Packet Tracer supplements physical networking equipment by allowing students to create virtual networks with an almost unlimited number of devices; encouraging practice, discovery, and troubleshooting.
1

Prerequisites

CPSC 20000

CPSC-28100 Introduction to Networks

This is the first course in the Cisco CCNA Routing and Switching curriculum teaching students the architecture, structure, functions and components of the Internet and other computer networks. Students will understand the TCP/IP layered architecture and protocols. By the end of this course, students will be able to build simple LANS, perform basic configurations for routers and switches, and implement IP addressing schemes. Students will also use network simulation software such as Cisco Packet Tracer to better understand the theoretical concepts of the course.
3

Prerequisites

CPSC 20000

CPSC-28200 Routing and Switching Essentials

This is the second course in the CCNA Routing and Switching curriculum teaching students how to configure a router and a switch for basic functionality. By the end of this course, students will be able to configure and troubleshoot routers and switches and resolve common issues with RIPv1, RIPng, single-area and multi-area OSPF, virtual LANs, and inter-VLAN routing.
3

Prerequisites

CPSC 28100

CPSC-28300 Scaling Networks

This is the third course in the CCNA Routing and Switching curriculum, teaching students how to configure routers and switches for advanced functionality. By the end of this course, students will be able to configure and troubleshoot routers and switches, and resolve common issues with OSPF, EIGRP, and STP.
3

Prerequisites

CPSC 28200

CPSC-28400 Connecting Networks

This is the fourth and final course in the CCNA Routing and Switching curriculum covering the WAN technologies and networks services employed by converged applications in a complex network. Students will understand and describe the operations of virtual private network (VPN). By the end of this course, students will be able to implement VPN, configure and troubleshoot network devices and resolve common issues with data link protocols.
3

Prerequisites

CPSC 28300

CPSC-297XX Topics in Computer Science

This course focuses on a specific topic in computer science that typically falls outside the established curriculum. This course enables the student to encounter content that engages an emerging question or subject in computer science. Topics will vary in accordance with areas of intense current interest.

1-3

Prerequisites

See Semester Course Schedule for prerequisites, if any.