COMP 160. Fundamentals of Computer Science
4 sem hrs
An introduction to the field of Computer Science. The
course will include a brief introduction to various topics that make up the
computer science discipline. These topics may include, but are not limited to,
computer logic, computer architecture, operating systems, and compilers. In
addition, topics such as history of computing, careers in computing, and social
impact of computing will be covered. Students will work with simplified
programming environments to develop the problem-solving skills needed for more
advanced study in computer science. This course is intended for students with no
previous computer programming experience. Offered every semester.
COMP 161. Introduction to Programming
4 sem hrs
An in-depth introduction to the design, development, and
implementation of computer programs. Students will focus on developing modular
programs in a procedural style. Topics include primitive and structured data
types, data and sequence control mechanisms, subprograms and parameters and
recursion. Students experiment with basic concepts during regularly scheduled
laboratory sessions. Programming will be done using the Java programming
language. Prerequisite: COMP 160. Offered in the spring semester.
COMP 210. Object-Oriented Programming
4 sem hrs
In this course students are introduced to basic and
advanced object-oriented programming techniques. Topics include objects,
inheritance, reusable code and generic programming. Additionally, students will
learn basic exception handling and be introduced to programming Graphical User
Interfaces (GUI). Course concepts are discussed during regular class session and
explored further during weekly lab sessions. Prerequisite: COMP 161. Offered in
the spring semester.
COMP 220. Data Structures
4 sem hrs
Definition, implementation and application of data
structures and their operations. Topics include abstract data types, recursion,
efficiency analysis, algorithms, sorting and searching. Students will develop
the basic tools necessary to compare and contrast algorithms and computer
programs in general. Additionally, the nature of the science of computation will
be explored. Taking MATH 260 prior to or concurrently with COMP 220 is highly
recommended but not required. Prerequisite: COMP 161. Offered in the fall
semester.
COMP 230. Computer Architecture and
Organization
3 sem hrs
An introduction to the architecture and organization of
computer systems emphasizing the standard von Neumann model and moving forward
to alternative concepts such as multiprocessor systems. Topics include digital
logic, data representation, assembly language, memory systems, I/O interfaces.
Prerequisites: COMP 161 and MATH 260. Offered in the spring semester.
COMP 310. Database Theory and Design
3 sem hrs
An introduction to the concepts and techniques of
database systems. Includes history and motivation of database systems, data
modeling, rational database, SQL, transaction processing, distributed databases.
Prerequisites: COMP 220 and MATH 260. Offered every odd spring semester.
COMP 325. Organization of Programming
Languages
3 sem hrs
A study of the necessary components of programming
languages and of how computers implement programs. Prerequisites: COMP 220 and
230. Offered every odd fall semester.
COMP 335. Software Engineering
3 sem hrs
A look at the field of software engineering and the
theories and practices it uses. Topics include system logic, design, modeling
and the software process. Students will put software engineering practices to
use on a group software project. Prerequisites: COMP 210 and 220. Offered every
odd fall semester.
COMP 337. Computer Communications and
Networking
3 sem hrs
This course introduces the fundamentals of computer
networks. It focuses on the communication protocols used in computer networks,
their functionality, specification, verification, implementation, and
performance. The course also considers the use of network architectures and
protocol hierarchies to provide more complex services. Existing protocols and
architectures will be used as the basis of discussion and study. Prerequisite:
COMP 220. Offered every even spring semester.
COMP 340. Analysis of Algorithms
3 sem hrs
A study of the design and analysis of computer
algorithms. Topics include asymptotic analysis, efficient algorithm design,
sorting and order statistics, hashing, binary search trees, graph algorithms,
matrix multiplication, and NP completeness. This course begins a more in-depth
study in the theory and science of computation. Prerequisites: COMP 220 and MATH
260. Offered every even spring semester.
COMP 343. Artificial Intelligence
3 sem hrs
An introduction to the fundamental issues and problems of
computational artificial intelligence with a history of the field and discussion
of the social, moral and ethical issues involved in attempting to create
intelligent machines. Topics include search-based problem solving, knowledge
representation and reasoning, machine learning and uncertainty. Prerequisites:
COMP 220 and MATH 260. Offered every odd spring semester.
COMP 345. Operating Systems
3 sem hrs
Topics include dynamic procedure activation, system
structure, memory management, process management, and recovery procedures.
Prerequisites: COMP 220 and 230. Offered every even fall semester.
COMP 350. Topics in Computer Science
3 sem hrs
Possible topics include theoretical computer science,
computer/network security, cryptography, graphics, and general topics within
Computer Science not covered in the standard catalog. May be repeated for credit
with different topics. Offered annually. Topics determined based on current
events and current student interests. Prerequisites vary according to the topic
studied. Offered every odd fall semester.
COMP 401. Senior Project: Research
2 sem hrs
COMP 401 is the first of two courses that make up the
capstone experience in Computer Science. This course focuses on researching and
developing a concrete proposal for an independent or small group project to be
implemented in COMP 402 the following spring.
Prerequisite: COMP 220 and senior status. Offered in the fall semester.
COMP 402. Senior Project: Implementation
2 sem hrs
COMP 402 is the second of two courses that make up the
capstone experience in Computer Science. This course focuses on the
implementation of the research and development proposal completed during the
previous fall’s section of COMP401. Prerequisite: COMP 401. Offered in the
spring semester.
COMP 420. Independent Study
3 sem hrs
An individual project in computer science undertaken by
the student with the guidance of the faculty. Prerequisite: Permission of the
instructor.
COMP 450. Internship in Computer Science
3 sem hrs
An experience designed to allow students in the computer
science field to apply the concepts and ideas developed during their study in
the major. Prerequisite: Senior standing and prior approval of the department.