BSC College Catalog

CATALOG DATE : 2004-2005

TABLE OF CONTENTS

2004-05 Comprehensive Index

Course Listing

Accounting (AC)
Art (AR)
Asian Studies (AN)
Astronomy (AS)
Biology (BI)
Business Administration (BA)
Chemistry (CH)
Classics (CL)
Computer Science (CS)
Dance (DA)
Economics (EC)
Education (ED)
Educational Psychology (EPy)
English (EH)
Environmental Studies (ES)
French (FR)
German (GN)
Greek (GK)
History (HI)
Honors (HON)
Interdisciplinary Courses
Latin (LA)
Leadership Studies (LS)
Mathematics (MA)
Music(MU)
Music Comp. and Theory (MU)
Music Ed. and Pedagogy (MEd)
Music History and Lit.(MU)
Music Performance (MS)
Philosophy (PL)
Physics (PH)
Political Science (PS)
Psychology (PY)
Religion (RE)
Sociology (SO)
Spanish (SN)
Speech (SP)
Theatre Arts (ThA)

Marietta Cameron, Lewis Patterson, Richard S. Turner

The major in computer science is intended for students who wish to learn about the design of computer systems and their applications, and is designed to prepare students for careers in computing and/or graduate studies. Students are encouraged to meet with computer science faculty as soon as possible for advising concerning their intended goals.

Courses required for a computer science major may be used to meet minor requirements in mathematics. Students interested in both computer science and mathematics should consider the interdisciplinary major in computer science-mathematics explained in the Interdisciplinary Major Requirements section of this catalog.

Major Requirements

The following courses are required (13 units):

  • The following courses are required (13 units):
  • CS 170 or 171 (see comment below)
  • CS 250
  • CS 290
  • CS 499
  • MA 240
  • CS 390 or 420
  • one unit from CS 390, MA 207, PL 350, PS 204, PY 204, SO 204, or any MA course other than MA 240 numbered 231 or above (interim and teaching experience courses may not count towards this requirement)
  • six units from CS 300, 310, 330, 360, 380, 390, 420, 425, 430, 440, 460, 465, or 480; the courses for this requirement must be different from courses used to satisfy previous requirements

Students with prior programming experience may substitute an upper-level computer science course for the CS 170 or CS 171 requirement by passing a qualifying exam.

The grade for the senior interim (CS 499) will be based on the quality of work during interim and the performance on a comprehensive exam taken during the spring term of the senior year.

Computer science majors planning on graduate work should consider taking additional computer science courses and additional mathematics courses beyond MA 231. Recommended computer science electives for students intending to pursue graduate study include CS 360, 380, 390, 460, and 465.

Recommended electives for students seeking immediate employment upon graduation include CS 300, 330, 420, and 430.

Minor Requirements

Internships and teaching experience may not count toward the minor. Interim projects may not count toward the minor unless approved by the computer science faculty.

The following courses are required (5 units):

  • CS 170 or CS 171
  • CS 250
  • CS 290
  • two units in CS at the 300 level or above, one of which may be satisfied by MA 240

Graduation with Disciplinary Honors in Computer Science

Disciplinary honors in computer science provides an opportunity for those students seeking additional work, more research experience, and further preparation for computing as a profession. Disciplinary honors rewards those students who successfully go beyond the minimum requirements of the discipline.

To earn disciplinary honors, a student should apply for consideration preferably by the end of the sophomore year and no later than the end of the fall term of the junior year. Specific requirements are as follows:

(1) Complete the requirements of the computer science major or of the inter disciplinary major in computer science and mathematics.

(2) Complete two computer science units at or above the 300 level. These two units are in addition to the computer science requirements of the student's major.

(3) Complete MA 232 and a choice of MA 317, MA 321, or MA 454.

(4) Attain a minimum 3.00 grade point average in courses taken at the College and a minimum 3.30 average for the courses within the discipline.

(5) Maintain a two year national membership within the Association for Computer Machinery and the local student ACM.

(6) Complete a senior thesis, the proposal for which must be submitted no later than October 15 of the senior year. The senior interim should be devoted to work on the thesis which must be supervised by a faculty member in computer science. This thesis must be successfully defended before a committee of at least two faculty members. Interdisciplinary committees are encouraged. The thesis must be completed no later than March 31 of the senior year.

Courses in Computer Science

CS 105 Understanding Computers (1)
A course for non-computer science majors in the use of the computer as a tool. This course is designed to give the student an appreciation for the role of computers in today’s society and the use of some general software tools, such as spreadsheet and database, as are commonly used on personal computers. Not open to anyone having taken a college-level computer science course within the previous five years.

CS 170 Introduction to Computing (1)
An introduction to the field of computer science. Topics include computing concepts and terminology. A major part of this course is problem solving and algorithm development using a programming language such as Pascal, Java, or C++. Not open to students who have received credit for CS 171. Prerequisite: MA 115 or equivalent. Fall, Spring.

CS 171 Computers and the Mind's Eye (1)
An overview of the discipline of computer science and its contributions to and from other disciplines including (but not exclusively) art, mathematics, physics, psychology, and philosophy. This course introduces problem solving via the computer by using tools and concepts from computer visualization and provokes thought on how various results from computing redefine perceptions of art and intelligence. Not open to students who have received credit for CS 170. Prerequisite: MA 115 or equivalent. Fall, Spring.

CS 250 Advanced Programming (1)
A second programming course assuming a good understanding of fundamental programming processes. Emphasis is placed on good software engineering practices. Basic data structures are introduced. Prerequisite: CS 170. Fall, Spring.

CS 290 Data Structures (1)
A study of structures for storing and manipulating data. Students learn to create and use such data structures as stacks, lists, trees, and graphs. Prerequisite: CS 250. Fall, Spring.

CS 300 Systems Programming (1)
An introduction to assembly language programming with the goal of better understanding how computers operate. Prerequisite: CS 250.

CS 310 Alternative Programming Languages (1)
A study of languages from several categories such as functional, imperative, logical, and specialized. The student writes intermediate-level programs in each language. Prerequisite: CS 290.

CS 330 Systems Analysis (1)
The design of large-scale computer-based systems, with examples from major application areas. Prerequisite: CS 290 or consent.

CS 360 Programming Languages (1)
A study of the manner in which the various categories of programming languages deal with the fundamentals of programming. Prerequisite: CS 290.

CS 380 Introduction to Computer Organization (1)
Introduction to organization and structure of major hardware components of computers, the mechanics of information transfer and control within a digital computer system, and the fundamentals of logic design. Prerequisite: CS 250.

CS 390 Automata, Computability, and Formal Languages (1)
A study of the theory of computer science. Topics include such areas as computability, computational complexity, and formal languages. Prerequisites: CS 250 and MA 240.

CS 420 Database Management Systems (1)
A course in the design, function, and application of database systems. Prerequisite: CS 250

CS 425 Selected Topics in Computer Science (1)
A focused study within a specific sub-discipline of computer science. With the permission of the computer science faculty, students may enroll more than once for credit, providing that the focus of the course is different. Prerequisite: consent.

CS 430 Data Communications (1)
An introduction to such topics as communications hardware, protocols, networks, and communication software design. Prerequisite: CS 290 or consent.

CS 440 Introduction to Computer Graphics (1)
An introduction to the terminology, standards, and basic algorithms in computer graphics. Topics include image transformations, projections from 3D to 2D, curve and surface modeling and three-dimensional viewing. Prerequisites: CS 290, MA 240, and MA 231.

CS 460 Operating Systems and Architecture (1)
An introduction to operating systems, system architecture, and their relationships. Prerequisite: CS 290.

CS 465 Artificial Intelligence (1)
An introduction to topics such as cognitive modeling, automatic problem solving, natural language processing, and robotics. Prerequisites: CS 290 and MA 240.

CS 480 Compilers (1)
A study of the theory and function of compilers for high-level languages. Prerequisite: CS 290 and MA 240.

CS 293, 292, 493 Independent Study in Computer Science (1)

CS 298, 398, 498 Teaching Experience in Computer Science (1)

CS 499 Senior Project in Computer Science (1)
An in-depth research project that brings to bear the student’s accumulated knowledge and skills in computer science. This substantial endeavor may include some combination of the following: computer programs, papers, oral presentations, and community projects. Evaluation is based on successful completion of the objectives outlined by instructor and student at the beginning of the term. As part of the senior interim experience, all students are required to participate in an assessment process. This may include, but is not limited to, a standardized test, an exit interview, an oral examination, or some combination of the above. Prerequisite: senior standing or consent.