
COURSE DESCRIPTIONS
SPRING 2005
COMP 121 Computing In The Arts And Sciences
4 Sem Hrs
Herzog
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 JavaScript, a language for creating interactive web pages, SQL, Visual Basic within Excel, and additional Access skills.
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. Prerequisite is Math Placement Level 22 or higher. Mathematical-reasoning intensive.
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 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 new Computational Science minor. It is also recommended or required by certain science programs.
All programming will be done using the computers located in the new BDK Science Center computer laboratory. The course includes an introduction to an industrial quality compiler and its integrated development environment (IDE) on the Wittenberg network. The course stresses design of algorithms, how to construct programs, imperative and object-oriented programming, structured programming style, program documentation and testing, control and data constructs, input-output, abstraction, and the role of computing in society.. 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 laboratory computers to write, debug and run programs. The language to be used will be C++.
The only prerequisite is Math Placement Level 22 or higher (an ability in high-school algebra and problem solving). The course grade is based on programming assignments, lab exercises, and in-class tests. Mathematical-reasoning intensive.
COMP 250 Computer Programming Ii
5 Sem Hrs
Saks
This course is an intensive study of program design, abstract data types and object-oriented programming in C++ using data structures common in computer science. The course begins with the concept of abstract data types and how they may be implemented using object-oriented mechanisms. From there, it covers pointers and dynamic arrays. We then examine common data structures such as linked lists, stacks, queues, priority queues, trees and graphs, along with operations appropriate to each structure (e.g., insertions and deletions, backtracking, tree traversals). Along the way, we look at recursion, multiple source file projects, template functions and classes, iterators, derived classes, and some of the Standard Template Library. Applications are drawn from the fields of operating systems, compilers, and simulations, among others. Students will be expected to design and implement moderately sized programming projects on their own, but there may be an opportunity for some small group projects.
The course will meet three times a week for lecture, and once each week for a structured lab. Students are expected to do significant work outside of class. Course grades will be based on programming assignments and in-class tests. Great emphasis will be placed on good programming style. COMP 150 is the prerequisite . WRITING INTENSIVE. Mathematical-reasoning intensive.
COMP 265 Principles Of Programming Languages
5 Sem Hrs
Shelburne
This course emphasizes the principles and programming styles (procedural, functional, object oriented, logic oriented) that govern the design and implementation of contemporary programming languages. Topics include language syntax and translation, data types and operations, sequence control, data control, subprograms, and environments. Languages to be studied include those taken from the following: Ada, APL, C, C++, FORTRAN, LISP, Mathematica 7 , Modula-2, Pascal, Prolog, Scheme and Smalltalk. Much of the work for the course will be done outside of class; this includes the use of the University computer and microcomputers together with appropriate library research. COMP 250 and MATH 201 are prerequisites. MATH 171 is a co-requisite.
Grades are based upon assignments, reports, presentations, and exams. This course will meet three times a week and have a weekly two hour lab session. WRITING INTENSIVE. Mathematical-reasoning intensive.
COMP 370 Computer Graphics
4 Sem Hrs
Shareef
This course provides an introduction to computer graphics. Aside from being an important area in computer science, computer graphics provides a set of problems and programming tasks that requires a student to integrate techniques and methods learned in previous courses. It requires a fundamental knowledge of advanced programming techniques and data structures (through COMP 275) and an advanced understanding of mathematics, in particular matrices (MATH 205). Emphasis will be on the techniques used and mathematics behind the standard graphics algorithms. Graphics applications will be developed in C++ using the OpenGL graphics system. Prerequisites are COMP 275 and MATH 205 or equivalent. Mathematical-reasoning intensive.
COMP 460 Senior Seminar
2 Sem Hrs
Saks
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. WRITING INTENSIVE. Mathematical-reasoning intensive.

