COMP 121 COMPUTING IN THE ARTS AND SCIENCES 4 SEM HRS SAKS
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 microcomputers and their use in problem-solving and their impact on society. Students will create spreadsheets, databases, and Web pages. Students will also learn a subset of Java Script, a language for creating interactive web pages.
The course meets for four hours each week, and includes extensive time for hands-on practice. The final grade will be based on labs, homework, and exams. Mathematical-reasoning intensive.
Prerequisite is Math Placement Level 22 or higher.
COMP 150 COMPUTER PROGRAMMING I 5 SEM HRS SAKS
Introduction to computer science through the use of programming. Designed primarily for the student who expects to take further courses in computer science. Also very valuable for any student that expects to do programming that is related to another discipline (e.g., in the sciences). Topics include programming in a high-level language, problem-solving, algorithm design, control constructs, data constructs, input-output, procedural and data abstraction, and the role of computing in society.
All programming will be done using the microcomputers located in the Science building microcomputer laboratory. The course includes an introduction to an industrial quality compiler and its integrated development environment (IDE) on the Wittenberg NT network. The course stresses construction of algorithms, how to design and write programs, structured programming, programming style, program documentation and testing. Particular emphasis is placed on problem solving. The class has three 1-hour lecture/demonstrations plus a 2-hour lab per week. Much of the work for the course is done outside of class using the microlab computers to write, debug and run programs. The language to be used will be C++. No previous experience with computers is assumed. The course grade is based on programming assignments, lab exercises, and in-class tests. Mathematical-reasoning intensive.
Prerequisite: Math Placement Level 22 or higher.
COMP 255 PRINCIPLES OF COMPUTER ORGANIZATION 5 SEM HRS SHELBURNE
Considers the organization and architecture of the computer from various "levels": digital logic, microprogramming, conventional machine level and the operating system level. Programming assignments in Assembly languages will be used to demonstrate and reinforce the various architectural structures and techniques studied. Grades will be based on in-class tests, programming and written assignments, and a final exam. The course will meet for three one-hour lectures and a two-hour lab each week. Mathematical-reasoning intensive.
Prerequisite: COMP 250
COMP 275 SEQUENTIAL AND PARALLEL ALGORITHMS 4 SEM HRS NOYES
Systematic study involving the properties and complexity of several useful types of algorithms that could be implemented on sequential and parallel processing computers. The algorithms studied are designed to solve problems in both symbolic and numeric processing. Symbolic methods include string manipulation, pattern-matching, searching, and sorting algorithms. Numeric methods include vector and matrix algorithms, as well as data processing and simulation/optimization algorithms. The issues of algorithm efficiency, intractable problems, P and NP algorithms, and NP completeness will also be examined. Grades will be based upon theoretical and programming assignments and exams. This course will assume a C++ background. Some work will be done in Mathematica7. Mathematical-reasoning intensive.
Prerequisites: MATH 171 and COMP 250; Co-requisite: MATH 205
COMP 285 THEORY OF COMPUTATION 4 SEM HRS SHELBURNE
This course covers topics in the theory of computation which is the theoretical foundation of computer science. It attempts to answer questions like, "What does it mean to compute?" and "What are the theoretical capabilities and limits of computers?" Topics include the study of finite state machines, push-down automata, linearly bounded automata, Turing machines, languages, phase-structure grammars (regular, context-free, context-sensitive, unrestricted), parsing, decidability, computability, computational complexity, and the Chomsky Hierarchy. Mathematical-reasoning intensive.
Prerequisites: MATH 171 and COMP 250 or equivalent or with permission of instructor.
COMP 380 TOPIC: OPTIMIZATION TECHNIQUES 5 SEM HRS NOYES
This topics course examines different methods of solving optimization problems. An optimization problem is a problem where one wishes to find the best solution. It typically involves maximizing or minimizing a function of one of more variables, possibly subject to some constraints on the variables. Typically these methods involve Linear Programming, Nonlinear Programming, and Unconstrained Minimization Techniques. The application models that will be solved by these methods will come from the sciences, engineering, economics, and business (operations research). This course will focus on the derivation and use of these techniques, their computer implementation, efficiency, and application to practical problems. The computer implementation will typically be done using Mathematica(R). However, C++ or FORTRAN will also be used.
This course will be given for mathematics credit (MATH 380) or computer science credit (COMP 380) and should be of special interest to students in the sciences. Students are required to have a TI-83, TI-83 Plus, or TI-86 graphing calculator for use in this class. Mathematical-reasoning intensive. Grades will be based upon assignments and exams.
Prerequisites: COMP 150 and MATH 201 or permission by the instructor. MATH 205 is a co-requisite.
COMP 460 SENIOR SEMINAR 2 SEM HRS NOYES
TOPIC: SOFTWARE ENGINEERING
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. Mathematical-reasoning intensive.