Programs in Computer Science at Cal State East Bay are designed to prepare students for employment or for advanced study in computer science. The student’s course of study will provide a solid foundation of theoretical knowledge as well as experience with practical applications in hardware and software.
Computer Science is the study of computation and of methods for addressing, processing, storing, and transmitting information. It encompasses a broad perspective that includes what a computer is, its uses and applications, and theoretical approaches to what can be computed. The core curriculum in Computer Science, involving a blend of theory and practice, offers opportunities for problem solving in many areas and provides experience with a variety of computers, computer languages, and software packages. A typical student’s experience can include scientific programming, language design and implementation, file handling and database design, data communication and networking, artificial intelligence, hardware design, and graphic implementations ranging from interface design to artistic presentations.
A strong mathematical background is important in Computer Science. High school students who are interested in computer science should take as much mathematics as possible, particularly algebra, trigonometry, and precalculus. Community college students who are planning to transfer to Cal State East Bay should take a two-course calculus sequence, linear algebra, discrete structures, a sequence of courses in some programming language (such as C, C++, Java), and a course in computer organization and assembly language.
Student Learning Outcomes
Students graduating with a B.S. in Computer Science from Cal State East Bay will be able to:
- Apply knowledge of mathematics and computational theory to appropriate problems in computer science;
- Analyze a problem, and identify and define the resources and requirements needed for its solution;
- Design and implement a program to meet stated needs;
- Develop and maintain computer-based systems, processes, and platforms
- Recognize the mechanisms, components and architecture of computing systems
- Employ current techniques, skills, and tools necessary for computing practice
- Identify professional, ethical, legal, and security issues and responsibilities and the impact of computing on individuals, organizations, and society
- Perform successfully on teams to accomplish a common goal, and communicate effectively in written and oral form.
- Computer Network Support Employee
- Computer Operations Manager
- Computer Sales Representative
- Customer Support Employee
- Database Applications Program Analyst or Designer
- Graphics Specialist
- Programmer or Administrator
- Programming Team Member, Specializing in Design, Testing, or Documentation
- Scientific Applications Programmer
- Software Engineer Systems Analyst
- Systems Manager or Programmer
- Technical Writer
The University supports Computer Science with a variety of resources. Smart classrooms are equipped with at least one computer and projector. Several instructional classrooms also have student computers. Students may use computers in open-access labs; there is wireless access. Lab and classroom computers may be equipped with a variety of operating systems. Student dorm rooms are equipped high-speed Internet access.
The College of Science sponsors CompCore, a small scale parallel processing facility with facilities for immersive 3-D graphics, scientific modeling, remote access to scientific instruments, and other facilities for experimentation and research. In addition, some computer science faculty have small labs dedicated to research and to use by students in their classes.
Each year the department offers a number of scholarships covering a portion of fees for the subsequent year. Applications may be obtained from the department during Winter quarter.
A booklet containing sample schedules, as well as further information about the computer science major, is available in the Mathematics/Computer Science Student Service Center (North Science 337). This information may be obtained electronically at http://www.mcs.csueastbay.edu.
For Advanced Placement course equivalencies, see Registration.
Major Requirements (B.S.)
Many students pursue a double major in Mathematics and Computer Science, since a number of courses are common to both majors and can be double-counted. Another popular combination is a major in computer science and a minor in mathematics.
Please consult an advisor in your major department for clarification and interpretation of your major requirements. Computer Science majors may complete the following 84-unit program or may elect to complete a 92-unit option in Computer Engineering, Networking and Data Communications, or Software Engineering (see “Options” section). The B.S. degree requires a total of 180 units.
All Computer Science majors must complete each of the following courses in sections I, II, and III with a grade of “C” or better.
I. Mathematics (20 units)
Five courses are required:
A student who has recently taken a pre-calculus course in high school should be prepared to begin the calculus sequence. A student with three years of high school mathematics, including two years of algebra and one year of geometry, should be prepared to take MATH 1130 , or possibly MATH 1300 . Students who are unsure about what mathematics course to take should call the department office for advice.
It should be noted that students may not enroll in any baccalaureate level mathematics or computer science class unless they have met the Entry Level Mathematics (ELM) requirement or are exempt from it. Information about the ELM is available from the Testing Office at (510) 885-3661.
II. Lower Division Computer Science (16 units)
Although CS 1160 is the required introductory course for Computer Science majors, it may be difficult for students with no experience using computers. Students who do not know how to use a word processor or who have no knowledge of computer files and operating systems should consider taking CS 1020 (Introduction to Computers) before taking CS 1160 .
Students who have completed a multi-quarter course in C, C++, Java, or Pascal at another college should consult the Mathematics/Computer Science Department; they may be able to substitute their previous coursework for CS 1160 and possibly CS 2360 and 2370 .
III. Upper Division Computer Science: Required Courses (20 units)
IV. Upper Division Computer Science: Concentration (16 units)
The selection of all elective Computer Science courses is important in giving the major a coherence, with depth in key areas. These electives must be chosen with the assistance and approval of a faculty advisor.
A student must take four of the following eight courses:
V. Electives (12 units)
Any of the following courses may be used in meeting this requirement. However, at least 4 units (other than units from CS 3898 ) must be from courses with the CS prefix.
A. Any course(s):
from IV not used in meeting the requirements in that category.
B. Any upper division course in Computer Science except:
those used in meeting requirements III or IV. No more than 4 units of CS 4900 , Independent Study, and no more than 4 units of CS 3898 , Cooperative Education, may be applied to the Computer Science major requirements.
C. Any graduate course in:
Computer Science (except CS 6000 and CS 6909 ).
D. Any upper division course in:
the Department of Mathematics and Computer Science or the Department of Statistics that is applicable to the BS degree major in Mathematics.
E. Any courses from the following list:
The student is responsible for meeting all prerequisites for any of these courses. The courses in (E) have prerequisites that are not included among major requirements.
Students contemplating graduate study in Computer Science should consult with a faculty advisor early in their programs. They should be sure to include an adequate number of theory courses in their major and should have an extensive background in Mathematics.