Feb 17, 2019  
2016-2017 Catalog 
    
2016-2017 Catalog ARCHIVED CATALOG: Content may no longer be accurate.

Course Descriptions - CS, ETC, NET, WEB


School of Computing Go to Computer Science

Courses

  • CS 1010 CA - Introduction to Interactive Entertainment

    Credits: (3)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]
    Summer [Online]


    This course examines and analyzes the history, philosophy, and impact of digital entertainment (video and computer games along with simulations) on an individual and society. Students take a critical look at the artistic, but also the cultural, economic and social aspects of this expressive medium. Students imagine and articulate their own ideas and work through a series of projects helping them understand the creative challenges behind interactive entertainment design. Implications of certain values embedded in games will be discussed. Elements of the ethical code of conduct for a game creator will be formulated. The issue of balancing individual creativity vs. socio-cultural impact will also be discussed. Students will be required to play video games outside of the regularly scheduled class times. A lab fee is required for this class.
  • CS 1022 - Software Development

    Credits: (4)
    Application of the most recent implementation of a selected programming language to the solution of technical and scientific problems. Prerequisite: CS 1030  and basic skills in Algebra.
  • CS 1023 - Selected Programming Language

    Credits: (4)
    Introduction and application of the most recent implementation of a selected programming language to the solution of technical and scientific problems. The language for a particular instance of this course will be based upon demand. Prerequisite: CS 1030  and basic skills in Algebra.
  • CS 1030 TE - Foundations of Computer Science

    Credits: (4)
    Typically taught:
    Fall [Full Sem, Online]
    Spring [Full Sem, Online]
    Summer [Full Sem, Online]


    This course follows the core body of knowledge specified by the ACM which provides students with a broad overview of topics they might encounter within the Computer Science curriculum. The course is taught at an introductory level and includes topics such as: history of computers, computer architecture, operating systems, world-wide web and HTML, programming with Java, database, software engineering, networking, and more.
  • CS 1400 - Fundamentals of Programming

    Credits: (4)
    Typically taught:
    Fall [Full Sem, Online]
    Spring [Full Sem, Online]
    Summer [Full Sem, Online]


    This course covers basic operating system navigation and components of the program development process. The majority of the course covers basic problem solving and program design of a software application using a selected language. Topics presented and discussed depending on selected language include: thinking logically to solve problems, working with input/output devices, compilation and library use, structured programming and modularity concepts, conditional and iterative structures including recursion, object oriented design, data types and structures, and pointers. Prerequisite/Co-requisite: CS 1030  or NET 1300 .
  • CS 1410 - Object-Oriented Programming

    Credits: (4)
    Typically taught:
    Fall [Full Sem, Online]
    Spring [Full Sem, Online]
    Summer [Full Sem, Online]


    An introduction to the C++ language. Topics will include data types, control structures, functions, pointers, arrays, I/O streams, classes, objects, encapsulation, overloading, inheritance and use of these concepts in problem solving. Prerequisite: CS 1400  or CS 2250  and ENGL 1010  or ENGL 2010 .
  • CS 2130 - Computational Structures

    Credits: (4)
    Typically taught:
    Fall [Full Sem, Online]
    Spring [Full Sem]
    Summer [Full Sem, Online]


    Advanced principles of discrete computational models and algorithm analysis. Topics include: the design of efficient algorithms, order statistics, set manipulation problems, Turing machines, graph algorithms, matrix operations, integer and polynomial arithmetic, combinatorics, and pattern matching algorithms. Emphasis will be on the application of abstract models in a discrete software computational context. Prerequisite: CS 1400 .
  • CS 2140 - Computer Systems Administration

    Credits: (4)
    Typically taught:
    not currently offered

    An introduction to managing computer operating systems. Covers installation of the operating system, network, and application software. The course will cover the UNIX operating system. Topics include working with disk drives, allocation of resources, security, administering user accounts, monitoring system performance, tuning concepts, remote mounting of file systems, and setting up systems on networks. Prerequisite: CS 1400 .
  • CS 2250 - Structured Computing in a Selected Language

    Credits: (4)
    Typically taught:
    Spring [Full Sem]

    Introduction to structured problem solving using objects, data enumeration and encapsulation in a selected language. The language for a particular instance of this course will be based upon demand. Prerequisite: Basic skills in fundamental Algebra.
  • CS 2335 - Introduction to User Experience Design for Web & Mobile

    Credits: (3)
    Typically taught:
    Fall [Full Sem]

    This course is designed to introduce students to the elements of user experience design for the web and mobile. The following topics will be covered: history of user experience, user centric design, agile development, user interface best practices for web and mobile applications, and analytics. Using current technologies and tools, students will create a basic web or mobile application.
  • CS 2350 - Web Development

    Credits: (4)
    Typically taught:
    Fall [Full Sem, Online]
    Spring [Full Sem, Online]
    Summer [Online]


    This course provides an introduction to Internet programming and Web application development. Subjects covered include basic Web page design, dynamic Web page development, and an introduction to server-side scripting and database connectivity. The course will explore various technologies such as HTML, XML, CSS, Javascript, and/or PHP. Prerequisite: CS 1400 .
  • CS 2400 - Project Management

    Credits: (3)
    Strategies and techniques for managing a project from inception to completion to meet all schedule, cost, and technical objectives.  Knowledge and skills learned in this course prepare students to perform successfully the role of a project manager in any construction, engineering, health, information technology, business, or research and development project, although emphasis will be on project management applied to Software Engineering.  Topics include organizational structures, project planning and evaluation, cost estimating, quantitative methods in schedule and cost management, project information systems, communication skills, and conflict resolution.
  • CS 2420 - Introduction to Data Structures and Algorithms

    Credits: (4)
    Typically taught:
    Fall [Full Sem, Online]
    Spring [Full Sem, Online]
    Summer [Full Sem, Online]


    General principles of common data structures and design of efficient algorithms. Topics include: arrays, linked-lists, stacks, queues, trees, graphs, tables, storage and retrieval structures, searching, sorting, hashing, and algorithmic analysis. Emphasis will be on abstraction, efficiency, re-usable code, and object-oriented implementation. Prerequisite: CS 1410 . Prerequisite/Co-requisite: MATH 1080  or MATH 1050  and MATH 1060 .
  • CS 2450 - Software Engineering I

    Credits: (4)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem, Online]
    Summer [Online]


    An Object Oriented Analysis and Design course which provides practical guidance on the construction of object-oriented systems. Its specific goals are: to provide a sound understanding of the fundamental concepts of the Software and Project Development Life-Cycle for the object model; to facilitate a mastery of the notion and process of object oriented analysis and design, and to teach quality design and development style through applications of object-oriented project development within a variety of problem domains. In depth coverage of UML and current Software Engineering models. Prerequisite: CS 1410 .
  • CS 2550 - Introduction to Database Design and SQL

    Credits: (4)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem, Online]
    Summer [Online]


    This course is an introduction to databases, specifically focusing on the relational database model, database design and modeling and the structured query language (SQL). Students will become proficient at formulating data query requests using SQL and will also gain experience in database normalization and entity-relationship modeling. Prerequisite: CS 1030  or NET 1300 .
  • CS 2705 - Network Fundamentals and Design

    Credits: (4)
    Typically taught:
    Fall [Full Sem, Online]
    Spring [Full Sem, Online]
    Summer [Online]


    A comprehensive examination of the hardware and software components of a network and the practical techniques for designing and implementing computer systems in a network. Topics will include the purpose and use of various LAN, MAN, WAN configurations (Ethernet, rings HDLC, SMDS, ATM, Frame Relay, ISDN, xDSL, TCP/IP UDP/IP, x.25, PPP, Sonet and new protocols. Media type and structures (repeaters, bridges, switches, hubs, routers with routing algorithms, and gateways), signaling/data encoding, multiplexing, error detection/correction and flow control, packet formats, network classes, and subnetting. Prerequisite: CS 1030  and CS 1400 .
  • CS 2780 - Windows Application Programming

    Credits: (4)
    Typically taught:
    not currently offered

    This course provides participants with a working knowledge of the Windows Operating System. The students will develop applications to run under Windows, using the C/C++ languages. Concepts of Memory Management, DLLs, Resources, and Child Window development will be emphasized. The course also introduces the student to the use of OLE controls and MFC architecture. Prerequisite: CS 1410  and basic algebra skills.
  • CS 2800 - Individual Projects & Research

    Credits: (1-4)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]
    Summer [Full Sem]


    The purpose of this course is to permit Computer Science majors to develop an individual project, program, system, or research paper, with coordination and approval of a faculty mentor. The final grade and amount of credit awarded will be determined by the department, depending on the complexity of the upper division work performed. Prerequisite: CS 1410 . May be repeated 3 times up to 6 credits. Note: Only 4 credit hours of either CS 2800 or CS 2890  can apply to a CS degree as an elective course, and only a maximum of 6 hours of both CS 2800 and CS 2890  may be taken to satisfy missing credits or to achieve full time academic status.
  • CS 2810 - Computer Architecture/Organization

    Credits: (4)
    Typically taught:
    Fall [Full Sem, Online]
    Spring [Full Sem, Online]
    Summer [Online]


    (Formerly 2650).  A fundamental course designed to explore the specific physical and functional characteristics of computer systems. Topics will include the architecture of the PC including BIOS, interrupts, addressing, memory management, types of disk drives (such as SCSI and EIDE), types of buses, video cards, modems, network cards, hardware compatibility issues, number representations, and/or gates and basic digital circuit concepts. The course also introduces assembly language skills in popular 16 and 32 bit microprocessors. Prerequisite: CS 1410  or CS 1400  and NET 3200 .
  • CS 2890 - Cooperative Work Experience

    Credits: (1-4)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]
    Summer [Full Sem]


    The purpose of this course is to permit Computer Science majors who are currently working in a computer related job or internship to receive academic credit for their work, with coordination and approval of a faculty mentor and their supervisor. The amount of upper division credit awarded will be determined by the department, depending on the nature and quantity of work performed. Prerequisite: CS 1410 . May be repeated 3 times up to 6 credits. Note: Only 4 credit hours of either CS 2800  or CS 2890 can apply to a CS degree as an elective course, and only a maximum of 6 hours of both CS 2800  and CS 2890 may be taken to satisfy missing credits or to achieve full time academic status.
  • CS 2899 - Associate Degree Assessment

    Credits: (0)
    This course is to serve as an assessment tool whereby all AAS degree seeking students in the Department of Computer Science demonstrate core knowledge acquired from course studies in the discipline as specified in the AAS degree program.
  • CS 2920 - Short Courses, Workshops, Institutes and Special Programs

    Credits: (1-4)
    Typically taught:
    Summer [Full Sem]

    Consult the semester class schedule for the current offering under this number. The specific title and credit authorized will appear on the student transcript. May be repeated 5 times up to 6 credits.
  • CS 3030 - Scripting Languages

    Credits: (4)
    Typically taught:
    Fall [Full Sem]

    This course addresses the design of scripting languages and their applications. Scripting languages can be used to manipulate text and data using subtle and complex coding to automate many tasks. Students will learn to write simple scripts to automate system administration tasks using appropriate languages. This course explores the nature of scripting, the role of scripting languages, introduces some of the popular scripting languages and their applications, and provides skills in scripting language design. Prerequisite: CS 1400  and CS 2705  or CS 1400  and NET 3200 .
  • CS 3040 - Windows/Unix/Linux Infrastructure and Administration

    Credits: (4)
    Typically taught:
    Fall [Full Sem]
    Summer [Full Sem]


    This is the second course for understanding Windows operating systems and the first in the Unix/Linux operating system. It includes administration in a client/server directory services environment. Taught in a networking setting, it builds upon complex issues learned in previous courses. Provides the knowledge and skills necessary to install, configure, network and administer both operating systems. Prerequisite: CS 2705 .
  • CS 3100 - Operating Systems

    Credits: (4)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]
    Summer [Online]


    An overview of computer operating systems concepts, system software components with emphasis on installation, management, monitor/supervisor and I/O management, control commands, network installation, and device drivers. The operating systems studied will be Windows or UNIX. Prerequisite: CS 2420  and CS 2810 .
  • CS 3210 - UNIX System Programming and Internals

    Credits: (4)
    Typically taught:
    Fall [Full Sem]

    This course provides hands-on experience with writing programs using UNIX system calls and inter-process Communication mechanisms, from simple file I/O and I/O management subsystems to network client and server programs. The internal design and operation of the UNIX operating systems are studied. A detailed examination of the UNIX SVR4 source code will be included in the course. Prerequisite: CS 2420 .
  • CS 3230 - Object Oriented User Interface Development with Java

    Credits: (4)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]


    An introduction to the design and coding of applications using threads. Topics will include the use of threads in the design of operating systems, device drivers, utility programs and general applications. Language used in the course will be Java. Applications will include multimedia, Web Servers, search engines, security issues, and the use of the Java language in the development of applets for home pages. Prerequisite: CS 2420 .
  • CS 3250 - Advanced Object Oriented Programming

    Credits: (4)
    Develop and expand abilities in solving lengthy, advanced problems, multiple parallel tasks, generic packages, and other object-oriented techniques using selected languages. Prerequisite: CS 2420 .
  • CS 3260 - Mobile Development for the iPhone

    Credits: (4)
    Typically taught:
    Spring [Full Sem]
    Summer [Full Sem]


    Introduction to developing applications for mobile iOS devices (iPhone, iPod Touch and iPad) using the iPhone SDK, in conjunction with the Xcode/Cocoa development environment. Students will learn the basics of the Objective-C programming language and use it to develop applications for the iPhone family of devices. Students will also gain experience in working in a team environment. Prerequisite: CS 1410 , CS 2350  and CS 2550 .
  • CS 3270 - Mobile Development for Android

    Credits: (4)
    Typically taught:
    Fall [Full Sem]
    Summer [Online]


    Introduction to developing applications for Android mobile devices. Students will use the Eclipse IDE in conjunction with the Android SDK. Students will gain advanced experience in Java and XML as they develop mobile applications both individually and as members of a development team. Prerequisite: CS 2350 , CS 2550  and CS 3230 .
  • CS 3280 - Object Oriented Windows Application Development

    Credits: (4)
    Typically taught:
    Spring [Full Sem]
    Summer [Full Sem]


    This course is designed to teach students how to write Windows programs in C# using the .NET environment. The student will learn how to develop programs based on Microsoft Windows Forms and the .NET Framework. They will also be introduced to APIs and MFC/AFX styles of Windows programming and to become familiar with various data sharing methods and .NET services. Prerequisite: CS 2420 .
  • CS 3540 - Database Administration

    Credits: (4)
    Typically taught:
    Spring [Full Sem]

    This course describes the role of the Database Administrator in managing an organization’s most valuable asset - its data. Topics covered include DBMS architecture, database layout, database development, data fragmentation, rollback segments, database tuning, database security, backup and recovery, database networking, and distributed databases. Special emphasis is given to working with current database management systems such as Oracle, SQL Server and DB2. Prerequisite: CS 2550 .
  • CS 3550 - Advanced Database Programming

    Credits: (4)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]
    Summer [Full Sem]


    This course is designed to teach students to design, implement, and maintain a distributed database application. Applications development using database programming techniques emphasizing database structures, such as stored procedures, user defined functions, cursors, triggers, and distributed queries will be covered. Other topics will include: advanced transaction processing as well as distributed database problems and solutions using enhanced SQL and XML. Prerequisite: CS 2550 .
  • CS 3610 - Introduction to Game Industry

    Credits: (4)
    Typically taught:
    Summer [Full Sem]

    This is course is an introduction to the game industry and the skills and best practices needed in order to become a game developer. The course will evaluate different gaming hardware, genre, skills, tools, and roles. Students will also understand the elements in creating a game including the game design document, story line, vision, virtual worlds, playfields, and the mathematics and physics that are involved with game development. Prerequisite: CS 1400 .
  • CS 3620 - Server-Side Web Architecture

    Credits: (4)
    An introduction to server-side Web development using the most current Web server technologies. General Web development principles such as usability, reliability, maintainability and scalability will be applied to current Web development environments such as ASP.NET, PHP, Python, Ruby and Java. Students will gain real-world experience in creating Websites for multiple Web platforms. Prerequisite: CS 2350  and CS 2550 .
  • CS 3630 - Rich Internet Application Development

    Credits: (4)
    An introduction to developing and deploying rich Internet applications (RIAs) using current technologies.  Students will develop engaging websites by incorporating RIAs in the web application development process. Prerequisite: CS 2350  and CS 2550 .
  • CS 3645 - Advanced User Interface Design

    Credits: (3)
    Typically taught:
    Spring [Full Sem]

    Students will learn the elements of user interface design as it applies to front-end web development and software engineering. Students will identify best practices in user interface design. The following topics will be covered: wire-framing, color palettes, typography, information architecture, contrast, uniformity, and responsive design techniques. Using current technologies and tools, students will wireframe, design, and program effective interfaces. Prerequisite: WEB 2500  or CS 2335 , WEB 1400  or CS 1400 , or permission of instructor.
  • CS 3650 - Human-Computer Interaction

    Credits: (4)
    Typically taught:
    Fall [Full Sem]

    This course introduces the skills and concepts of Human-Computer Interaction (HCI) that enable computer scientists to design systems that effectively meet human needs. A concrete illustration of the practice of HCI, this course covers iterative design processes, interactive prototype construction, discount evaluation techniques, and the historical context of HCI. This course includes both theoretical and practical usability including best practices. Prerequisite: CS 2420 , CS 2450  or WEB 3110 , WEB 3410 .
  • CS 3705 - Protocol Analysis

    Credits: (4)
    Typically taught:
    Fall [Full Sem]

    This course provides an in depth look at the fundamentals of what protocols do and how they work, how addresses and routing are used to move data through the network, and how information is exchanged over the Internet. In depth analysis of network traffic packets will include normal traffic as well as protocol attack patterns. Topics include: DNS, Apache, email, Samba, PPP, DHCP, TCP, IP, and UDP troubleshooting, and security. Prerequisite: CS 2705  or NET 2435 .
  • CS 3720 - Network Architectures and Protocols

    Credits: (4)
    Typically taught:
    not currently offered

    A practical applications course designed to teach the basic concepts associated with local and wide area networks and protocols. The course will concentrate on the TCP/IP and other protocols in the UNIX and Windows NT environments. Covers TCP/IP extensively, NFS, Sockets, RPC and TLI interfaces. The course also covers the use of Domain Name Servers, remote system calls, ports, services, configuration, IP addressing, and UNIX and Windows NT monitoring commands. Prerequisite: CS 3705 .
  • CS 3730 - Client/Server Network Programming

    Credits: (4)
    Typically taught:
    not currently offered

    Covers client/server architecture and application development using TCP/IP and other protocols. The course covers client/server operations on a single machine and across an Ethernet network to multiple machines. The course will also cover distributed processing concepts and applications. Applications include the use of STREAMS, Sockets, TLI, network listener facility, drivers, RPC, and ONC. The course will concentrate mainly on UNIX but will cover some concepts and applications using Windows NT. Prerequisite: CS 2705  and CS 3210 .
  • CS 3750 - Software Engineering II

    Credits: (4)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]
    Summer [Full Sem]


    (Community Engaged Learning Designation) This course emphasizes teamwork in small groups on a substantial software engineering project that will be performed for a real customer in the community. It is the intent of the course to provide a capstone experience that integrates the material contained in the CS curriculum through work on a software project that applies this material. Projects are chosen so as to provide an interdisciplinary service learning component with project proposals being solicited from the community at large. Projects that integrate students and faculty from other disciplines are also encouraged. Lectures will be directed towards the software development lifecycle, requirements gathering and design documentation, as well as software project management. Each team member will contribute to all phases of the project as well as the development of a project prototype. Prerequisite: CS 2350 , CS 2450 , CS 2899 , CS 3550 , CS 3230  or CS 3280 , and ENGL 3100  or ENGL 2250  or PHIL 1250  or NET 3250 .
  • CS 3805 - Computer and Network Security

    Credits: (4)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]


    This course is designed to provide students with a solid foundation in network security including a treatment of security issues related to computers and computer networking. The primary emphasis is on developing security policies, security auditing, security models and laws related to security. Prerequisite: CS 2705  and CS 2420 .
  • CS 3830 - Writing Secure Code

    Credits: (4)
    This course focuses on how to develop software systems that are robust and can withstand repeated attacks from malicious intruders. The course coverage includes the need for secure systems, basic security principles and strategies, designing secure applications, secure coding techniques, dangerous APIs, data input issues, network security problems, testing secure applications, security code reviews, secure software installation, and writing security documentation. Prerequisite: CS 2420 .
  • CS 3840 - Computer Forensics for Security Assurance

    Credits: (4)
    Typically taught:
    Fall [Full Sem]

    This course is a foundational course in file system analysis, digital forensics and computer media analysis. A combination of lectures and labs will give students a strong understanding of low-level file system knowledge to prepare them for involvement in digital forensic analysis, data recovery and other related tasks. Students will examine widely used file systems such as Windows NTFS and FAT32, UFS, EXT2 and UFS2. Students will also become familiar with software tools used in computer forensic work. Prerequisite: CS 2420 .
  • CS 4110 - Concepts of Formal Languages and Algorithms for Computing

    Credits: (4)
    Typically taught:
    Spring [Full Sem]
    Summer [Full Sem]


    Concepts of formal language definition, automata theory, Turing theory, and solvability, with an introduction of algorithms and computational methods used in advanced computer science courses. Prerequisite: CS 2420  and either MATH 1630  or CS 2130 .
  • CS 4230 - Java Application Development

    Credits: (4)
    Typically taught:
    Spring [Full Sem]
    Summer [Full Sem]


    This course is a continuation of CS 3230  and examines the development of Java applications intended for an enterprise environment. The course is programming intensive and concentrates on designing and implementing multi-tier and Web applications based on the Java Enterprise Edition (Java EE) specification. Topics include JavaBeans, Java Database Connectivity, client/server interactions, servlets, session tracking, JavaServer Pages, JavaServer Faces, Struts, the Model-View-Controller approach, remote method invocation, Enterprise JavaBeans, and application servers. Lab exercises will emphasize how Java Enterprise programming supports the operation of robust, distributed object architectures. Prerequisite: CS 3230 , CS 3750 .
  • CS 4280 - Computer Graphics

    Credits: (4)
    This course introduces and investigates the mathematical and programming basis for generating pictures and images using a computer. Fields impacted by visual rendering technologies include filmmaking, publishing, banking, engineering, and education. Students are introduced to the theory and practice of computer graphics, with an emphasis on designing and developing working applications using currently available graphics libraries. The course focuses on strategies for rendering geometric data (points, lines, and polygons), and the analysis of the processing stages and components of the graphics pipeline, including transformations, viewing volumes, and projections. Programming and mathematical techniques related to modeling, viewing, coordinate frames, and perspective will be primary topics for discussion and code development. The course covers the key processing steps and structures needed to appropriately map 3D geometric primitives to 2D screen positions while maintaining a realistic look, which involves hidden surface removal, proper lighting, and simulated material properties. Prerequisite: CS 2420 .
  • CS 4350 - Advanced Internet Programming

    Credits: (4)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]
    Summer [Full Sem]


    This course builds on the knowledge of CS 2350  to go deeper into the areas of eBusiness, multimedia, HTML, DHTML, XML, Javascript, Java, ASP, PHP, Python, Perl, Flash, and other technologies focusing on the server-side coding and database manipulation required for enterprise level web applications. It requires a high level of programming skill and knowledge of databases. Prerequisite: CS 3620 , CS 3750 .
  • CS 4450 - Advanced Software Engineering Methods

    Credits: (4)
    Typically taught:
    Spring [Full Sem]
    Summer [Full Sem]


    (Formerly 4750) This course teaches the architectural and operational implications of open source development and explores its implementation using selected software development methodologies.  The course will also focus on test-driven software development and re-engineering practices in a team based environment. Prerequisite: CS 3750 .
  • CS 4500 - Artificial Intelligence and Neural Networks

    Credits: (4)
    Typically taught:
    Fall [Full Sem]

    This course covers basic artificial intelligence principles and introduces students to AI languages. Concepts of programming parallel architecture machines are introduced and developed. The neural network design of parallel computing is studied, along with its implications in Artificial Intelligence software development. Prerequisite: CS 2420  and either MATH 1630  or CS 2130 .
  • CS 4640 - Foundations of Game Development

    Credits: (4)
    This course introduces students to 2D game development using a programming language, scripting, and a gaming engine. The work includes team work project, graphical programming, GUI, and all other aspects of creating a game program associated with a game design document. Prerequisite: CS 1010 . Prerequisite/Co-requisite: Pre or Co-requisite: CS 4280 .
  • CS 4650 - Advanced Game Development

    Credits: (4)
    Senior project Game Development II course focuses on 3D game programming in a team work project environment using a game engine. At conclusion student should be able to add the resulting program into their game portfolio. Prerequisite: CS 4640 , CS 3750 .
  • CS 4730 - Applied Cryptography

    Credits: (4)
    This course provides an introduction to the principles of number theory and how they are applied to cryptographic algorithms. Different topics that will be examined are: several classic ciphers, modern cryptographic methods, symmetric encryption, public key cryptography, hash functions, key management, digital signatures, certificates, electronic mail security, steganography, and recent developments affecting security and privacy on the Internet. The focus will be on how cryptography and their application can maintain privacy and security in computer networks. Prerequisite: CS 2420  and either MATH 1630  or CS 2130 .
  • CS 4790 - .NET Web Application Development

    Credits: (4)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]


    This course is designed to teach sound concepts in ASP.NET Web Application Development using MVC and/or N-Tier methodologies. Students will develop large-scale web applications in a team environment using Agile, RAD and Test-Driven Development techniques. Representative skills mastered in this course will include: ASP.NET and the .NET Framework, C#, MVC, ADO.NET and Entity Frameworks, RAZOR, HTML5, Javascipt, jQuery, Agile, Scrum and Design Patterns. Prerequisite: CS 3280 , CS 3750 .
  • CS 4800 - Individual Projects and Research

    Credits: (1-4)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]
    Summer [Full Sem]


    The purpose of this course is to permit Computer Science majors to develop an individual project, program, system, or research paper, with coordination and approval of a faculty mentor. The final grade and amount of credit awarded will be determined by the department, depending on the complexity of the upper division work performed. Prerequisite: CS 2420 . May be repeated 3 times up to 4 credit hours. Note: Only 4 credit hours of CS 4800  or CS 4850  or CS 4890  can apply to a CS degree as an elective course, and only a maximum of 6 hours of CS 4800 , CS 4850 , and CS 4890  may be taken to satisfy missing credits or to achieve full time academic status.
  • CS 4820 - Compiler Design

    Credits: (4)
    A study of compilers, grammars, finite-state and push down automata, scanning, parsing, error handling, semantic analysis and code generation. Prerequisite: CS 2420 , CS 4110 .
  • CS 4830 - Advanced Topics in Computer Science

    Credits: (1-4)
    Variable Title
    Typically taught:
    Spring [Full Sem]

    Advanced topics which are demanded by industry, are currently popular in this rapidly changing field, or which meet special needs of students in Computer Science will be offered. Individualized material will be taught on a one time basis as needed. Time and credit to be arranged. Prerequisite: Consent of instructor. May be repeated 2 times up to 8 credit hours.
  • CS 4850 - Faculty Directed Research

    Credits: (1-4)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]
    Summer [Full Sem]


    The purpose of this course is to permit Computer Science majors to work closely and consistently with a faculty mentor on specific research related to current, experimental topics in Computer Science.  The final grade and amount of credit awarded will be determined by the faculty mentor, depending on the complexity of the advanced, upper division work performed. Prerequisite: CS 2420 . May be repeated 3 times up to 4 credit hours. Note: Only 4 credit hours of CS 4800 or CS 4850 or CS 4890 can apply to a CS degree as an elective course, and only a maximum of 6 hours of CS 4800, CS 4850 and CS 4890 may be taken to satisfy missing credits or to achieve full time academic status.
  • CS 4890 - Cooperative Work Experience

    Credits: (1-4)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]
    Summer [Full Sem]


    The purpose of this course is to permit Computer Science majors who are currently working in a computer related job or internship to receive academic credit for their work, with coordination and approval of a faculty mentor and their supervisor. The amount of upper division credit awarded will be determined by the department, depending on the nature and quantity of work performed. Prerequisite: CS 2420 . May be repeated 3 times up to 4 credit hours. Note: Only 4 credit hours of CS 4800  or CS 4850  or CS 4890  can apply to a CS degree as an elective course, and only a maximum of 6 hours of CS 4800 , CS 4850 , and CS 4890  may be taken to satisfy missing credits or to achieve full time academic status
  • CS 4899 - Bachelor’s Degree Assessment

    Credits: (0)
    This course is to serve as an assessment tool whereby all BS/BA degree seeking students in the Computer Science Department demonstrate their learned knowledge in at least three areas of computer science. At present, this knowledge will be demonstrated through the use of Chi Tester exams administered through the Campus Testing Center. The course is taken during the last term prior to receiving the BS/BA degree. Prerequisite/Co-requisite: Prereq/Coreq: Successful completion of requirements for the Bachelor’s Degree.
  • CS 4920 - Short Courses, Workshops, Institutes and Special Projects

    Credits: (1-4)
    Consult the semester class schedule for the current offering under this number. The specific title and credit authorized will appear on the student transcript. May be repeated 3 times up to 4 credit hours.
  • CS 6100 - Distributed Operating Systems

    Credits: (3)
    Distributed systems or distributed computing deals with the issues encountered while running programs across a computer network.  This course will cover key topics including: models of distributed systems, timing, synchronization, coordination and agreement, fault tolerance, naming, security, and middleware.  Students will learn both the theoretical background of distributed systems as well as work on hands-on projects developing distributed systems applications. Prerequisite: CS 3100 .
  • CS 6420 - Advanced Algorithms

    Credits: (3)
    Introduction to fundamental principles of advanced algorthm design, including asymptotic analysis; divide-and-conquer algorithms and recurrences; greedy algorithms; practical data structures (heaps, hash tables, search trees, graphs); dynamic programming; graph algorithms; and randomized algorithms. Prerequisite: CS 2420 .
  • CS 6500 - Artificial Intelligence and Neural Networks

    Credits: (4)
    This course covers basic artificial intelligence principles and introduces students to AI languages.  Concepts of programming parallel architecture machines are introduced and developed.  The neural network design of parallel computing is studied, along with its implications in Artificial Intelligence software development. Prerequisite: CS 2420  and either MATH 1630  or CS 2130 .
  • CS 6600 - Machine Learning

    Credits: (3)
    Introduction to fundamental principles and practical techniques of machine learning and its applications, including parametric and non-parametric algorithms, support vector machines, kernels, neural networks, clustering algorithms, dimensionality reduction, recommender systems, and deep learning. Prerequisite: CS 2420 .
  • CS 6610 - Computer Architecture

    Credits: (3)
    Investigation of high-performance computer processing architectures, including concurrent, multicore platforms; memory hierarchy; static and dynamic scheduling; instruction-level parallelism, including branch prediction; graphics processing units; cache performance and analysis. Prerequisite: CS 2810 .
  • CS 6820 - Compiler Design

    Credits: (4)
    A study of compilers, grammars, finite-state and push down automata, scanning, parsing, error handling, semantic analysis and code generation. Prerequisite: CS 2420 , CS 4110 .
  • CS 6840 - Formal System Design

    Credits: (3)
    Methods for developing high-quality hardware/software systems that are delivered on time, within budget, and according to requirements.  Techniques for specifing programs and reasoning about them, including formal logical proofs, correct code synthesis, model checking, type theory specifications, and properly evaluating concurrent programs. Prerequisite: CS 2420 .
  • CS 6850 - Parallel Programming and Architecture

    Credits: (3)
    In parallel programming you will learn how to utilize multiple CPU’s/Cores/Nodes in parallel to increase the performance of your applications.  Different architectures will be discussed along with the advantages and disadvantages of each.  This course will cover key topics parallel programming including: memory models, parallel programming architectures, Flynn’s Taxonomy, synchronization, and performance analysis and tuning.  In addition to learning the theoretical background of parallel programming, you will work on hands-on projects using multiple parallel programming languages and libraries including (CUDA, openMP, MPI, open CL, and python). Prerequisite: CS 3100 .
  • ETC 2001 SS - Engineering Culture

    Credits: (3)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]


    Engineering Culture describes the culture of engineering and the social and scientific practices as well as beliefs that engineers ascribe to in pursuing their profession. It also describes how culture is shaped by engineering and by the technologies that engineers make and maintain.  This course examines the professional cultures that engineers inhabit as well as the way that a wider culture is shaped by engineering.
  • NET 1300 - Networks and Emerging Technologies

    Credits: (3)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]


    This course is designed to introduce the fundamentals of voice and data networking technologies.  The course includes topics such as history of telecommunications, history of data networking, study of industry, transport media, common networking protocols, and emerging technologies.
  • NET 2010 - Business English Applications

    Credits: (3)
    Typically taught:
    Fall [Full Sem Online]

    Includes Business English essentials: grammar, punctuation, and proofreading. Keyboarding 40 wpm recommended. Prerequisite: WEB 1700  or WEB 1701 /WEB 1501 .
  • NET 2200 - Microcomputer Operating Systems

    Credits: (3)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]


    Study of hardware and software components through managing programs, directories, files, and disks. Includes integrating applications, customizing windows, and managing printing.
  • NET 2300 - Introduction to LAN Management

    Credits: (3)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]


    Local area networking concepts including needs analysis, applications, topologies and configurations, and troubleshooting using hands-on labs. Prerequisite/Co-requisite: NET 2200  or instructor approval.
  • NET 2415 - Cisco TCP/IP Routing Protocols and Router Configuration

    Credits: (3)
    Typically taught:
    Fall [Full Sem]

    This course is the first in a two-course series designed to prepare students to pass the examinations for Cisco Certified Network Associate (CCNA). This course covers the OSI model, network components and topologies, IP addressing, beginning router configuration and routing protocols. Prerequisite: NET 2300  or CS 2705 .
  • NET 2435 - Cisco Advanced LAN and WAN Switching and Routing Theory and Design

    Credits: (3)
    Typically taught:
    Spring [Full Sem]

    This course is the second in a two-course series designed to prepare students to pass the examinations for Cisco Certified Network Associate (CCNA). This course covers advanced router configurations, LAN switching theory and VLANs, advanced LAN and LAN switched design, Novell IPX, WAN theory design and technology, PPP, frame relay, ISDN, network troubleshooting, national SCANs skills, and threaded case studies. Prerequisite: NET 2415 .
  • NET 2610 - NetWare Administration

    Credits: (3)
    This is the introductory course to Novell Administration involving setting up, managing, and using basic network services, including file systems, network printing, security, and Z.E.N. Works. After completing this course and successfully passing the Novell test, the candidate becomes a Certified Novell Administrator (CNA). Prerequisite: WEB 1700  or WEB 1701 /WEB 1501  and WEB 1702 /WEB 1502  and WEB 1703 /WEB 1503 .
  • NET 3200 - Linux Systems Administration

    Credits: (3)
    Typically taught:
    Fall [Full Sem]

    This course gives students a solid foundation in the fundamentals of the Linux operating system. Students gain system-level experience through problem-solving exercises at the command line and in the graphical user interface (GUI). By the end of the course, students will have learned the major, essential, command-line commands necessary to be accomplished users of Linux. Prerequisite: NET 2200  or instructor approval.
  • NET 3210 - Advanced Linux Systems Administration

    Credits: (3)
    Typically taught:
    Spring [Full Sem]

    This course presents advanced administrative skills common to mid- to senior-level administrators in an enterprise environment. Students learn how to apply security to network users and resources, manage and compile the Linux kernel, and troubleshoot network processes and services. Prerequisite: NET 3200 .
  • NET 3250 - Business Communication

    Credits: (3)
    Typically taught:
    Fall [Full Sem, Online]
    Spring [Full Sem, Online]
    Summer [Full Sem]


    Application of oral and written communication, including diversity and international aspects of communication. Prerequisite: ENGL 2010 .
  • NET 3300 - Advanced LAN Security Management

    Credits: (3)
    Typically taught:
    Spring [Full Sem]

    This course provides an in-depth look into the field of network security.  Specific topics to be examined include networking protocols and threats, authentication models, cryptography, layer 2 security, application security, social engineering, access control lists, firewalls, risk management, and OS hardening. Prerequisite: NET 2435  or instructor permission.
  • NET 3310 - Network Server Administration

    Credits: (3)
    Typically taught:
    Fall [Full Sem]

    Students will learn how to install, configure, manage, and troubleshoot hardware and applications in a Server environment. With a specific focus on Server fundamentals, this course will teach students how to install servers, configure active directories, create and manage users, install server roles and features, perform diagnostics, and troubleshoot malfunctioning servers. Prerequisite: NET 2300 .
  • NET 3415 - Cisco CCNPB-Advanced Router Configuration

    Credits: (3)
    Building Scalable Cisco Networks (BSCN). Addresses tasks network managers and administrators need to perform when managing access and controlling overhead traffic in growing routed networks once basic connectivity has been established. Discusses router capabilities used to control traffic over LANs and WANs, as well as connecting corporate networks to an Internet Service Provider (ISP). Prerequisite: NET 2435  or CCNA Certification or CS 3705 .
  • NET 3425 - Cisco CCNP-Building Cisco Switched Networks

    Credits: (3)
    Building Cisco Multilayer Switched Networks (BCMSN). Teaches network administrators how to build campus networks using multilayer switching technologies over high speed Ethernet. Teaches how routing and switching concepts and implementations technologies work together. Prerequisite: NET 2435  or CCNA Certification.
  • NET 3435 - Cisco CCNP–Remote Access Networks

    Credits: (3)
    Teaches how to build a remote access network to interconnect central sites to branch offices and home office/telecommuters. Further teaches students how to control access to the central site as well as maximizes bandwidth utilization over remote links. Prerequisite: NET 2435  or CCNA Certification.
  • NET 3445 - Cisco CCNP–Internetwork Troubleshooting

    Credits: (3)
    Hands-on lab exercises. Covers developments in Cisco IOS and Catalyst software. Teaches how to baseline and troubleshoot an environment using Cisco routers and switches for multiprotocol client hosts and servers connected with: Ethernet, Fast Ethernet, and Token Ring LANS; and Serial, Frame Relay and ISDN BRI WANs. Prerequisite: NET 2435  or CCNA Certification.
  • NET 3550 - Supervising Information Technology

    Credits: (3)
    Typically taught:
    Fall [Full Sem]

    Application of supervisory functions in network management and multimedia settings including planning, structure, design, implementation, evaluation, problem-solving, and human resources. Prerequisite: NET 2300  or WEB 2300 .
  • NET 3600 - Principles of Business/Marketing Education

    Credits: (3)
    Typically taught:
    Spring [Full Sem]

    This course includes professionalism, curriculum, standards, counseling, tech prep, competency-based testing, research, and current issues and trends in Business/Marketing Education. Along with advanced electronic presentations, this course will include a review of other technologies used in teaching. Prerequisite: WEB 1700 ; or WEB 1701 /WEB 1501  and WEB 1702 /WEB 1502  and WEB 1703 /WEB 1503 .
  • NET 3610 - Methods of Teaching Marketing Education Subjects

    Credits: (3)
    Typically taught:
    Fall [Full Sem]

    Analysis and research into methods of teaching business and marketing subjects with emphasis on teaching demonstrations and practices, objectives, outcome measurements, testing, and grading. Prerequisite:   WEB 1700  or WEB 1701 /WEB 1501  and  WEB 1702 /WEB 1502  and WEB 1703 /WEB 1503 .
  • NET 3710 - Switching and Transmission Network Systems Management

    Credits: (3)
    Typically taught:
    Fall [Full Sem]

    This course covers management of switching and transport systems and their technologies from industry carrier systems to private business networks.  Also included are cellular/mobile/fixed wireless technologies including network elements, routing, packet delivery, handoff technology, and the evolution of generations of wireless technologies and systems. Prerequisite: NET 2300 . Co-Requisite: NET 3715 .
  • NET 3715 - Transmission Network Applications

    Credits: (2)
    Typically taught:
    Fall [Full Sem]

    Hands-on labs working with TDM lines and trunks, transport, IP routing, and SIP.  Applications will be run on live LAN/WAN networks.  Also, the course includes discussion of new technologies. Prerequisite: NET 2300 . Co-Requisite: NET 3710 .
  • NET 3720 - Advanced Transport Media

    Credits: (3)
    Typically taught:
    Fall [Full Sem]

    An examination of the growing wireless technologies, fiber optics, their roles within the telecommunications data and media industries and to introduce associated fiber optic technical skills. Prerequisite: NET 3710  and NET 1300 .
  • NET 3730 - Cyber Policy and Ethics

    Credits: (3)
    Typically taught:
    Fall [Full Sem]

    Explores how the structural, competitive, economic, environmental, and ethical forces affect the continuing transformation of the networking industry both domestically and internationally.  Discussion of the impact of contemporary issues on the provider and the consumer of telecommunication services including the legal and ethical requirements and ramifications of electronic privacy are included. Prerequisite: NET 3710  and NET 1300 .
  • NET 4700 - Data and Voice Network Design

    Credits: (4)
    Typically taught:
    Spring [Full Sem]

    As a capstone course, students will design data and voice networks using industry metrics and rationale.  Architecture, technologies, and standards associated with the design and management of modern data and voice networks will be covered. Prerequisite:  NET 3710 , CS 2130 .
  • NET 4740 - Security Vulnerabilities and Intrusion Mitigation

    Credits: (4)
    Typically taught:
    Spring [Full Sem]

    A treatment of security issues related to computers and computer networking. This course is designed for advanced users, system administrators and network administrators. The course covers TCP/IP security issues, security policies, packet filtering, Internet firewall architecture and theory, detecting and monitoring unauthorized activity, password authentication, intrusion detection and prevention and other security issues involving Linux, UNIX and Microsoft Windows operating systems. A team project is included. Prerequisite: MATH 1040 , CS 2130 , NET 3250 , and CS 3705 .
  • NET 4760 - Network/Telecommunications Internship

    Credits: (3)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]
    Summer [Full Sem]


    Must be completed senior year in a network/telecommunications environment with company placement and outcomes approved by the department.  Prerequisite: NET 4700 . Simultaneous enrollment in NET 4790  is required.
  • NET 4790 - Network/Telecommunications Senior Project

    Credits: (2)
    Typically taught:
    Fall [Full Sem]
    Spring [Full Sem]
    Summer [Full Sem]


    Capstone project applying the principles of network/telecommunications to the development of a network/telecommunications system within a company. Prerequisite: NET 4700 . Simultaneous enrollment in NET 4760  is required.
  • NET 4990 - Senior Project

    Credits: (3)
    Research, analysis, presentation, and discussion of topics relative to graduating majors and minors. Prerequisite: WEB 2860  or equivalent.
  • NET 6600 - Principles of Business/Marketing Education

    Credits: (3)
    Typically taught:
    Spring [Full Sem]

    This graduate-level course includes professionalism, curriculum, standards, counseling, tech prep, competency-based testing, research, and current issues and trends in Business/Marketing Education. Along with advanced electronic presentations, this course will include a review of other technologies used in teaching. NET 6600 may be substituted for NET 3600  in the undergraduate Business Education Composite Teaching major, Business Education Teaching minor, or Business/Marketing Teaching minor for those working on a second bachelor’s degree. Prerequisite: WEB 1700 ; or WEB 1701 /WEB 1501 , WEB 1702 /WEB 1502 , and WEB 1703 /WEB 1503  and a bachelor’s degree.
  • Page: 1 | 2