- Home

- Mathematics, Computer Science & Economics

- Courses

- Undergraduate Computer Science Courses
COMPUTER SCIENCE
CS 115. ELEMENTS OF COMPUTER SCIENCE 3 HRS.
(Prerequisites, 1 year of high school algebra, MA 098, or permission.)
This course covers the computer and computer application at the
introductory level. Topics include the history of computing, hardware,
components, software, problem solving, data types and structures,
acquisition and selection of equipment and software, social and
economic implications, and careers in computing. The course is
designed for students who will utilize the computer in other disciplines
and students desiring general information about computers and their
applications.
CS 130. MICROCOMPUTER PROBLEM SOLVING 3 HRS.
(Prerequisite, one year of high school algebra.) An introductory study of
problem solving using computers, with emphasis on the microcomputers.
Basic programming skills and efficient techniques for setting
up problems applicable for computer solution are stressed. The primary
response of the student is to solve problems by writing programs, testing
them, and obtaining the results on the computer.
CS 201. CURRENT TOPICS IN COMPUTER SCIENCE 1-3 HRS.
This course will provide a study of selected topics in computer science
not currently found in other computer science courses. It may be
repeated with different topics for a maximum of six credits. See
Schedule of Classes for specific topics.
CS 220. INTRODUCTION TO COMPUTER SCIENCE 3 HRS.
(Prerequisite, high school algebra.) An overview of the discipline of
Computer Science. Topics to be covered will consist of introductions to
the “traditional” areas of computer science such as data structures,
assemblers and compilers, theory of computing, artificial intelligence,
theory of data bases, and programming languages. This is intended as a
first course for computer science majors.
CS 234. SOFTWARE IMPLEMENTATION AND
UTILIZATION 3 HRS.
(Prerequisites, CS 130 and CS 220.) This course will introduce the
secondary education student to use of software technologies and provide
a framework for utilizing software products in an educational setting.
The course will provide its participants with strategies for employing
these technologies to assist the secondary classroom teacher and
learning community.
CS 250. INTRODUCTION TO COMPUTER PROGRAMMING 3 HRS.
(Prerequisite, MA 110.) This course is designed to introduce students
to the discipline of computer science. Major emphasis will be placed on
problem solving by decomposition top-down design of algorithms,
elementary control and record structures, array, string, and file
processing, recursion and pointer variables.
CS 260. PROGRAMMING AND PROBLEM SOLVING 3 HRS.
(Prerequisite, MA 110.) This course is designed to introduce students
to the discipline of computer science. Major emphasis is placed on
problem solving and program development skills. Students write
computer programs in a high-level language. Major topics include
program design, control structures, subprograms, arrays, pointers, and
class construction.
CS 301. FLUENCY WITH INFORMAITON TECHNOLOGY 3 HRS.
An overview of Information Technology and its relation to society.
Through a hands-on approach, students will learn fundamentals of
computer architecture, operating systems, computer communications, an
overview and limitation of programming languages, and applications
software. Students will have the opportunity to reflect on the integration
of computer technology and society (past/present/future.)
CS 315. JAVA PROGRAMMING 3 HRS.
(Prerequisites, CS 260 or instructor permission.) Java is an objectoriented
language that has become an important language for use on the
Internet. This course will give an introduction to programming in Java.
CS 320. COMPUTER NETWORKS AND INTERNETS 3 HRS.
(Prerequisite, MA 110.) This course answers the basic question, "How
do computer networks and internets operate?" in the broadest sense.
The course provides a comprehensive, self-contained tour through all of
networking from the lowest levels of data transmission and wiring to the
highest levels of application software.
CS 325. HTML PROGRAMMING 3 HRS.
This course provides the student with the information necessary to
create HTML documents for the World Wide Web. The course will
cover syntax and design issues as well as techniques and technologies
which promote information transmission across the Internet.
CS 340. ALGORITHMS AND DATA
STRUCTURES I 3 HRS.
(Prerequisites, CS 220 and CS 250.) Basic concepts of data structures
and algorithms. Design and analysis of algorithms and analysis of the
data structures which are appropriate to the implementation of particular
algorithms. The effect of data structures and algorithms on program
development, efficiency and maintenance will be covered. Applications
of data structures such as lists, strings, arrays, trees, stacks, queues, and
graphs in file processing and bulk data storage will be covered.
CS 345. ALGORITHMS AND DATA STRUCTURES II 3 HRS.
(Prerequisite, CS 340 or consent of instructor.) Continuation of CS 340.
The analysis of a variety of algorithms which arise frequently in
computer applications. Basic principles and techniques for analyzing
and improving algorithms in areas such as List Searches, Sorting,
Pattern Recognition, Polynomial and Matrix Computations.
CS 350. PROGRAMMING LANGUAGES 3 HRS.
(Prerequisite, CS 340.) The study of the general concepts and
principles of underlying computer programming languages. Case studies
of specific computer languages which illustrate these general concepts
and principles.
CS 355. UNIX 3 HRS.
This course provides an overview of the commands, utilities and
supporting architecture used in the UNIX operating system. This course
provides the student with skills needed to operate UNIX based
computers on the Internet and perform file/system operations on
graphics workstations and servers. Topics include installation, common
utilities, making files, creating and manipulating databases, servers,
editors, and the C, Bourne, and Korne shells.
CS 386. INTERNSHIP: COMPUTER SCIENCE 1-3 HRS.
(Prerequisite, 20 hours in computer science courses.) An academic
course to provide students with an opportunity to gain field experience
in computer science through professional experience. The academic
experience is developed jointly by the student and the faculty advisor.
No more than 3 hours in CS 386 may be counted toward the computer
science major.
CS 410. SEMINAR IN COMPUTER SCIENCE 1-4 HRS.
(Prerequisite, permission of mathematics department.) A seminar
involving various topics in computer science.
CS 444. DATABASE ORGANIZATION 3 HRS.
(Prerequisite, CS 260 or instructor permission.) Investigations of
strategies for deploying database application. Overview of database
architectures, including the Relational, Hierarchical, Network and
Objects Models. Database interfaces, including the SQL query
language. Issues such as security, integrity, and query optimization.
Database design using the Entity-Relationship Model. Develop
familiarity with modeling, design and implementation techniques used
in the construction of database applications.
CS 472. TEACHING COMPUTER SCIENCE 2 HRS.
(Prerequisites, CS 130 and CS 115.) A methods course to aid the
prospective computer science teacher in high school and junior high
school with aspects of hardware and software selection and evaluation;
use of the computer in other disciplines and in the home; organization
of computer topics for presentation; design of computer projects;
careers in the computer science field; computer architecture; practicum
in the teaching of computer science.
CS 480. INDEPENDENT STUDY COMPUTER SCIENCE 1-4 HRS.
(Prerequisite, permission of mathematics department. Open only to
qualified juniors and seniors.) Topics of special interest in some area of
computer science study not included in regularly listed courses.
CS 501. ADVANCED COMPUTER PROGRAMMING 1-3 HRS.
(Prerequisite, CS 250 or consent of instructor.) Elementary and
advanced programming techniques for a particular language will be
studied along with applications of the language. The student will have
many opportunities to learn these skills through frequent programming
assignments. Course may be repeated for credit.
CS 520. MICROCOMPUTER PROJECTS 3 HRS.
(Prerequisites, MA 161 or MA 165 & CS 130 or instructor’s
permission.) This course is designed to introduce students to additional
features and capabilities of microcomputers, such as cassette tape or
floppy disk storage and retrieval, used to solve scientifically oriented
problems. With minimal instruction, students are required to complete
advanced projects, primarily using the programming language BASIC,
on each of the available micro-computers.
CS 523. ARTIFICIAL INTELLIGENCE 3 HRS.
(Prerequisites, CS 501 and CS 345, or equivalent course work.) This
course includes problem solving methods, game playing, and
knowledge representation.
CS 542. DISCRETE STRUCTURES 3 HRS.
(Prerequisite, MA 240.) Computer oriented course. Theory and
applications with regard to trees, graphs, partial orders, lattices, Boolean
algebra, finite groups and combinatorics.
CS 545. DATABASE THEORY 3 HRS.
(Prerequisites, MA 240, CS 345.) This course will provide a rigorous
treatment of database theory and the implementation of database
structures. Topics will include: data modeling, relational algebra,
relational calculus, dependencies and normalization theory, and external
implementations of data structures such as B-Trees and hash tables.
CS 552. PRINCIPLES OF SOFTWARE ENGINEERING 3 HRS.
(Prerequisite, CS 345.) This course covers the phases of software
development including formalization of requirements, architectural and
detailed design, implementation, testing, and maintenance.
CS 554. PRINCIPLES OF COMPUTER
ARCHITECTURE 3 HRS.
(Prerequisites, CS 345 and CS 542.) A lecture-laboratory course where
students will learn the hierarchical structure of computer architecture. A
hands on experience will be included.
CS 555. PRINCIPLES OF COMPUTER ORGANIZATION 3 HRS.
(Prerequisite, CS 345.) This course stresses the hierarchical structure of
computer architecture. Levels of computer organization include digital
logic, microprogramming, machine language, macro language,
operating systems. Topics covered are instruction execution, memory,
registers, addressing, input/output, control, instruction sets, data flow,
control flow, interrupts, and multitasking. Hands on experience will
include assembly language programming using macros, linkers, and
loaders.
CS 557. OPERATING SYSTEMS 3 HRS.
(Prerequisite, CS 345.) This course is designed to study the principles
and problems involved in the development of an operating system of a
computer. Overview of the development of operating systems,
sequential and concurrent processes, cooperation, communication and
mutual exclusion, synchronization constructs: monitors, conditional
critical regions, semaphores; deadlocks, resource allocation, scheduling
policies, storage management, case study of the operating system of a
personal computer.
CS 561. SYSTEMS PROGRAMMING 3 HRS.
(Prerequisite, CS 340.) Organization of a computer system. Internal
representation of data. Memory management, input/output and
interrupts. Utilizing system software in order to program the system via
assembling, linking, and debugging.
CS 563. COMPUTER ATTACK ESSENTIALS 3 HRS.
When talking about Network Security, we have to acknowledge that all
systems have vulnerable points. This course examines the fundamental
and historical perspective of hacking methodology and psyche. The
hacking topics are explored in order to examine the current systems
associated with these vulnerable points. This course researches and
studies the techniques and tools to detect and evaluate these vulnerable
points of known exploits in network and operating systems. Types of
hackers include those that snoop around networks, vandalize websites
or even steal proprietary information by the use of well-known schemes,
such as viruses, worms, Trojan horses, denial-of-service attacks and
buffer overflows.
CS 564. NETWORK DEFENSE AND COUNTERMEASURES 3 HRS.
Network Defense and Countermeasures focuses on students’
understanding of the architecture for network defense. Students will
work with layered network defense structures and implement firewalls
on various platforms. Students will also gain a working knowledge of
Virtual Private Networks and Intrusion Detection Systems, perform
packet and signature analysis, identify different methods of risk
analysis, and create a security policy.
CS 565. COMPUTER FORENSICS 3 HRS.
This course examines procedures and tools for identifications,
preservation, and extraction of electronic evidence, auditing and
investigation of network and host system intrusions, analysis and
documentation of information gathered, and preparation of expert
testimonial evidence.
CS 569. DATA SECURITY PRACTICUM 3 HRS.
This course takes a practical look at using good security practices in
software. We take a broad look at the issues of correctly implementing
security strategies, including why some strategies fail. Students will
apply concepts from software engineering, cryptography, and security
theory. Students will study state-of-the-art implementation techniques
and learn appropriate conditions under which these techniques apply (or
not). Students will implement a non-trivial project that will stress
correct secure programming techniques.
CS 570. THEORY OF COMPUTATION 3 HRS.
(Prerequisite, CS 542.) This course covers the basic theoretical
principles of computer science embodied in finite automata context free
grammars, computability, and computational complexity.
CS 580. INTRODUCTION TO COMPUTER NETWORKS 3 HRS.
(Prerequisite, CS 345, MA 161.) An introductory examination of the
Open System Interconnection Reference Model (OSI). Special
emphasis will be given to real world implementations of the various
sub-levels of the OSI model.
CS 584. RAPID APPLICATION DEVELOPMENT 3 HRS.
This course introduces the student to Rapid Application Development
Languages as well as the theory and practice of using these programs to
access the internet.
CS 620. COMPUTER NETWORKS AND INTERNETS 3 HRS.
(Prerequisite, MA 110.) This course answers the basic question “How
do computer networks and internets operate?” in the broadest sense.
The course provides a comprehensive, self-contained tour through all of
networking from the lowest levels of data transmission and wiring to the
highest levels of application software.
CS 625. HTML PROGRAMMING 3 HRS.
This course provides the student with the information necessary to
create HTML documents for the World Wide Web. The course will
cover syntax and design issues as well as techniques and technologies
which promote information transmission across the Internet.
CS 760. NUMERICAL ANALYSIS 3 HRS.
(Prerequisites, MA 262.) Most real world applications of mathematics
involve the implementation of numerical algorithms to approximate the
solutions to well known types of mathematical problems. Therefore this
course includes the study of types of numerical errors, precision versus
efficiency considerations, and methods of detecting when a numerical
solution is unacceptably inaccurate. Mathematical areas for numerical
algorithms include solving nonlinear equations, interpolation,
polynomial approximation and differentiation and integration.
CS 762. OPTIMIZATION TECHNIQUES 3 HRS.
(Prerequisites, MA 322 and MA 262, and CS 260.) Computer oriented
course. Mathematical development of optimization techniques, linear
programming, transportation problems, game theory.
CS 763. SIMULATION TECHNIQUES 3 HRS.
(Prerequisites, MA 262 and MA 332, and CS 260.) Computer oriented
course, simulation of complex problems, queing, models, Monte-Carlo
techniques.
CS 765. NUMERICAL LINEAR ALBEGRA 3 HRS.
(Prerequisite or co-requisite: MA322.) The solution of systems of
linear equations is an important component of solving many
applications in a wide variety of fields. A central part of the course
features how this is done efficiently and accurately when using a
calculator or computer to solve the system. Topics include LU
factorization and iterative methods, along with modern techniques for
approximating eigenvalues and eigenvectors.
CS 775. COMPILER DESIGN 3 HRS.
(Prerequisites, CS 350, CS 345, and CS 561.) The course is designed to
study various theoretical aspects involved in construction of a compiler.
Compiler organization--overview, lexical analysis, symbol tables,
representation of data types in a compiler, syntactic analysis, attribute
grammars, semantic analysis, address assignment, code generation, error
handling, storage management; large programming project/case study or
a language used on a personal computer.
CS 780. FILE STRUCTURES 3 HRS.
(Prerequisites, CS 345.) Basic physical characteristics of peripheral
storage devices. File organization and processing methods for
sequential, direct, indexed, B-trees and other tree structured file
organizations. Application of data structure concepts to logical and
physical file organization. Performance analysis. Elements of advanced
data base systems.
CS 810. SEMINAR IN COMPUTER SCIENCE 0-3 HRS.
Directed reading and research in Computer Science.

