Toggle Menu
Wallace Hall
Navigate This Section

Courses

A student must earn at least a grade of C- in all prerequisites before taking a course.

COMP 160: Fundamentals of Computer Science with Lab
1 course credit

Fundamentals of Computer Science introduces students to computational thinking through the study of a systematic problem solving and computer program design process. Students will explore basic topics in computing and programming using a simplified variant of the Racket programming language designed for introductory courses. The problem solving and program design skills developed in this course are integral to advanced studies in computing. No prior programming experience is required.

Prerequisite: none. Offered every semester.

COMP 161: Introduction to Programming with Lab
1 course credit

Introduction to Programming is a continuation of COMP 160. In this course students explore the skills and tools required to develop correct, simple, and efficient computer programs. This course aims to simultaneously examine larger issues in computer science and practical issues faced by the professional programmer. Programs will be developed for the Linux command-line environment using the C++ programming language and tools currently used by professional programmers.

Prerequisite: COMP 160. Offered in the spring semester.

COMP 210: Object-Oriented Programming with Lab
1 course credit

Object-Oriented Programming exposes students to basic and advanced topics in object-oriented program design and development using the Java programming language. Students will learn to develop graphical user interface (GUI) programs as well as explore some classic object-oriented design patterns. This course follows COMP 220 and completes the lab-based, introductory programming sequence.

Prerequisite: COMP 220. Offered in the spring semester.

COMP 220: Data Structures with Lab
1 course credit

Data Structures is a continuation of COMP 161 and explores the data structures and algorithms essential to modern computing. Students will continue to develop Linux based C++ programs as they design, analyze, and implement and utilize abstract data types such as lists, stacks, queues, and tress. Strong emphasis is put on analyzing and evaluating how implementation choices made by the programmer impact overall program performance.

Prerequisite: COMP 161 and MATH 260. Offered in the fall semester.

COMP 230: Computer Architecture and Organization
1 course credit

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 160 and MATH 260 although MATH 260 can be a co-requisite. Offered in the fall semester.

COMP 310: Database Theory and Design
1 course credit

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 in alternate years.

COMP 325: Organization of Programming Languages
1 course credit

A study of the necessary components of programming languages and of how computers implement programs.

Prerequisites: COMP 220 Offered in alternate years.

COMP 335: Software Engineering
1 course credit

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 in alternate years.

COMP 337: Computer Communications and Networking
1 course credit

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 in alternate years.

COMP 340: Analysis of Algorithms
1 course credit

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 in alternate years.

COMP 343: Artificial Intelligence
1 course credit

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 in alternate years.

COMP 345: Operating Systems
1 course credit

Topics include dynamic procedure activation, system structure, memory management, process management, and recovery procedures.

Prerequisites: COMP 220 and 230. Offered in alternate years.

COMP 350: Topics in Computer Science
1 course credit

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 in alternate years.

COMP 401: Senior Project: Research
.5 course credit

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 inCOMP 402 the following spring.

Prerequisite: COMP 220 and senior status. Offered in the fall semester.

COMP 402: Senior Project: Implementation
.5 course credit

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 410: Research in Computer Science
.25 – 1 course credit

An individual or group project in computer science chosen by the student(s) in consultation with the computer science faculty. This course may count toward the computer science major at the discretion of the department.

COMP 420: Independent Study
.25 – 1 course credit

An individual project in computer science undertaken by the student with the guidance of the faculty. This course may count toward the computer science major at the discretion of the department.

Prerequisite: Permission of the instructor.

COMP 450: Internship in Computer Science
.25 – 1 course credit

An experience designed to allow students in the computer science field to apply the concepts and ideas developed during their study in the major. This course may count toward the computer science major at the discretion of the department.

Prerequisite: Prior approval of the department.

©