Curriculum Home    
Title Banner
space

Courses

CS 1030      (Active)
Foundations of Computer Science
3.0 : 3.0 : 0.0    Su, F, Sp
Introduces the basics of computing, including computer hardware, and programming concepts and language. Explores how computers work and how a computer may be programmed. Includes a brief history of computer, programming languages, and computer numbering systems. Presents basic programming constructs; students produce a variety of introductory-level programs. Surveys various computing professions.
 
CS 129R      (Active/WorkFlow)
Programming Language--Other
3.0 : 3.0 : 0.0    On Sufficient Demand
Prerequisite(s):Varies depending on language offered
Introduces and explores advanced state-of-the-art programming languages and concepts. Investigates language specific syntax, semantics, libraries, the integrated development environment, and debugging techniques. A maximum of three (3) credits will count towards graduation; however, with prior written CNS Department approval more than three (3) credits may be counted towards graduation.
 
CS 1400      (Active/WorkFlow)
Fundamentals of Programming
3.0 : 3.0 : 0.0    Su, F, Sp
Prerequisite(s):MAT 1010 or higher or appropriate test scores. CS 1030 strongly recommended
Introduces concepts of object-oriented programming. Presents tools, structure, syntax, and basic OOP design techniques for designing and developing well-formed programs. Studies concepts such as classes, objects, methods, fields, datatypes, control constructs, and data I/O.
 
CS 1410      (Active/WorkFlow)
Object-Oriented Programming
3.0 : 3.0 : 0.0    Su, F, Sp
Prerequisite(s):CS 1400
Introduces concepts of object-oriented programming including classes and objects, friends, operator overloading, stream I/O, dynamic memory allocation, polymorphic functions, and basic use of standard library components. Offers development of basic graphical user interfaces. Introduces sorting, data structures, class and object reuse, and program projects. Uses programming assignment specifications, design, implementation, and testing.
 
CS 2220      (Active)
Visual Basic Programming
3.0 : 3.0 : 0.0    On Sufficient Demand
Prerequisite(s):CS 1400
For those with previous programming language experience. Presents Microsoft Visual Basic. Emphasizes Rapid Application Development (RAD) methodologies using Visual Basic. Covers event-driven software, visual and non-visual components. Introduces database interfacing and connectivity and multi-tier client/server designs.
 
CS 2250      (Active)
Java Programming
3.0 : 3.0 : 0.0    On Sufficient Demand
Prerequisite(s):CS 1400
Covers practical Java programming in-depth, including abstract classes and interfaces, proper use of the packages Java.lang, Java.io, and Java.util, GUI design and implementation, and programming.
 
CS 2300      (Active)
Discrete Structures I
3.0 : 3.0 : 0.0    Su, F, Sp
Prerequisite(s):(CS 1400 or INFO 1200) and MATH 1050 or higher
For CNS Majors. Covers algebraic structures applied to computer programming. Includes logic, sets, relations, graphs, trees, and Boolean algebra.
 
CS 2370      (Active)
C-plus-plus Programming
3.0 : 3.0 : 0.0    On Sufficient Demand
Prerequisite(s):CS 1400
Covers practical C++ programming in-depth, including advanced operator overloading and memory management, proper use of exceptions, defensive programming techniques, automated testing, multiple inheritance, advanced memory management, proper use of the standard template library, and programming.
 
CS 239R      (Active)
Current Topics in Computer Science
1.0 to 3.0 : 1.0 to 3.0 : 0.0    On Sufficient Demand
Prerequisite(s):Department approval
Discusses emerging technologies and state-of-the-art topics of current interest in computer science. Varies each semester depending upon the state of technology. A maximum of three hours may be counted towards graduation without prior written CNS Department approval.
 
CS 2420      (Active)
Introduction to Algorithms and Data Structures
3.0 : 3.0 : 0.0    Su, F, Sp
Prerequisite(s):CS 1410
Introduces data structures using an object-oriented programming language, and paradigm. Studies data abstraction as a design tool. Includes advanced arrays, records, dynamic data structures, searching and sorting, vectors, trees, linked lists, and graphs. Uses file I/O to store data structures. Discusses algorithm metrics.
 
CS 2450      (Active)
Software Engineering
3.0 : 3.0 : 0.0    Su, Sp
Prerequisite(s):CS 2300, CS 2420
Presents concepts, methodology and best-practices necessary to develop large scale software projects. Includes step-wise software requirements analysis, design, implementation, testing and release. Discusses software generation, reuse, scheduling, verification, and maintenance. Emphasizes current
 
CS 2550      (Active)
Internet Programming
3.0 : 3.0 : 0.0    On Sufficient Demand
Prerequisite(s):CS 2250
Introduces programming for the Internet and how to work with various graphic formats, sound formats, animation formats, and various format combinations.
 
CS 2600      (Active)
Fundamentals of Data Communications
3.0 : 3.0 : 0.0    F, Sp
Prerequisite(s):CS 2810. (CS 1510, MATH 1210, PHYS 2210 recommended)
Presents rigorous introduction to data communications technology for CNS majors. Includes theory of data communications protocols; theory and design of transmission systems; transmission media and communication software. Includes lab assignments to be completed outside of lecture.
 
CS 279R      (Active)
Current Topics in Networking
1.0 to 3.0 : 1.0 to 3.0 : 0.0    On Sufficient Demand
Prerequisite(s):Department approval
Provides exposure to emerging technologies and state-of-the-art topics of current interest in networking. Varies each semester depending upon the state of technology. A maximum of three hours may be counted towards graduation without prior written CNS Department approval.
 
CS 2810      (Active)
Computer Organization and Architecture
3.0 : 3.0 : 0.0    Su, F, Sp
Prerequisite(s):CS 1400
Uses assembly language to introduce basic concepts of computer organization. Includes number systems, CPU organization, instruction sets, programming in assembly, memory organization, debugging, program design, and documentation. Covers interrupts, vector tables, and disk I/O.
 
CS 281R      (Active)
Internship
1.0 to 8.0 : 0.0 : 5.0 to 40.0    Su, F, Sp
Prerequisite(s):Department approval
Provides on-the-job work experience for CNS majors. Utilizes the skills and abilities in the fields of computer science, software engineering, networking, and/or computer engineering. May be repeated for a maximum of three credits toward graduation.
 
CS 291R      (Active)
Independent Study
1.0 to 6.0 : 0.0 to 6.0 : 0.0 to 18.0    On Sufficient Demand
This course will allow the student to pursue an independent topic in computer science and study this topic in-depth in a flexible non-classroom environment. A maximum of three hours may be counted towards graduation without prior written CNS Department approval. The topic must be approved by the instructor and the CNS Department Chair.
 
CS 296R      (Active)
CS Seminar
1.0 to 3.0 : 0.0 to 3.0 : 0.0 to 12.0    On Sufficient Demand
Presents topics of current interest to computer science in a seminar environment. Includes invited lectures by experts in the field, or a review of a particular technology by a faculty member. A maximum of three hours may be counted towards graduation without prior written CS Department approval.
 
CS 301R      (Active)
Invited Speaker Series
1.0 : 1.0 : 0.0    F, Sp
Guest speakers lecture on current topics in computer science, computer engineering, and electrical engineering. May be repeated for a maximum of one credit toward graduation.
 
CS 305G      (Active)
Global Social and Ethical Issues in Computing
3.0 : 3.0 : 0.0    
Prerequisite(s):CS 1030 or CS 1400 or INFO 1120 or DGM 1110
Examines how computers have affected global society and how they could further affect it in the future. Challenges students to (1) examine several types of ethical reasoning to establish an ethical framework to assist in making normative judgments, (2) examine various ethical issues surrounding computer usage, particularly in differing societal contexts, (3) understand the responsibilities they bear, to know how their actions can affect both society and individual people in their own and other cultural setings, and to appreciate both the good and the harm they can do and (4) consider many of the moral and professional issues that those who work with computers might expect to face.
 
CS 3060      (Active/WorkFlow)
Operating Systems Theory
3.0 : 3.0 : 0.0    F
Prerequisite(s):CS 2420 and CS 2810
Introduces underlying theory of basic concepts of operating systems. Illustrates use of processes, tasks, threads, scheduling, queues, blocking, deadly embrace, etc.
 
CS 3220      (Active/WorkFlow)
Visual Basic Software Development
3.0 : 3.0 : 0.0    F
Prerequisite(s):CS 2420
For those with previous programming language experience. Presents Microsoft Visual Basic. Emphasizes Rapid Application Development (RAD) methodologies using Visual Basic. Covers event-driven software, visual and non-visual components. Introduces database interfacing and connectivity and multi-tier client/server designs.
 
CS 3240      (Active)
Introduction to Computational Theory
3.0 : 3.0 : 0.0    F, Sp
Prerequisite(s):CS 2300
Presents concepts of formal (programming) language definition, Turing machines, finite automata, regular expressions, grammars, context-free languages, and computability.
 
CS 3250      (Active)
Java Software Development
3.0 : 3.0 : 0.0    F, Sp
Prerequisite(s):CS 2420
Covers features of the Java Programming Language, emphasizing mastery of core Java packages, java.lang, java.io, java.util, and other commonly-used library packages. Topics include abstract classes, interfaces, inner classes, JavaBeans, I/O operations in depth, collections and algorithms, reflection, threads, the Java Event Model, basic Swing Components, and XML processing. Introduces common idioms and design patterns. Emphasizes accepted software engineering
 
CS 3260      (Active)
CsharpNET Software Development
3.0 : 3.0 : 0.0    F, Sp
Prerequisite(s):CS 2420
Introduces the C# programming language and the .NET Framework that the programming language is within. Discusses the various datatypes, built-in class in namespaces, and how to develop user defined classes and namespaces. Includes programming assignments for console, GUI, and ASP.NET applications.
 
CS 3310      (Active)
Introduction to Algorithms
3.0 : 3.0 : 0.0    F
Prerequisite(s):CS 2300, CS 2420
Introduces development and mathematical analysis of fundamental computer algorithms. Topics include: Divide and conquer and greedy algorithms, dynamic programming, backtracking, branch and bound and NP-completeness.
 
CS 3320      (Active)
Numerical Software Development
3.0 : 3.0 : 0.0    Sp
Prerequisite(s):CS 2300, CS 2420, CS 2810, MATH 1220 (MATH 2270 recommended)
Gives students mastery of the tools necessary for modern scientific computation. Covers computer representation of floating-point numbers, error analysis and numerical stability, IEEE floating-point standards, testing of numerical algorithms, calculation of elementary functions, roots of equations, solutions of linear systems, numerical integration and differentiation, interpolation and approximation, Monte Carlo methods.
 
CS 3370      (Active)
C-plus-plus Software Development
3.0 : 3.0 : 0.0    Sp
Prerequisite(s):CS 2300, CS 2420
Prepares students for C++ programming in a production environment, emphasizing mastery of the standard C++ library. Covers the following topics in-depth: const correctness, operator overloading, exception handling, exception-safe design, programming with assertions, automated unit testing, multiple inheritance, advanced memory management, generic programming with templates, containers, iterators, algorithms, and function objects. Introduces library development, client-server concepts, common idioms and design patterns, and other advanced topics. Emphasizes accepted software engineering
 
CS 339R      (Active)
Advanced Programming Language-Other
3.0 : 3.0 : 0.0    On Sufficient Demand
Prerequisite(s):Varies depending on language offered
Introduces and explores advanced state-of-the-art programming languages and concepts. Investigates topics using language specific analysis, design, Rapid Application Development (RAD), implementation, and testing. Explores language specific syntax, semantics, libraries, the integrated development environment, and debugging techniques. Demonstrates language concepts by developing and writing programs. A maximum of three (3) credits will count towards graduation; however, with prior written CNS Department approval more than three (3) credits may be counted towards graduation.
 
CS 3410      (Active)
Human Factors in Software Engineering
3.0 : 3.0 : 0.0    Sp
Prerequisite(s):CS 3220 or CS 3250 or CS 3260 or CS 3370 or INFO 2200
Studies issues of software analysis, design, and development for and from the perspective of computer-human interaction. Emphasizes design of the computer-human interface, effective presentation of data via graphics, color, text, sound, etc. to the user. Uses development tools for effective graphic presentation, the elements of effective information presentation to users.
 
CS 3450      (Active)
Principles and Patterns of Software Design
3.0 : 3.0 : 0.0    
Prerequisite(s):CS 3220 or CS 3250 or CS 3260 or CS 3370
Gives students familiarity with modern principles and practices of software design. Emphasizes design patterns, including their motivation and the design principles on which they are based.
 
CS 3520      (Active)
Database Theory
3.0 : 3.0 : 0.0    Su, F, Sp
Prerequisite(s):CS 2300, CS 2420
For Computer Science majors. Introduces theory, concepts, architecture, and use of database management systems (DBMS). Presents the relational and object-oriented database models used in both local and client/server databases. Discusses the Structured Query Language (SQL), database design, normalization theory, and relational calculus relating to database management systems.
 
CS 3540      (Active)
Game Programming
3.0 : 3.0 : 0.0    F
Prerequisite(s):CS 2420; CS 3370 recommended.
Presents programming techniques for two and three dimensional graphics programming using DirectX, OpenGL, and/or similar graphics platform. Includes application of artificial intelligence concepts to game programming. Also includes use of network programming techniques for development of multi-player games.
 
CS 3550      (Active/WorkFlow)
Internet Software Development
3.0 : 3.0 : 0.0    Su, F, Sp
Prerequisite(s):CS 3250
Covers Internet programming concepts and sophisticated applications for today's World Wide Web. Includes client side and server side code development.
 
CS 3660      (Active/WorkFlow)
Web Server Programming
3.0 : 3.0 : 0.0    Sp
Prerequisite(s):CS 3550
Covers web programming techniques such as PHP, CGI, Java servlets, web-based database applications, and XML.
 
CS 3670      (Active/WorkFlow)
Network Programming
3.0 : 3.0 : 0.0    Sp
Prerequisite(s):CS 3250 and CS 3690
Introduces background information including NetBIOS, NetBEUI, Mailslots, Named Pipes, and Redirector. Presents Berkeley Socket theory and the details of Windows sockets. Presents theory and practical application of network protocols. Introduces CORBA and the various as concepts of ORB's and the IIOP protocol.
 
CS 3690      (Active)
Advanced Topics in Data Communications
3.0 : 3.0 : 0.0    F, Sp
Prerequisite(s):CS 2300, CS 2600, ENGL 1010, MATH 1210. (ENGL 2010 or 2020 Recommended)
A continuation of CS 2600 Fundamentals of Data Communications, focusing on the upper half of the OSI and Internet models. Covers Internet protocols; routing theory; transport protocols; network application interfaces; presentation formatting; information theory and compression; network security and encryption; and other emerging technologies as time permits. Includes lab assignments to be completed outside of lecture.
 
CS 4100      (Active)
Database Management System Construction
3.0 : 3.0 : 0.0    
Prerequisite(s):CS 3520 and (CS 3220 or CS 3250 or CS 3260)
Looks at issues involved in actually implementing a DBMS. Students will implement a relational DBMS. Features of the DBMS include project, select and join, indexing, B+ trees, parsing and query optimization.
 
CS 4230      (Active)
Software Testing and Quality Engineering
3.0 : 3.0 : 0.0    F
Prerequisite(s):CS 2450 and MATH 2040
Provides a comprehensive exploration of strategies for testing computer systems. Includes unit testing, system testing, developing software testing organization, and establishing software Total Quality Management (TQM) programs. Students will conduct system tests of software packages.
 
CS 4260      (Active)
Digital System Simulation
3.0 : 3.0 : 0.0    Sp
Prerequisite(s):CS 3060, MATH 2040
Introduces simulation of the methods used to study the behavior of digital systems. Includes the study of discrete simulation models, queuing theory, the generation of random numbers and varieties, and stochastic processes. Compares popular simulation languages and commercially available simulation tools. Describes approaches to design of simulation experiments and the analysis of experimental data.
 
CS 4380      (Active)
Advanced/High-Performance Computer Architecture
3.0 : 3.0 : 0.0    F
Prerequisite(s):CS 3060
Presents theory and concepts of high-performance computer architectures. Includes digital logic, buses, registers, ALU's, control units, pipelining, parallelism, DASD's, SASD's, RAID, caching, instruction-sets, memory hierarchy, multiprocessing, interconnection via networks.
 
CS 439R      (Active)
Advanced Current Topics in Computer Science
1.0 to 3.0 : 0.0 to 3.0 : 0.0 to 12.0    On Sufficient Demand
Prerequisite(s):Department approval
Provides exposure to emerging technologies and topics of current interest in computer science. Varies each semester depending upon the state of technology. A maximum of three hours may be counted towards graduation without CNS Department approval.
 
CS 4400      (Active)
Software Engineering II
3.0 : 3.0 : 0.0    F
Prerequisite(s):CS 2450
Covers principles and practices of early phases of software development life cycle. Studies software requirements elicitation, analysis, and design. Includes in-depth, practical study of at least one major software development approach as applied to a realistic organizational systems problem. Explores requirements definition, analysis including prototyping, functional and nonfunctional requirements specification, legacy systems, and architecture patterns.
 
CS 4450      (Active)
Analysis of Programming Languages
3.0 : 3.0 : 0.0    F
Prerequisite(s):CS 3240
Offers the mature student an in-depth understanding of the design and implementation of programming languages. Criteria for evaluating programming languages are established as a context for comparing both traditional and current popular languages. Topics include the evolution of programming languages, syntax analysis, the concept of binding, type checking, static and dynamic scoping, control structures, subprograms and parameter passing methods, concurrency, and exception handling. Explores the functional programming paradigm in-depth. Includes programming assignments in at least two different programming languages, at least one of which being a functional language such LISP, Scheme, ML, or Haskell.
 
CS 4470      (Active)
Artificial Intelligence
3.0 : 3.0 : 0.0    F
Prerequisite(s):CS 3240, MATH 1220, and (CS 3220 or CS 3250 or CS 3260)
Presents theory, organization, concepts, and principles of artificial intelligence methodologies including neural networks, expert systems, machine learning algorithms, and genetic algorithms.
 
CS 4480      (Active)
Digital Image Processing and Computer Vision
3.0 : 3.0 : 0.0    Sp
Prerequisite(s):CS 2300, CS 2420, MATH 1220.
Prepares students for creating software solutions in the multimedia market of today and into the future. Covers digital sampling of analog signals, basic image processing in the spatial domain and frequency domain, edge and line detection, photo enhancement, feature extraction, and object recognition.
 
CS 4490      (Active/WorkFlow)
Compiler Construction
3.0 : 3.0 : 0.0    Sp
Prerequisite(s):CS 4380, CS 4450
Studies theory, analysis and design of class developed compiler
 
CS 4500      (Active)
Advanced Topics in Database
3.0 : 3.0 : 0.0    
Prerequisite(s):CS 3520 or INFO 3410
Covers transaction processing, concurrency control techniques, database recovery techniques, database security and authorization, database integrity, distributed databases and client-server architectures, load balancing, data warehousing, data mining, database machines, mobile database, multimedia database, GIS, genome data management, data fragmentation, data encryption, locking, and deadlock.
 
CS 4510      (Active)
Operating Systems Design and Simulation
3.0 : 3.0 : 0.0    Sp
Prerequisite(s):CS 4380
Presents architecture, principles concepts, design, implementation, and simulation of modern operating systems. Studies architecture, design, and simulation of an operating system. Discusses queuing, scheduling, resource allocation, and memory management.
 
CS 4550      (Active)
Software Engineering III
3.0 : 3.0 : 0.0    Sp
Prerequisite(s):CS 4400
Senior-level, capstone project experience course. Requires operating as part of a high performance team. Includes completing the design and implementation of a large-scale software development project. Combines major milestone presentations to project clients, completing a portfolio of project-related artifacts, and offer an evaluation of the project and team experience. Requires students to take a program level assessment.
 
CS 4610      (Active)
TCP/IP Internet Architecture
3.0 : 3.0 : 0.0    F
Prerequisite(s):CS 3690
Provides theoretical, practical, administrative perspectives of the TCP/IP protocol and its use with the Internet. Includes coverage of IPv4, IPv6, TCP, OSPF and related protocols, IP addressing, subnetting issues, and domain name services are also covered.
 
CS 4670      (Active/WorkFlow)
Capstone Project for Networking Specialization
3.0 : 3.0 : 0.0    Sp
Prerequisite(s):CS 4610
Creates a system suitable for presentation and defense including project proposal, management plan, system design documentation, relevant testing and benchmarks, and final written and oral reports. Includes system design, systems integration and systems management. Encourages open source and community service projects are encouraged. Requires completion of a program level assessment test.
 
CS 479R      (Active)
Advanced Current Topics in Computer Science
1.0 to 3.0 : 0.0 to 3.0 : 0.0 to 12.0    On Sufficient Demand
Prerequisite(s):Department Approval
Provides exposure to emerging technologies and topics of current interest in computer science. Varies each semester depending upon the state of technology. A maximum of three hours may be counted towards graduation without prior written CS Department approval.
 
CS 481R      (Active)
Internship
1.0 to 8.0 : 0.0 : 5.0 to 40.0    Su, F, Sp
Prerequisite(s):CS 3240 and Instructor approval
Provides opportunity to use work experience to add to educational background and academic experience. A maximum of three hours may be counted towards graduation without prior written CNS Department approval.
 
CS 489R      (Active)
Undergraduate Research Project
2.0 to 6.0 : 2.0 to 6.0 : 0.0    On Sufficient Demand
Prerequisite(s):Department approval
Combines and integrates concepts, methodologies, and skills developed in previous Computer Science course work. Studies the specification, analysis, design, implementation, and completion of a complex and comprehensive project. Requires a project/portfolio using project management techniques. A maximum of three hours may be counted towards graduation without prior written Computer Science Department approval.
 
CS 491R      (Active)
Independent Study
1.0 to 6.0 : 0.0 to 6.0 : 0.0 to 18.0    On Sufficient Demand
Prerequisite(s):Prior written Department Chair approval
Offers independent study as directed by a faculty advisor in reading, individual projects, etc. Varies each semester depending upon the state of technology. A maximum of three hours may be counted towards graduation without prior written Department approval.
 
CS 496R      (Active)
Senior Seminar
1.0 to 3.0 : 0.0 to 3.0 : 0.0 to 12.0    On Sufficient Demand
Presents current state-of-the-art and/or best-practices topics in a seminar format. A maximum of three (3) credits will count towards graduation.
 

Degrees