COMPUTER SCIENCEProfessors Bloss, Ingram; Associate Professor Shende; Lecturer Poore; Visiting Instructor Moore A Bachelor of Science degree with a major in computer science requires the satisfactory completion of 12 units in the areas of computer science, mathematics, and statistics to include Computer Science 170, 220, 270, 370, 390, 425, 430; Mathematics 201; Statistics 202; and three additional units from computer science courses at or above the 300 level (one of these units may be Math 306 or Math 361). Computer Science 120 is a prerequisite for the computer science courses, and Mathematics 121 and 122 are prerequisites for the statistics and mathematics courses. Minor in Computer Science A minor in Computer Science requires six units: Computer Science 120, 170, 220, 270, and two additional units of computer science at or above the 300 level. 101 Introduction to Computers Basic concepts underlying computers with emphasis on algorithms, logic,
and information representation. Hands-on experience programming and using
spreadsheets. (May not be taken if credit has been received for Computer
Science 120.) (1) 120 Fundamentals of Computer Science I Problem solving and algorithm design; basic programming concepts including
subprograms and objects; mathematical logic. Programming in a modern
object-oriented language and an introduction to the UNIX operating system
are an integral part of the course. (Credit may not be received for CPSC
120 if credit has been received for CPSC 150, which was last offered
Fall 2000.) (1) 170 Fundamentals of Computer Science II Arrays, list processing, recursion, mathematical induction, introduction
to computational complexity and reasoning about programs, introduction
to object-oriented design. (Credit may not be received for CPSC 170 if
credit has been received for CPSC 250, which was last offered Spring
2001.) (1) 220 Fundamentals of Computer Science III Data structures, abstract data types, elementary graph theory, n log
n sorting algorithms, and dynamic memory allocation. (1) 270 Algorithms Algorithms and their analysis; advanced data structures. (1) 310 Topics in Applied Computing A course offered in various formats, designed to give students instruction
and hands-on experience in an area of applied computing. (1) 340 Database Systems Database organization and management; hierarchical, network, and relational
models of data and some corresponding systems. (1) 370 Computer Architecture and Operating Systems Machine language and assembly language concepts, data paths, parallel
system architecture; system calls, process synchronization and scheduling,
input and output subsystems, memory management, file systems. (1) (Credit
may not be received for CPSC 370 if credit has been received for CPSC
410, which was last offered Spring 2001.) 390 Theory of Computation Study of formal models of computation. Topics include regular, context-free,
context-sensitive, and unrestricted grammars; Churchs thesis; computability;
and undecidability. (1) 402 Numerical Analysis Numerical integration and differentiation, numerical methods in linear
algebra, interpolation; error analysis, stability, and conditioning.
(1) 405, 406, 407 Independent Study and Research Selected topics in computer science carried out under the direction of a member of the computer science staff. (Enrollment with the approval of the Chair of the department.) (1/2, 1, 1/2) 416 Internship Field placement providing practical experience and training in areas
in which computer science is applied. These areas may include industry,
government agencies, educational institutions, insurance companies, and
a variety of private enterprises. (1) 420 Simulation Techniques of digital computer simulation including modeling, data analysis,
model validation, and simulation languages. (1) 425 Principles of Programming Languages Fundamentals in the design and implementation of programming languages.
Topics include BNF, compilation and interpretation, data types, control
structures, runtime systems, data abstraction, exception handling and
concurrency. Language paradigms include functional, logic, and object
oriented approaches. (1) 430 Senior Seminar Advanced study in selected topics in a seminar format. (1) 495, 496, 497 Honors Project A program of independent study culminating in a paper, artistic creation,
or performance. |