Computer Science Courses (CS)
CS 101: Fundamentals of Computer Science (3) A
first course intended for both major and non-major novice computer users that
introduces computers and computing. This course will introduce computer
topics, enhance necessary skills, explore job opportunities and study the
impacts of computing in society. Prereq: none
CS 201:
Introduction to Object-Oriented Programming using Java (3) Introduces the fundamental concepts
of programming from an object-oriented perspective. Through the study of
object design, this course introduces data abstraction, inheritance,
overriding, programming flow of control, operator precedence, and simple
data structures such as lists and arrays. This course also introduces
the basics of human-computer interfaces, graphics, and the social
implications of computing, along with significant coverage of software
engineering.
CS 215: Discrete
Structures for Computer Science (3) Offers an intensive introduction to discrete mathematics as it is used in Computer Science. Topics include functions, relations, sets, propositional and predicate logic, simple circuit logic, proof techniques, elementary combinators, and discrete probability.
CS 258: Introduction to Object-Oriented Programming using C# (3)
Introduction to programming in C# with a focus on object oriented programming
techniques. In addition, the language syntax, data types, methods, functions,
and procedures necessary to write C# programs will be covered. The language will
be introduced using console examples and will migrate to windows examples during
the course of the semester. Laboratory exercise will be assigned that represent
common business problems for which the language is best suited. Prereq: none
CS 259:
Introduction to Object-Oriented Programming using C#
(Changed to CS 258)
CS 288:
Introduction to Object-Oriented Programming using Visual Basic (3) An introduction to programming in the microcomputer environment. Online
interactive techniques will be emphasized in the solution of common
business problems. Visual Basic will be used to illustrate structured
programming techniques. Lab assignments will be used to master syntax
error correction as well as problem-solving skills. Prereq: CS 111 or
equivalent.
CS 301:
Advanced Object-Oriented Programming using Java (3) Continues the
introduction of object-oriented programming begun in CS 201, with an emphasis on
algorithms, data structures, string processing, internal searching and sorting,
software engineering, and the social context of computing. Prereq: CS 201.
CS 311: Algorithm
Design and Analysis (3) Introduces formal techniques to support the
design and analysis of algorithms, focusing on both the underlying
mathematical theory and practical considerations of efficiency. Prereq:
CS 201, CS 215, CS 301.
CS 321: Architecture of Digital Computers (3)
An introduction to the internal structure of digital computers. The design of
gates, flip-flops, registers, and memories to perform operations on numerical
and other data represented in binary form. [Prerequisites for Spring 2010 and
later: ENGR 241]
CS 358:
Intermediate Object-Oriented Programming using C# (3) Advanced
study of the C# programming language, emphasizing object-oriented
techniques applied to complex business information needs. In
addition, the course will deal extensively with database connectivity
and utilization. The course will start with Windows examples and
will migrate to Web examples during the course of the semester.
Laboratory exercises will be assigned that represent common business
problems for which the language is best suited. Prereq: CS
258/259.
CS 359:
Advanced to Object-Oriented Programming using C#
(Changed to CS358)
CS 365:
Operating Systems (3) The course includes the fundamental principles
of operating systems, resource allocation and use by applications,
device organization, interrupts, concurrency, user/system state, and
protection. It develops each of these areas in greater depth: scheduling
and dispatch, preemptive and non-preemptive scheduling, processes and
treads, file systems, buffering, encryption, virtual memory, paging,
swapping, security, protection, and related topics. Both Microsoft and
Unix systems will be covered. Prereq: CS 201, CS 215, CS 301, and CIS 311.
CS 377: Introduction to Data Base Concepts (3) Introduction to database theory. Discussion of data structures, indexed
and direct file organizations, models of data including hierarchical,
network, and relational. Discussion of data analysis, design,
implementation, and database administrator functions. Application of
database, data definition languages, data manipulation languages, and/or
data manipulation through a host language. Cross-listed as CIS 377.
Prereq: a program language, e.g. Visual Basic, Object-Oriented
Programming, C#, etc.
CS 379: Programming Languages (3) Introduction to formal study of syntax semantics and the logic of
programming languages. Features of prominent languages will be examined.
Prereq: CS 201 CS 215, CS 301 and CS 311.
CS 388:
Advanced Object-Oriented Programming using Visual Basic (3) Advanced programming techniques in the microcomputer environment.
Windows, networking, and remote communications techniques will be
explored. Visual Basic will be used to illustrate the necessary
programming techniques to solve these problems. Lab assignments will be
used to master language and problem-solving skills. Prereq: CS 288.
CS 411:
Network Management and Security (3) This course provides an overview
of network management and security. It covers topics in communication
technologies, communication design, communication protocols, and
communication system planning and development. It includes distributed
computing, encryption technology, and collaboration technology. It will
introduce security sites representing the state of the art in security.
It will cover major security concerns of IP security, network security,
security in distributed object systems, security in distributed systems,
Web security, e-mail security, viruses, trojans and worms, firewalls,
and denials of service. Hands-on assignments with system and firewall
configuration. Prereq: CS 201, CS 301, and CS 365.
CS 421: Study of Legacy Systems (3) This course is an overview of legacy systems that will include the study of operating systems, user interfaces, basic operator commands, flat file architecture, editors, interactive and batch programming concepts, and programming languages. Laboratory exercises will be assigned what emulate common problems encountered in businesses utilizing legacy systems. Prereq. CS 388 or CS 359 or CS 301.
CS 437: Numerical Analysis (3) A survey of current methods in numerical analysis. Topics will include:
polynomial approximation and interpolation, numerical differentiation
and integration, numerical solution of differential equations,
functional approximation, solution of linear and nonlinear equations,
and matrix methods for inverse and eigenvalue problems. Cross-listed as
MATH 437. Prereq: CS 141, CS 331, MATH 330, and MATH 335.
CS 458: Advanced Object-Oriented Programming in C# (3) This course is an
advanced study of the C# programming language, emphasizing the development of
dynamic web pages. The course will cover server side controls, how to
access and update data from a data source, how to bind controls to a data source
and how to encapsulate visual and programmatic behavior in reusable ASP
components. Laboratory exercixes will be assigned that represent common
business problems for which the language is best suited. Prereq: CS 358/359
CS 461:
Artificial Intelligence (3) Introduces students to the fundamental
concepts and techniques of artificial intelligence (AI). Prereq: CS 201,
CS 215, CS 301.
CS 478: Software Development (3) Provides
an intensive, implementation-oriented introduction to the
software-development techniques used to create medium-scale interactive
applications. Prereq: CS 201, CS 215, CS 301.
CS 483:
Senior Software Development Project (3) This course applies computer
programming and software engineering concepts, principles, and practices
to a comprehensive system development project. A team approach is used
to analyze the problem, and then specify, design, implement, test,
validate, and deliver a software package that solves the problem. Teams
will use software engineering techniques, project management techniques
including milestones and formal presentations to create and test the
package solution to the system problem. Prereq: CS 201, CS 301, CIS 305,
CS 365, CIS 367, CIS 375, and CS/CIS 377, Senior Standing.
CS 499: Projects in Computer Science (3) Advanced project in mathematics, business, or other area, done under
supervision of instructor in area. Prereq: six hours upper-division
computer science courses.