Skip to Content

Computer Science - Spring 2017

COMP 121
Computing in the Arts and Sciences
4 credits

Herzog, John
Prerequisite:  Math Placement Level 22 or higher recommended
This introductory course is intended for non-majors, and assumes little computer experience beyond using word processing software. COMP 121 is designed to help students become familiar with computers, their use in problem-solving and their impact on society. Students will create spreadsheets and databases, and will learn some basics of programming.

The course meets for four hours and ten minutes each week, and includes extensive time for hands-on practice. The final grade will be based on labs, homework, and exams. Mathematical-reasoning intensive.

COMP 150
Computer Programming I

5 credits
Taylor, Ronald
Prerequisite:  Math Placement Level 22 or higher recommended
Introduction to computer science through the use of programming in the Python language.  Designed primarily for the student who expects to take further courses in computer science.  Also very valuable for any student who expects to do programming that is related to another discipline (e.g., in the sciences).  This course is required for the Computer Science major and minor, the Mathematics major and minor, and the Computational Science minor.  It is also recommended or required by certain science programs.   The course stresses the development of algorithms and data abstraction to solve problems.  It begins with basic algorithm design, progresses through imperative programming and finishes with most of the features of object-oriented programming.  Students write 10-15 programs.  The class has three 60-minute lecture/demonstrations plus a 90-minute lab per week.  Much of the work for the course is done outside of class using the laboratory computers to write, debug and run programs.

The course grade is based on programming assignments, lab exercises, in‑class tests, and a final.  Mathematical-reasoning intensive.

COMP 151
Lab for Computer Programming I
0 credits
Taylor, Ronald

Students in COMP 150 are required to sign up for one section of COMP 151. Graded on S/NC basis. Every year.

COMP 250
4 credits
Bitterman, Thomas
Prerequisite: COMP 150/151 or equivalent

Continuation of COMP 150/151. Disciplined programming using one or two high-level languages with specific emphasis on program design, style, efficiency and documentation. Includes the theory and application of abstract data types using arrays, lists, stacks, queues, trees and networks. Also provides an overview of computer science. Writing intensive.

COMP 275
Sequential and Parallel Algorithms
4 credits
Bitterman, Thomas
Prerequisites:  COMP 250 and MATH 171

Systematic study involving the properties and complexity of several types of algorithms implemented on both sequential and parallel processing computers. The algorithms studied are designed to solve problems in both symbolic and numeric processing. Algorithmic techniques covered include brute force, divide-and-conquer, decrease-and-conquer, transform-and-conquer and greedy methods. The issues of algorithm efficiency will be examined as well as limitations of algorithmic processing.

Grades will be based on assignments, projects, presentations, and exams.  Mathematical-reasoning intensive.

COMP 353
Principles of Software Design
4 credits
Bitterman, Thomas
Prerequisite:  COMP 250

This course emphasizes modern software design and development techniques, as well as expanding upon topics introduced in Computer Programming I and II. Topics covered include object-oriented design issues, formal design languages such as UML, design patterns, use of APIs, exception handling and fault-tolerant computing, event-driven programming, threading and multithreaded code, elementary concepts in security, authentication and encryption, the client-server model of networking, verification techniques, and advanced data structures. Assignments will be both theoretical and applied. Every year.

COMP 460
Senior Seminar

2 Credits
Bitterman, Thomas
This course will address the area of software engineering through the presentation, discussion and use of recognized software engineering principles. The primary emphasis is on the design, development, and documentation of a group project, but outside readings, presentations, and discussions may be required. This course is required of a senior majoring in computer science. The grade is based upon a combination of independent and group activities.  WRITING INTENSIVE. Mathematical-reasoning intensive.

 

Back to top