Sei sulla pagina 1di 224

ABET

Computing Accreditation Commission

SELF-STUDY
QUESTIONNAIRE FOR REVIEW
of the
COMPUTER SCIENCE PROGRAM
submitted by
California State Polytechnic University, Pomona
Institution

June 26, 2008


Date

to the
Computing Accreditation Commission

Primary Contact:

Dr. Craig A. Rich

Telephone Number:

(909) 869-3447

Electronic Mail:

carich@csupomona.edu

Fax Number:

(909) 869-4733

ABET
Computing Accreditation Commission
111 Market Place, Suite 1050
Baltimore, Maryland 21202-4012
Phone: 410-347-7700
Fax: 410-625-2238
E-mail: cac@abet.org
www: http://www.abet.org/
Page 1 of 224
C3 CS 12/14/04

Table of Contents
I. Objectives and Assessments ...................................................................................................5
A.
B.
C.
D.
E.
F.

Objectives ...........................................................................................................................5
Implementation of Objectives ............................................................................................9
Assessments......................................................................................................................11
Program Improvement......................................................................................................13
Program Evolution............................................................................................................14
Program Current Status ....................................................................................................15

II. Student Support ....................................................................................................................17


A.
B.
C.
D.
E.
F.

Frequency of Course Offerings ........................................................................................17


Interaction with Faculty....................................................................................................18
Student Guidance..............................................................................................................19
Student Advisement..........................................................................................................20
Access to Qualified Advising ...........................................................................................20
Meeting the Requirements................................................................................................21

III.Faculty ....................................................................................................................................22
A.
B.
C.
D.
E.
F.
G.

Faculty Size ......................................................................................................................22


Faculty with Primary Commitment ..................................................................................22
Faculty Oversight .............................................................................................................24
Interests, Qualifications, and Scholarly Contributions.....................................................25
Scholarly Activities ..........................................................................................................26
Support for Advising ........................................................................................................27
Information Regarding Faculty Members ........................................................................28

IV.Curriculum ............................................................................................................................81
A.
B.
C.
D.
E.

Title of Degree Program ...................................................................................................81


Credit Hour Definition......................................................................................................81
Prerequisite Flow Chart ....................................................................................................82
Course Requirements of Curriculum................................................................................83
Course Descriptions..........................................................................................................93

V. Laboratories and Computing Facilities ............................................................................190


A.
B.
C.
D.
E.
F.

Computing Facilities.......................................................................................................190
Student Access................................................................................................................193
Documentation................................................................................................................194
Faculty Access................................................................................................................194
Support Personnel...........................................................................................................195
Instructional Assistance..................................................................................................196

Page 2 of 224
C3 CS 12/14/04

VI.Institutional Support and Financial Resources ................................................................197


A.
B.
C.
D.
E.
F.
G.
H.
I.

Faculty Stability..............................................................................................................197
Faculty Professional Activities.......................................................................................199
Office Support ................................................................................................................200
Time for Administration.................................................................................................200
Adequacy of Resources ..................................................................................................201
Leadership ......................................................................................................................202
Laboratory and Computing Resources ...........................................................................202
Library Resources...........................................................................................................203
Continuity of Institutional Support .................................................................................203

VII. Institutional Facilities .....................................................................................................204


A. Library ............................................................................................................................204
B. Classroom Equipment.....................................................................................................208
C. Faculty Offices ...............................................................................................................209
Appendix I. Information Relative to the Entire Institution................................................210
A.
B.
C.
D.
E.
F.

General Information .......................................................................................................210


Type of Control ..............................................................................................................210
Regional or Institutional Accreditation ..........................................................................211
Enrollment ......................................................................................................................211
Funding Process..............................................................................................................211
Promotion and Faculty Tenure .......................................................................................212

Appendix II. Information on the Unit Responsible for Computer Science Program.......213
A.
B.
C.
D.

Computer Science Program Unit....................................................................................213


Administrative Head.......................................................................................................213
Organization Chart .........................................................................................................214
Computer-Related Undergraduate Degree Programs .....................................................215

Appendix III. Finances ...........................................................................................................216


A. Finances Related to the Computer Science Program(s) .................................................216
B. Operating and Computing Expenditures ........................................................................217
C. Additional Funding.........................................................................................................217
Appendix IV. Computer Science Program Personnel .........................................................218
A. Term of Appointment of Administrative Head ..............................................................218
B. Number of Personnel Associated with Program.............................................................218
C. Policies............................................................................................................................218
Appendix V. Computer Science Program Enrollment and Degree Data ..........................220
Appendix VI. Admission Requirements ...............................................................................222
A. Admission of Students....................................................................................................222

Page 3 of 224
C3 CS 12/14/04

Introduction
The Criteria for Accrediting Computer Science Programs are divided into seven major
Categories, each Criterion containing a statement of Intent and Standards. An intent statement
provides the underlying principles associated with a Criterion. In order for a program to be
accredited, it must meet the intent statement of every Criterion.
Standards provide descriptions of how a program can minimally meet the statements of intent.
The word must is used within each standard to convey the expectation that the condition of the
standard will be satisfied in all cases. For a program to meet the intent of a Criterion, it must
either satisfy all the standards associated with that Criterion or demonstrate an alternate approach
to achieving the intent of the Criterion.
For each of the following seven sections, corresponding to each of the seven Categories of the
Criteria, answer all of the questions associated with the standards. If one or more standards are
not satisfied, it is incumbent upon the institution to demonstrate and document clearly and
unequivocally how the intent is met in some alternate fashion.
If you are having more than one program evaluated, particularly if the programs are on separate
campuses, the answers to these questions may vary from one program to another. If this is the
case, please use separate copies of each section for each program, and clearly delineate which
program is being described.

Page 4 of 224
C3 CS 12/14/04

I. Objectives and Assessments


Intent: The program has documented, measurable objectives, including expected outcomes for
graduates. The program regularly assesses its progress against its objectives and used
the results of the assessments to identify program improvements and to modify the
programs objectives.
Standard I-1. The program must have documented, measurable objectives.
Standard I-2. The programs objectives must include expected outcomes for graduating
students.
A. Objectives
Please attach items that support or precede the measurable objectives, e.g.,
1.
2.
3.
4.
5.
6.
7.

Mission statements from institution, college, department, program


Plans (institution, college, department, etc.)
All objectives including expected outcomes for graduates (itemize)
Process for assessments
Who is involved in assessment and improvement?
Data from assessments
Inputs from any supporting Office of Assessment

1. Indicate below or attach to this document the programs measurable objectives. These
objectives must include expected outcomes for graduates.
The objectives of the program are described by Educational Objectives, Program Objectives,
and Strategic Goals.
Achieving the Educational Objectives (EOs) prepares students for careers as software
professionals and for graduate study in Computer Science.
The programs Educational Objectives for students are:
EO1
EO2
EO3
EO4
EO5
EO6

A solid foundation in the fundamental areas of Computer Science.


A good grasp of both hardware and software aspects of computer systems.
A balance between theoretical and practical aspects of computing.
Incorporation of campus Learn by Doing philosophy into all aspects of program.
Awareness of discipline-related ethics and social responsibility issues.
Training as a software professional and preparation for lifelong learning.

Page 5 of 224
C3 CS 12/14/04

To support these objectives, we have developed Program Outcomes (POs):


PO1
PO2
PO3
PO4
PO5

Proficiency in algorithms, data structures, software design, programming language


concepts and computer architecture.
Proficiency in theoretical foundations of computing, problem analysis and solution
design.
Proficiency in one or more modern programming languages.
Proficiency in oral and written communication.
Understanding of social and ethical issues in computing.

Each EO is satisfied by one or more POs, as shown in the following table:


PO1 PO2 PO3 PO4 PO5
EO1

EO2

EO3

EO4

EO5
EO6

x
x

Our Educational Objectives and Program Outcomes are supported by specific courses that we
call Witness Coursescourses that are assessed each quarter. Currently, these are the Witness
Courses we are using:
CS 130
CS 140
CS 141
CS 210
CS 240
CS 241
CS 301
CS 311
CS 331
CS 380
CS 420
CS 431
CS 435
CS 463

Discrete Structures
Introduction to Computer Science
Introduction to Programming and Problem-Solving
Computer Logic
Data Structures and Algorithms I
Data Structures and Algorithms II
Numerical Methods
Language Translation and Automata
Design and Analysis of Algorithms
Computer Networks
Artificial Intelligence
Operating Systems
Database Systems
Undergraduate Seminar

Note: CS 140 and CS 141 are evaluated together as a single course; CS educators often call
this CS1. Similarly, CS 240 and CS 241 are evaluated together as a single course; this is often
called CS2.

Page 6 of 224
C3 CS 12/14/04

The relationship of the Witness Courses to our Program Outcomes is shown in the following
table:
Dept Course PO1 PO2 PO3 PO4 PO5
CS 130
x
CS 140
x
x
CS 141
x
CS 210
x
CS 240
x
x
CS 241
x
x
CS 301
x
CS 311
x
CS 331
x
x
CS 380
x
CS 420
x
x
x
CS 431
x
x
x
CS 435
x
x
x
CS 463
x
x
Each Witness Course is assessed at least once per year by the collection of materials and
student work. The collected material is assessed by a group of course instructors who
determine what changes should be made in the course for the following year. The minutes of
these meetings can be found on the web page
http://www.csupomona.edu/~cs/department/assessment/minutes/.

Additional periodic reports concerning assessment can be found on the web page
http://www.csupomona.edu/~cs/department/assessment/.

Witness Courses will change as a new curriculum takes effect in Fall 2008. A discussion of the
changes can be found in
http://www.csupomona.edu/~cs/department/assessment/minutes/minutes_dept_080416.doc.

Each year, the department gathers to discuss Educational Objectives, Program Outcomes, and
Strategic Goals.

Page 7 of 224
C3 CS 12/14/04

The current Strategic Goals (SGs) are these:


SG1
SG2
SG3
SG4
SG5
SG6
SG7
SG8

Recruit and retain high quality faculty to satisfy student demand for the program.
Provide adequate opportunities for faculty professional growth.
Update curriculum to ensure a modern, comprehensive, standardized program of
instruction.
Manage enrollment to provide an appropriate number of high quality students.
Provide a high level of student support to promote academic success and steady
progress toward degree.
Refresh classrooms and laboratories to provide up-to-date facilities for teaching and
research.
Maintain outreach with industry and the community for curricular feedback and
program visibility.
Offer more service and general education courses in order to smooth out enrollment
swings.

We last assessed progress towards our Strategic Goals in a department meeting in April 2008.
The minutes of that meeting can be found at
http://www.csupomona.edu/~cs/department/assessment/minutes/minutes_dept_080416.doc.

2. Describe how the program's objectives align with your institution's mission.
Cal Poly Pomonas mission is to advance learning and knowledge by linking theory and
practice in all disciplines, and to prepare students for lifelong learning, leadership, and careers
in a changing, multicultural world. The campus motto is Learn by Doing.
There are six major University goals. All of the following goals are essential, and do not
appear in priority order.
Associated program
objectives and goals

University Goal

To promote excellence in teaching,


EO*, SG* (All)
learning, and educational programs
To enhance effective acquisition, planning,
SG4,6
and management of resources
To promote and enhance research, scholarly,
SG2
professional, and creative activities
To enhance support for students

SG5,6,8

To improve the campus environment

SG1,2,4,5,6

To increase community involvement

SG7

Note: On the following page is a table that can be filled out with pertinent information relating to
objectives, their measurement, and their effect on the implementation of program improvements.

Page 8 of 224
C3 CS 12/14/04

B. Implementation of Objectives
Please complete the following table with as many objectives as needed.
How measured

When
measured

E01

The major core includes upper division


courses in each primary area of Computer
Science.

Quarterly
(collection of
materials and
check off of
Learning Outcomes).
Annually (assessment of
course direction).

E02

3 courses in logic, circuits, architecture.


4 course sequence in
data structures followed by many specialized courses.

E03

Most courses emphasize abstract and formal skills as well as


practical applications.

Objective

E04

E05

E06

Most courses require


significant programming or other projects.
Ethics and social responsibility are discussed in required
course CS 375. (Formerly, social and ethical issues were discussed in courses
CS 140, 420, 431, 435,
and 463.)
CS 463 requires that
students learn new
material on their own,
just as they will do in
the course of their careers after Cal Poly
Pomona.

Improvements
Identified

Annually.

(1) There was no


time for GUI in
CS 140141.
(2) CS 240241
was not well
organized.

Annually.

The theoretical sequence CS 310


440441 was revised.

Improvements
Implemented

(1) GUI was spun off


into elective course
CS 245.
(2) The material in
CS 240241 has been
clearly partitioned to
facilitate complete coverage of all topics.
The new sequence includes required course
CS 311 (Language
Translation and Automata) and elective
course CS 411 (Compilers and Interpreters).

Annually.

Annually.

Students and
alumni reported
little learning of
ethics in the
dispersed version.

CS 375 was created and


required.

Annually.

Page 9 of 224
C3 CS 12/14/04

Objective
SG1

SG2

SG3

SG4

SG5

How measured
Faculty growth.
Faculty publications
and conference
attendance.
Comparing our program to ACM-IEEE
CC 2001 and later
standards.
Number of majors.
Number of entering
majors. Free slots in
offered courses.
Student esprit de
corps. Participation
in the student club
and programming
contests.

SG6

Technology survey
of classrooms and
labs.

SG7

Placement of new
graduates. Alumni
survey. Industry
feedback re
graduates and
curriculum.

SG8

Number of nonmajors served.

When
measured

Improvements
Identified

Improvements
Implemented

Annually.

The last two searches


were begun and then
cancelled because of
budget considerations.

We plan to ask for a new


hire as soon as the budget
allows.

Annually.

Travel funds are


scarce.

Nonebudget is pitiful.

Annually.

Students did not have


sufficient free units to
keep our electives
viable.

New curriculum has a


smaller core and allows
more electives.

Annually.

The stream seems


under control at this
time.

Annually.

Several scholarships are


now offered. The student
club, again affiliated with
the ACM, is vibrant.

Annually.

Classrooms needed
new technology.

The university has installed


high-tech smart podiums in
all CS classrooms. The
renovation of Building 3
will provide new labs for
the department.

Annually.

We need to track our


alumni better. We need
to involve more
industrial people in our
curricular process.

Annually.

The total FTES of the


department was too
dependent on the
number of majors.

We offer numerous service


courses, and two new GE
courses.

Standard I-3. Data relative to the objectives must be routinely collected and documented, and
used in program assessments.
Standard I-4. The extent to which each program objective is being met must be periodically
assessed.
Standard I-5. The results of the programs periodic assessment must be used to help identify
opportunities for program improvement.

Page 10 of 224
C3 CS 12/14/04

C. Assessments
For each instrument used to assess the extent to which each of the objectives is being met by
your program, provide the following information:
1. Frequency and timing of assessments
2. What data are collected (should include information on initial student placement and
subsequent professional development)
3. How data are collected
4. From whom data are collected (should include students and computing professionals)
5. How assessment results are used and by whom
Attach copies of the actual documentation that was generated by your data collection and
assessment process since the last accreditation visit, or for the past three years if this is the first
visit. Include survey instruments, data summaries, analysis results, etc.
Our assessments have involved Course Assessments, Graduating Student Surveys, and an
Alumni Survey.
Course Assessments
This procedure is documented on the Departments assessment web page,
http://www.csupomona.edu/~cs/department/assessment/,

which describes the instruments used to collect data about individual courses. This data is
collected each quarter for each Witness Course.
Annually, the recent instructors (past, present, and future) of a Witness Course will meet to
discuss the material, which has been collected over the past year. The minutes of these course
meetings can be found at
http://www.csupomona.edu/~cs/department/assessment/minutes/.

A typical file is
http://www.csupomona.edu/~cs/department/assessment/minutes/minutes_301_070525.doc,

which can be parsed as CS 301, with the date 07052507 is the year, 05 is the month, and 25
is the day. Course meetings examine how well the Learning Outcomes have been achieved,
and sometimes we propose changes in the course description and Learning Outcomes.

Page 11 of 224
C3 CS 12/14/04

Graduating Student Surveys


This survey is documented as
http://www.csupomona.edu/~cs/department/assessment/graduating_student_survey.doc,

and the survey is administered to students in CS 463 (Senior Seminar) every quarter. Students
in this course are very close to graduation, and we solicit their opinions about our Program
Outcomes and how well we have achieved them. The surveys are discussed in annual reports
(see Assessment Reports on http://www.csupomona.edu/~cs/department/assessment/), and at
our latest full Department meeting about assessment:
http://www.csupomona.edu/~cs/department/assessment/minutes/minutes_dept_080416.doc.

Alumni Survey
In Spring 2007, we contacted all the alumni of the Computer Science program (including the
graduate program), and we asked them to consider our program with respect to an expanded
set of Program Outcomes (loosely approximating what we will use when we finally switch
over to the new ABET criteria). The results of that survey are discussed in
http://www.csupomona.edu/~cs/department/assessment/report_06-07.doc

and
http://www.csupomona.edu/~cs/department/assessment/minutes/minutes_dept_080416.doc.

Alumni Tracking
We are unable to answer ABETs request that we include information on initial student
placement and subsequent professional development. We are not currently tracking our
graduates either immediately upon graduation or afterwards. Frankly, we dont see how to do
this with our current resources. In Spring 2007, the University provided us with mailing labels
for about 2000 alumni of the program; of these, only 54 took the online alumni survey. We can
envision a more active alumni group, but we lack human resources to bring it to life.
Meanwhile, our best information about alumni can be found in unedited self-reports at
http://www.csupomona.edu/~cs/alumni/.
Standard I-6. The results of the programs assessments and the actions taken based on the
results must be documented.

Page 12 of 224
C3 CS 12/14/04

D. Program Improvement
Describe your use of the results of the programs assessments to identify program improvements
and modifications to objectives.
Include:
1. Any major program changes within the last five years
2. Any significant future program improvement plans based upon recent assessments
We have condensed the hardware sequence from four courses to three (CS 210264365).
We have condensed the language theory sequence from three courses to two (CS 311411), of
which the last is elective.
We added a required General Education course, CS 375 (Computers and Society), which
brings together, in one course, our teaching about social and ethical issues. This eliminates
student objections that social and ethical issues were presented in a rag-tag manner in a variety
of courses (CS 140, 420, 431, 435, 463).
After ABETs visit, we expect to address some student skills that we should teach better: more
teamwork, and improved written and oral communication.

Page 13 of 224
C3 CS 12/14/04

E. Program Evolution
1. Describe in what respect, if at all, the philosophy and direction of the computer science
program has changed at your institution during the last five years, or since the last
accreditation visit, whichever is the more recent.
We have originated more applied courses:
CS 356
CS 380
CS 460
CS 480

Object-Oriented Design and Programming


Computer Networks
Secure Communication
Software Engineering

We are implementing courses that tap students current interests: game development and
robotics.
We added a required General Education course, CS 375 (Computers and Society).
In Fall 2008, students will find a new curricular structure: we have decided to go with a
smaller core and to permit students to take more elective courses. We think this new
curriculum will provide a more coherent and targeted core, and will allow students to tackle
their interests by selecting appropriate elective courses. The new core can be seen here:
Dept Course
CS 130
CS 140
CS 141
CS 210
CS 240
CS 241
CS 256
CS 264
CS 311
CS 331
CS 365
CS 408
CS 431
CS 463
CS 480
CS 301
CS 380
CS 420
CS 435

currently becomes
to be
assessed required assessed
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x
x

Page 14 of 224
C3 CS 12/14/04

2. Describe any major developments and/or progress made in connection with the program in
the last five years, or since the last accreditation visit, whichever is the more recent, that is
not included in your response to Question I.C.
See responses to preceding Questions I.C, I.D and I.E.1
F. Program Current Status
1. List the strengths of the unit offering the computer science program.
The Department awarded eight scholarships in 200708. An anonymous donor gave $15,000
to be awarded to one or two deserving juniors to fund their senior year. The Boeing
Corporation gives $5,000 per year, awarded in $1000 scholarships. Nodus Corporation gave
$1,000 this year.
Many of our graduates go on to graduate school. John Georgas will be receiving a Ph.D. in
Computer Science from UC Irvine, and hell be joining the CS faculty at Northern Arizona
University. Jonathan Dautrich, Lan Dang, and Jefferson Herk are going to UC Riverside.
Andrew Clark is continuing his studies in the masters program at Cal Poly Pomona.
Our labs in the newly refurbished Building 3 will contain brand-new equipment running
Linux. CS tech Nam Kim will supervise and administer this equipment.
Our teaching is very strong, and we have produced 668 graduates over the past six years.
Most of our faculty have received assigned time to work on projects in research, scholarship,
and administration.
Several of our students have participated in Research Experience for Undergraduate programs
around the world. Lan Dang went to Tennessee. Jim Herold went to Harvey Mudd College.
Christopher Phillips (CS minor) went to China. Lesia Bilitchenko will be going to Harvey
Mudd College.
We have an ongoing internship program that places many students in part-time jobs with local
industry. In particular, the SIRI program matches our students to the needs of the Jet
Propulsion Laboratory (JPL) in Pasadena, CA.
Our curriculum underwent a major revision when we trimmed the number of quarter units for
the degree from 194 to 180. We always keep an eye on the ACM/IEEE model curriculum for
Computer Science.
Students are kept on track in their studies by an enrollment system, which automatically
enforces course prerequisites (BroncoDirect).

Page 15 of 224
C3 CS 12/14/04

2. List any weaknesses or limitations of the institution or unit offering the computer science
program.
The budget of the University is unstable and unpredictable. This plays havoc with our course
offerings, since budget cuts have caused cuts in the number of lecturers we can hire.
The budget cycle of the University is structurally inimical to the hiring process. We need to
place ads during the summer, but the budget is not known until late September or October.
This has led to two cycles of placing ads and then cancelling the searches.
There is no component of the budget that refreshes computers in the labs. Indeed, there may
not be a budget component for refreshing faculty computers.
Historically, there was a long (almost ten-year) period during which new faculty were not
hired. This led to a situation in which few faculty are poised career-wise to serve as Chair. In
the last hiring cycle, we began a search for an outside Department Chair, but this search was
cancelled because of budget problems. Luckily, a long-serving faculty member was convinced
to take the Chair post. He succeeds a six-quarter temporary Chair.
There is insufficient money for travel at the University, College, and Department levels.
Acquiring the meager support thats available requires going to two or three sources, and
waiting for brief sign-up opportunities. If travel support were stronger and simpler, faculty
would attend more national conferences that would keep them current in the discipline.
3. List any significant plans for future development of the program.
We want to develop an effective system for tracking our graduates and keeping in touch with
them. This might include a newsletter, annual banquet, and surveys.
We want to increase the involvement of industrial partners in our assessment activities.

Page 16 of 224
C3 CS 12/14/04

II. Student Support


Intent: Students can complete the program in a reasonable amount of time. Students have ample
opportunity to interact with their instructors. Students are offered timely guidance and
advice about the programs requirements and their career alternatives. Students who
graduate the program meet all program requirements.
Standard II-1. Courses must be offered with sufficient frequency for students to complete the
program in a timely manner.
A. Frequency of Course Offerings
1. List below the course numbers, titles, and quarter hours of courses required for the major
that are offered less frequently than once per year.
All required courses are offered at least once per year.
2. Explain how it is determined when they will be offered, e.g., rotation, odd-numbered years,
or whatever.
There is a published tentative schedule of course offerings, marking the courses and quarters in
which theyre taught. Budget and faculty constraints cause some deviation from the tentative
schedule, which is the starting point for building the actual schedule each quarter.
3. List below the course numbers, titles, and quarter hours of courses allowed for the major but
not required (i.e., either free electives or lists of courses from which students must choose a
certain number), that are offered less frequently than once per year.
The elective courses are offered according to demand and availability of faculty to teach them.
The following table shows the number of times each has been offered in the past two academic
years. Each is a four quarter unit course.
Dept Course
CS 245
CS 352
CS 356
CS 370
CS 411
CS 445
CS 450
CS 460

Course Title
Programming Graphical User Interfaces
Symbolic Programming
Object-Oriented Design and Programming
Parallel Processing
Compilers and Interpreters
Computer Graphics
Computability
Secure Communication

Quarter
hours
4
4
4
4
4
4
4
4

Offerings
in 2 years
4
2
2
1
2
2
2
2

Page 17 of 224
C3 CS 12/14/04

4. Explain how it is determined when they will be offered, e.g., rotation, odd-numbered years,
or whatever.
Electives are offered when demand warrants and when faculty are available to teach them. We
are hard put to offer courses with low enrollment. Low enrollment may mean less than 10 or
15 students.

Standard II-2. Computer science courses must be structured to ensure effective interaction
between faculty/teaching assistants and students in lower division courses and between
faculty and students in upper division courses.
B. Interaction with Faculty
1. Describe how you achieve effective interaction between students and faculty or teaching
assistants in lower-division courses, particularly in large sections.
We do not have large sections. Typical courses are capped at 35 students, but the average class
size is closer to 25 students. Tenure-track faculty teach almost all courses. The number of parttime lecturers has shrunk to just a few. We recently had two courses taught by a very
competent graduate teaching assistant (Ms. Bao Ngo). Courses are regularly graded by the
instructor, and not by teaching assistants.
CS 375 (Computers and Society) is a General Education course required of our majors, and it
has been offered a few times, with enrollments of 50 or 60. A graduate student served as the
grader for these sections.
2. Describe how you achieve effective interaction between students and faculty in upperdivision courses. Give detailed explanation and/or documentation how you do this for
sections with more than thirty students, if applicable.
The comments above apply equally to upper and lower division courses.

Page 18 of 224
C3 CS 12/14/04

Standard II-3. Guidance on how to complete the program must be available to all students.
C. Student Guidance
Describe what determines the requirements that a student will follow and how the student is
informed of these requirements.
Students admitted to Cal Poly Pomona attend a comprehensive orientation session conducted
by the department student advisor (Mr. Brian Pangan) and a senior faculty member. Students
receive a curriculum sheet listing the courses necessary for graduation, as specified by the
university catalog for that year. Transfer students are given a curriculum sheet that shows the
course credits they have received from other institutions. The requirements remain the same
for a student until his or her graduation or until a break in enrollment of three or more quarters.
For each student there is an advising folder that contains a copy of their particular curriculum
sheet and any petitions. At orientation, students can ask questions regarding their concerns,
and individual advising appointments can be arranged. Curriculum sheets are available in the
department office, and course descriptions and department policies are maintained on the
department web site.
One responsibility of the advisor (see advising below) is to determine that the student is
making proper progress. The department provides three handouts to help the students in
planning their course scheduling so as to experience minimum difficulty in that aspect of
completing the program.
One of the handouts is the prerequisite graph of all CS courses. Another is a suggested
schedule listing the courses by quarter by year, as shown in Section IV. The third is a schedule
of planned course offerings that shows which courses will likely be offered in which future
quarters.
Students who do not actually take Computer Science courses for a period of time and are
deemed not to be making progress in the major can be placed on administrative probation and
so are required to see the Department Chair for a determination of the problem.

Page 19 of 224
C3 CS 12/14/04

Standard II-4. Students must have access to qualified advising when they need to make course
decisions and career choices.
D. Student Advisement
Describe your system of advisement for students on how to complete the program. Indicate how
you ensure that such advisement is available to all students.
Students first receive advising during orientation before they begin their first quarter at Cal
Poly. Students are expected and encouraged to see their advisors periodically, and are expected
to know and follow the published curriculum. Students are required to see an advisor at least
once every year. This is enforced by placing a hold on the students registration permit. Each
quarter, one third of the students have such a hold placed on a rotation basis. Any student with
a grade point average of 2.2 or less is required to see his or her advisor each quarter while in
such status.
Additional advising opportunities are available through the Science Education Enhancement
Services (SEES) and through the Career Center.
E. Access to Qualified Advising
When students need to make course decisions and career choices, what is their procedure for
obtaining advising? Do they have adequate access to qualified professionals when necessary?
During their first year at Cal Poly Pomona, all Computer Science students see our department
advisor. Following that year, students are assigned to a faculty member for advising. Students
are urged to discuss course selection and careers with their advisor or with any faculty
member. In addition, the university has a career center with counselors available for more
general career guidance and planning.
An online service, http://www.assist.org/, lets students investigate equivalences between
courses taken at Cal Poly Pomona and those taken at other CSU campuses or community
colleges.

Page 20 of 224
C3 CS 12/14/04

Standard II-5. There must be established standards and procedures to ensure that graduates
meet the requirements of the program.
F. Meeting the Requirements
Describe your standards and procedures for ensuring that graduates have met all of the
requirements of the program.
The department employs a full-time student advisor/admissions coordinator (Mr. Brian
Pangan) who is well-versed in course articulation and other complexities of handling students
from diverse backgrounds. His prior experience in the Registrars Office has proven invaluable
in steering students through the program. He has developed a worksheet for tracking student
progress toward completion of degree requirements.
When students have ten or fewer classes left before graduation, they apply for a graduation
check. The evaluations office uses the curriculum sheet to determine which remaining courses
the student needs in order to graduate. This evaluation is sent to the student prior to their final
quarters. This provides the student with the opportunity to clear up any discrepancies and
makes certain the student is aware of any additional courses that must be taken. The
Universitys online information systemBroncoDirectallows students and faculty to see
what courses are satisfied or missing from a students selected major program.
Students are expected to meet with their advisor if they have any questions about how to
proceed based on the information from the graduation check or degree audit. Students apply
for graduation at the beginning of the quarter in which they plan to graduate. A final check by
the evaluations office determines that all requirements have been met before the degree is
awarded.

Page 21 of 224
C3 CS 12/14/04

III. Faculty
Intent: Faculty members are current and active in the discipline and have the necessary
technical breadth and depth to support a modern computer science program. There are
enough faculty members to provide continuity and stability, to cover the curriculum
reasonably, and to allow an appropriate mix of teaching and scholarly activity.
If different programs have different faculty members, please identify which faculty members are
associated with which program(s), and the percentage of time allotted, if they are associated with
more than one.
Standard III-1. There must be enough full-time faculty members with primary commitment to the
program to provide continuity and stability.
A. Faculty Size
The purpose of this section is to determine whether you have sufficient faculty to offer courses
often enough for students to complete the program in a timely manner.
In Section II you gave the course numbers of courses required for the major which are offered
less frequently than once per year, and those allowed for the major but not required, and
explained how it is determined when they will be offered. Explain (if applicable) any difficulties
you have offering required or optional courses frequently enough, particularly as they might be
affected by faculty size.
The number of faculty has declined from 17 to 11 over the last six years, but we have so far
been able to offer required and elective courses sufficiently often so students havent been
unduly delayed. The recent elimination of lecturers has further reduced the scheduled course
offerings, which will probably lengthen average time-to-graduation.
B. Faculty with Primary Commitment
1. Indicate the number of faculty with primary commitment to the program, that is, who
regularly teach courses in the computer science segment of the program: 13 .
The purpose of the next question is to ascertain the continuity and stability provided by the
faculty with primary commitment to the program.

Page 22 of 224
C3 CS 12/14/04

2. Please list below the number (FTE) of faculty with primary commitment to the program in
each academic rank, broken down within rank by tenure status.

Tenured
Untenured

Full
Professor

Associate
Professor

8.5

2.0

Assistant
Professor

Instructor
or
Lecturer

Other
Faculty

1.0

Details:
Faculty
FTE
Rank
Tenure Status
Member
Hillam
0.5
Professor
Tenured (FERP)
Kerbs
1.0 Associate Professor Tenured
Lee
0.5
Professor
Tenured (FERP)
Liu
1.0
Professor
Tenured
Przymusinska 0.5
Professor
Tenured (FERP)
Raheja
1.0 Associate Professor Tenured
Rich
1.0
Professor
Tenured
Salloum
1.0
Professor
Tenured
Sang
1.0
Professor
Tenured
Soroka
1.0
Professor
Tenured
Tang
1.0 Assistant Professor Untenured
Yang
1.0
Professor
Tenured
Young
1.0
Professor
Tenured
FERP is the Faculty Early Retirement Program. Retiring faculty on FERP continue to teach
half-time for up to five years after retirement.

Page 23 of 224
C3 CS 12/14/04

Standard III-2. Full-time faculty members must oversee all course work.
Standard III-3. Full-time faculty members must cover most of the total classroom instruction.
C. Faculty Oversight
Full-time faculty must oversee all computer science course work allowed towards the major.
That means each course must be either taught or coordinated by a full-time faculty member with
primary commitment to the program. For those courses with sections not taught by full-time
faculty during the last or current academic year, list the course numbers below and the name of
the full-time faculty coordinator. (The last academic year is the academic year prior to the year in
which this report is prepared.)
Dept Course

Course Title

CS 128
CS 130
CS 140
CS 141
CS 210
CS 240
CS 241
CS 245
CS 256
CS 264
CS 301
CS 311
CS 331
CS 352
CS 356
CS 365
CS 370
CS 375
CS 380
CS 408
CS 411
CS 420
CS 431
CS 435
CS 445
CS 450
CS 460
CS 463
CS 480

Introduction to C++
Discrete Structures
Introduction to Computer Science
Introduction to Programming and Problem-Solving
Computer Logic
Data Structures and Algorithms I
Data Structures and Algorithms II
Programming Graphical User Interfaces
C++ Programming
Computer Organization and Assembly Programming
Numerical Methods
Language Translation and Automata
Design and Analysis of Algorithms
Symbolic Programming
Object-Oriented Design and Programming
Computer Architecture
Parallel Processing
Computers and Society
Computer Networks
Programming Languages
Compilers and Interpreters
Artificial Intelligence
Operating Systems
Database Systems
Computer Graphics
Computability
Secure Communication
Undergraduate Seminar
Software Engineering

Full-time Faculty
Coordinator
Raheja
Tang
Soroka
Soroka
Salloum
Soroka
Salloum
Soroka
Raheja
Salloum
Liu
Sang
Young
Soroka
Sang
Yang
Young
Rich
Young
Liu
Sang
Liu
Liu
Soroka
Kerbs
Rich
Rich
Yang
Salloum

Page 24 of 224
C3 CS 12/14/04

Standard III-4. The interests and qualifications of the faculty members must be sufficient to
teach the courses and to plan and modify the courses and curriculum.
Standard III-5. All faculty members must remain current in the discipline.
Standard III-6. All faculty members must have a level of competence that would normally be
obtained through graduate work in computer science.
Standard III-7. Some full-time faculty members must have a PhD in Computer Science.
D. Interests, Qualifications, and Scholarly Contributions
The Criteria states that the interests, qualifications, and scholarly contributions of the faculty
must be sufficient to teach the courses, plan and modify the courses and curriculum, and to
remain abreast of current developments in computer science. This information should be
contained in the faculty vitas attached to this report and need not be repeated here. A sample vita
questionnaire is attached in Section G below. Although it is not necessary to follow this format,
it is important that whatever format is followed contain all the information asked for. And, to
make things easier for the visiting team, please see that all faculty vitas are in the same format,
whichever format is used.
This is an appropriate place to insert a description of general departmental or institutional
activities that promote faculty currency, if such exist.
Departmental and institutional activities and policies that promote faculty currency include:
The campus Faculty Center for Professional Development offers workshops on a wide range
of topics, many of which involve the application of emerging technologies to teaching and
learning. Faculty are thereby encouraged and assisted in the use of advanced software tools
and web-based resources in support of their classes. This provides an additional opportunity
for students and faculty to experience the practical application of the technology while it
enhances the learning experience.
The campus has several competitive mechanisms for faculty to obtain course release for
professional development. These include the CSU-funded Research, Scholarship and Creative
activities (RSCA) program and various annual grant programs from the Division of Academic
Affairs.
The departments Retention, Tenure and Promotion (RTP) policies state explicit expectations
with regard to curricular development and professional development activities. Candidates
being evaluated for RTP actions are required to show their accomplishments in these areas.

Page 25 of 224
C3 CS 12/14/04

New hires bring new expertise and new areas of research to the department. We expect that
they will continue their research, create new courses and refresh existing ones. Their input to
these courses, their participation in joint research, and their service on thesis committees gives
existing faculty an opportunity to expand their expertise.
CS 463, the Undergraduate Seminar, requires students to make presentations on topics of
current interest to computer scientists. These topics tend to focus on new developments that
have piqued the interest of students. Faculty benefit from helping students in the preparation of
these presentations and from the group discussions that follow.
The department operates a Masters program in Computer Science that currently enrolls about
50 students. Most of the faculty teach one or more graduate courses, and most are active in
thesis supervision. Department-hosted graduate forums help match graduate students with
faculty having common interests. Faculty members also post their interests on the department
web site. Students and faculty both tend toward thesis topics suggested by current
developments in the field.

Standard III-8. All full-time faculty members must have sufficient time for scholarly activities
and professional development.
E. Scholarly Activities
Describe the means for ensuring that all full-time faculty members have sufficient time for
scholarly activities and professional development.
The universitys mission is derived from the California Master Plan for Higher Education.
Consistent with this mission, teaching is the primary function of faculty in the department.
80% of the time (12 out of 15 WTUs) of a tenure-track appointment is assigned to teaching.
While the teaching mission of the CSU assigns faculty a relatively heavy teaching load, there
is time to spend on scholarly activities and professional development. All faculty teach on
9-month contracts, with no obligation to teach or be on campus during the summer, which
gives them three months that can be devoted to research or professional development. When
quarterly class scheduling occurs, faculty express what courses and time slots they prefer, and
those preferences are usually met. Almost all faculty have teaching schedules that afford them
one or two days a week without classes. The amount of internal and external funding, research
papers, publications, conference presentations, journal review, thesis supervision, and course
development is evidence that there is sufficient time beyond teaching.

Page 26 of 224
C3 CS 12/14/04

Faculty professional development activities include research and scholarship to support the
universitys mission, as well as efforts to improve teaching, advising, faculty governance and
administration skills. The previous section discussed assigned time mechanisms available to
faculty to pursue professional development. New tenure-track faculty are released from
teaching one course per quarter during their first year in order to establish their teaching and
research portfolios.
In the past year, most faculty have obtained some time reassigned from teaching for various
professional activities, as indicated in the following table.
Quarter
units
Kerbs
24
Raheja
10
Rich
28
Salloum
2
Sang
14
Soroka
12
Tang
10
Yang
6
Young
4
Name

Source
Quality Learning Fund, SCI 101 development, Sabbatical
SCI 101/102 development, Thesis supervision, Laszlo substitution
CS 375 development, Dept Chair
Thesis supervision
Grad. Coordinator, JPL SIRI, Thesis supervision
Accreditation/Assessment Coordinator
Grant writing, Quality Learning Fund
Chair, WEEA Grant
Quality Learning Fund

Standard III-9. Advising duties must be a recognized part of faculty members workloads.
F. Support for Advising
Advising duties must be a recognized part of faculty members workloads, which means that
faculty with large numbers of advisees must be granted released time. Explain your advising
system and how the time for these duties is credited.
All tenure track faculty members participate in student advising, and have advisees assigned to
them. A standard tenure track appointment consists of 15 WTUs (weighted teaching units) per
quarter, of which 12 are for teaching and 3 for related activities including advising. The
department currently has 508 majors, of which 129 are classified as freshmen. All incoming
freshmen are assigned to Brian Pangan, the department Advisor/Admissions Coordinator. The
rest are assigned to faculty members based on the last two digits of their ID number. Students
are encouraged to see Brian or their faculty advisor for all advising questions. Department
policies related to electives, dropping classes, disqualification, etc. are posted on the
department web page.

Page 27 of 224
C3 CS 12/14/04

All Computer Science students receive mandatory advising annually, using a schedule based
on their BroncoNumber, to ensure adequate progress toward their degree. Students whose
GPA falls below 2.2 must see an advisor each quarter according to campus policy. A standard
advising worksheet is used in each case, which requires students to plan their course selection
two quarters ahead. The department maintains a folder for each student that contains
transcripts, grade reports, petitions and other relevant paperwork that assist in the advising
process. The campus has implemented an online Degree Progress system that students can
consult in order to determine what requirements they have yet to fulfill.

G. Information Regarding Faculty Members


On separate pages, please furnish the following information for all faculty members that teach
courses allowed for the major, including those who have administrative positions in the
department (chair, associate chair, etc.). Use the form given below as guidance. This form need
not be followed exactly, but all requested information should be supplied. Please use a common
format for all vitas. Please limit information to no more than three pages per person, if at all
possible. Please place the form(s) for administrator(s) first, followed by the others in alphabetical
order.

Page 28 of 224
C3 CS 12/14/04

Dr. Craig A. Rich

Professor and Chair

1. Name, current academic rank, and tenure status


Dr. Craig A. Rich
Professor and Chair
Tenured
2. Date of original appointment to this faculty, followed by dates and ranks of advancement
Assistant Professor, Computer Science Department, 1988
Associate Professor, Computer Science Department, 1991
Professor, Computer Science Department, 1994
3. Degrees with fields, institutions, and dates
Degree
Ph.D.
M.S.
B.S.

Field
Computer Science
Computer Science
Computer Science

Institution
Iowa State University
Iowa State University
Iowa State University

Date
1988
1984
1979

4. If you do not have a formal degree in computer science, describe any course work you may
have taken, or other ways in which you have achieved competence in computer science;
there is no necessity to repeat information here which is contained in later sections of this
document.
N/A
5. Conferences, workshops, and professional development programs in which you have
participated in the last 5 years to improve teaching and professional competence in computer
science.
April 2008 Wireless Telecommunications Symposium (WTS) 2008, Cal Poly Pomona.
October 2007 Cyber Security Fair, Cal Poly Pomona.
October 2005 Cyber Security Fair, Cal Poly Pomona.

Page 29 of 224
C3 CS 12/14/04

Dr. Craig A. Rich

Professor and Chair

6. Other related computing experience including teaching, industrial, governmental, etc.


(Where, when, description and scope of duties)
2008present Chair, Computer Science Department, California State Polytechnic University,
Pomona.
1994present Professor, Computer Science Department, California State Polytechnic
University, Pomona.
200607 Technology Consultant, Instructional and Information Technology, California State
Polytechnic University, Pomona.
200102 Strategic Architect, Instructional and Information Technology, California State
Polytechnic University, Pomona.
199698 Director, Cal Poly Pomona Intranet Project, California State Polytechnic
University, Pomona.
199598 Webmaster, California State Polytechnic University, Pomona.
199194 Associate Professor, Computer Science Department, California State Polytechnic
University, Pomona.
198891 Assistant Professor, Computer Science Department, California State Polytechnic
University, Pomona.
198288 Teaching Assistant, Computer Science Department, Iowa State University.
198486 IBM Graduate Fellow, Computer Science Department, Iowa State University.
197982 Scientific Programmer, McDonnell-Douglas Automation Company, St. Louis, MO.
7. Consultinglist agencies and dates, and briefly describe each project.
October 2003

Expert Witness, Morgan, Lewis & Brockius LLP

Evaluated whether and to what extent similarities existed between software programs.
8. Department, college and/or university committees of which you are a member.
Chair, Computer Science Department
Chair, Computer Science Department Laboratory Committee
Member, Computer Science Department RTP Committee

Page 30 of 224
C3 CS 12/14/04

Dr. Craig A. Rich

Professor and Chair

9. Principal publications during the last five years. Give in standard bibliographic format.
Invited Presentations and Papers
Elliptic Curve Cryptography, Computer Science Society Lecture, Cal Poly Pomona,
May 2008.
Cryptographic Primitives for Secure Communication, Computer Science Society Lecture,
Cal Poly Pomona, April 2008.
Cryptographic Primitives for Secure Communication, Wireless Telecommunications
Symposium (WTS) 2008, Cal Poly Pomona, April 2008.
The Cal Poly Pomona Intranet, Part Deux: The New Linux-Based Intranet, Computer
Science Society Lecture, Cal Poly Pomona, January 2008.
Do You Accept This Certificate? Cyber Security Fair 2007, Cal Poly Pomona,
October 2007.
SOAP v. RESTThe Battle for Web Services Supremacy, Computer Science Society
Lecture, Cal Poly Pomona, February 2007.
Whats Up With AJAX, Computer Science Society Lecture, Cal Poly Pomona, April 2006.
On Used Car and Software Sales, 2005 College of Science Distinguished Teaching Award
Presentation, Cal Poly Pomona, November 2005.
Dissecting Pretty Good Privacy (PGP), Cyber Security Fair 2005, Cal Poly Pomona,
October 2005.
10. Other scholarly activity during the last 5 years: grants, sabbaticals, software development,
etc.
Author, Identity::, integrated Perl module for synchronizing user and group identity
information across disparate computing environments, 2007. Provides single sign-on and
identity management services for a community of 85,000 users and 15,000 groups at Cal
Poly Pomona.
Author, Generic Interpreter (gi), open-source Java-based software for building compilers
and interpreters, http://www.csupomona.edu/~carich/gi/, 19992008.
Author, Interpreter Theory and Implementation, textbook presenting regular language
theory, context-free language theory, denotational semantic theory and their applications,
in preparation, 2008.
Masters Students Supervised
Ngo, Bao. Implementation of an Identity-Based Cryptosystem, Summer 2008
Yousef, Rania. Implementing a Denial-of-Service Monitoring Tool, Fall 2006
Cheng, Robert. Masquerade Detection using Sequence Alignment, Summer 2005
Liu, Yang. Cryptographic Database Security with Practical Key Management, Summer 2005
Hartono, Johanes. Mobile Agent Security using Public Key Cryptography, Fall 2004

Page 31 of 224
C3 CS 12/14/04

Dr. Craig A. Rich

Professor and Chair

11. Scientific, professional and honor societies of which you are a member.
Member, Association for Computing Machinery (ACM), 1981present
12. Honors and awards.
Recipient, 2005 College of Science Distinguished Teaching Award, Cal Poly Pomona
13. Courses taught this and last academic year term-by-term. This year is the academic year in
which this Self-Study report is prepared; the last year was the year prior to this. If you were
on sabbatical leave, please enter the information for the previous year. Please list each
section of the same course separately.
Dept
Course
Fall 2006
CS 130
Fall 2006
CS 264
Winter 2007 CS 411
Winter 2007 CS 460
Fall 2007
CS 375
Fall 2007
CS 460
Term/Year

Quarter Class
hours
size
Discrete Structures
4
35
Computer Organization and Assembly Programming
4
33
Compilers and Interpreters
4
25
Secure Communication
4
24
Computers and Society
4
59
Secure Communication
4
18
Course Title

14. Other assigned duties performed during the academic year, with average hours per week.
Indicate which, if any, carry extra compensation. If you are course coordinator for courses
taught by other than full-time faculty, please indicate here which courses.
As Chair of the Computer Science Department, I am responsible for supervising staff
(administrative, information technology and advising), scheduling classes and hiring part-time
lecturers, budgeting and operations, and presiding at department meetings.
15. Number of students for which you serve as academic advisor: 55
16. Estimate the percentage of your time devoted to scholarly and/or research activities: 10 %.
Please give a brief description of your major research and scholarly activities:
Research is done largely in conjunction with Masters student supervision. During the last five
years, all of my Masters students have studied in the area of secure communication and
cryptography. Most recently, Bao Ngo and I have implemented an identity-based cryptosystem
using bilinear pairings on elliptic curve groups.
17. If you are not a full-time faculty member, state what percentage of full-time you work:
100 %. Percentage of this time allocated to the computer science program being evaluated:
100 %.
Page 32 of 224
C3 CS 12/14/04

Dr. Robert W. Kerbs

Associate Professor

1. Name, current academic rank, and tenure status


Dr. Robert W. Kerbs
Associate Professor
Tenured (Effective Fall 2008)
2. Date of original appointment to this faculty, followed by dates and ranks of advancement
Assistant Professor, Computer Science Department, 2002
Associate Professor, Computer Science Department, 2007
3. Degrees with fields, institutions, and dates
Degree
Ph.D.
M.S.
B.S.
A.A.

Field
Computer Science
Computer Science
Electrical Engineering
Recording Engineering

Institution
Nova Southeastern University
Nova Southeastern University
California State University, Long Beach
Goldenwest College, Huntington Beach

Date
2001
1999
1987
1984

4. If you do not have a formal degree in computer science, describe any course work you may
have taken, or other ways in which you have achieved competence in computer science;
there is no necessity to repeat information here which is contained in later sections of this
document.
N/A
5. Conferences, workshops, and professional development programs in which you have
participated in the last 5 years to improve teaching and professional competence in computer
science.
Each year I attend at least one CS-related seminar at the California Institute of Technology
(Caltech) in Pasadena, California; these are presented by Caltech faculty.
Partner Representative in the International Game Developers Association (IGDA) for
California State Polytechnic University, Pomona (200507).
Referee: International Journal of Computers and Their Application (200405).

Page 33 of 224
C3 CS 12/14/04

Dr. Robert W. Kerbs

Associate Professor

6. Other related computing experience including teaching, industrial, governmental, etc.


(Where, when, description and scope of duties)
19972001 System Manager, The California Institute of Technology, Pasadena, California.
199697 Programmer, Kronos Digital Entertainment, Pasadena, California.
199596 Programmer, The Centos Company, Los Alamitos, California.
199295 Editor/Publisher, The Centos Company, Los Alamitos, California.
198792 Product Line Manager, Texas Instruments, Dallas, Texas.
7. Consultinglist agencies and dates, and briefly describe each project.

8. Department, college and/or university committees of which you are a member.


Department-levelcurriculum and laboratory committees.
University-levelIT committee.
9. Principal publications during the last five years. Give in standard bibliographic format.
F. Tang, R. W. Kerbs, and G. S. Young, Improving CS Student Retention with Intelligent
Agents, Proceedings of the AAAI Spring Symposium 2008: Palo Alto, CA.
R. W. Kerbs, Student Teamwork: A Capstone Course in Game Programming, 37th
ASEE/IEEE Frontiers in Education Conference 2007: Milwaukee, WI.
R. W. Kerbs, Faculty Postmortem: Cal Poly Pomona's Game Development Course,
Gamasutra.com, http://www.gamasutra.com/features/20060713/kerbs_01.shtml, July 13,
2006.
R. W. Kerbs, Social and Ethical Considerations in Virtual Worlds, The Electronic Library,
Special Issue: 23(5), 2005, pp 539546. This paper was selected as one of ten best papers
(out of 20) at the 3rd International Conference on Application and Development of Games
(ADCOG) 2004.
R. W. Kerbs, An Empirical Comparison of User Color Preferences in Electronic Interface
Design, 19th International Symposium on Human Factors in Telecommunication 2003:
Berlin, Germany, available online at: http://www.hft.org/HFT03/HFT03_Programme.htm.
R. W. Kerbs, Internet Gaming in the Era of IPv6, The Electronic Library, Special Issue:
Network and Security Issues for Internet Mobile Entertainment, 22(1), 2004, pp 1622.
This paper was selected as one of the nine best papers (out of 45) at the 2nd International
Conference on Application and Development of Games (ADCOG) 2003.

Page 34 of 224
C3 CS 12/14/04

Dr. Robert W. Kerbs

Associate Professor

10. Other scholarly activity during the last 5 years: grants, sabbaticals, software development,
etc.
Spring 2008

sabbaticalto develop a CS laboratory manual.

Grants
California State Polytechnic University, Pomona, Quality Learning Fund, 2007 ($12912).
ACM, Federated Computing Research Conference Educators Travel Grant, 2007 ($1060).
California State Polytechnic University, Pomona, Presidential Travel Fund Grant to attend
2007 Game Developers Conference ($400).
California State Polytechnic University, Pomona, Presidential Travel Fund Grant to attend
2006 Game Developers Conference ($400).
California State Polytechnic University, Pomona, Academic Travel Grant, 2005 ($400).
California State Polytechnic University, Pomona, Faculty Development Grant, 2003 ($560).
11. Scientific, professional and honor societies of which you are a member.
Member, Association for Computing Machinery (ACM).
Member, Institute of Electrical and Electronic Engineers (IEEE) Computer Society.
Member, Tau Beta Pi honor society.
12. Honors and awards.
Winner, one of ten best papers at the 3rd International Conference on Application and
Development of Games (ADCOG) 2004 for Social and Ethical Considerations in Virtual
Worlds.
Winner, one of nine best papers at the 2nd International Conference on Application and
Development of Games (ADCOG) 2003 for Internet Gaming in the Era IPv6.

Page 35 of 224
C3 CS 12/14/04

Dr. Robert W. Kerbs

Associate Professor

13. Courses taught this and last academic year term-by-term. This year is the academic year in
which this Self-Study report is prepared; the last year was the year prior to this. If you were
on sabbatical leave, please enter the information for the previous year. Please list each
section of the same course separately.
Term/Year
Fall 2006
Fall 2006
Winter 2007
Winter 2007
Spring 2007
Spring 2007
Fall 2007
Fall 2007
Fall 2007
Fall 2007
Fall 2007
Fall 2007
Winter 2008
Winter 2008
Winter 2008

Dept
Course
CS 140
CS 431
CS 499
CS 570
CS 499
CS 565
SCI 101
SCI 101A
SCI 101
SCI 101A
SCI 101
SCI 101A
CS 140
SCI 102
SCI 102A

Quarter Class
hours
size
Introduction to Computer Science
4
35
Operating Systems
4
23
Special TopicsProgramming Game Engines
4
25
Human Computer Interaction
4
14
Special TopicsGame Development
4
10
Advanced Computer Networks
4
9
Science and Mathematics: Freshman Experience I
1
29
Science and Mathematics: Freshman Experience I
1
29
Science and Mathematics: Freshman Experience I
1
29
Science and Mathematics: Freshman Experience I
1
29
Science and Mathematics: Freshman Experience I
1
25
Science and Mathematics: Freshman Experience I
1
25
Introduction to Computer Science
4
38
Science and Mathematics: Freshman Experience II
1
28
Science and Mathematics: Freshman Experience II
1
29
Course Title

14. Other assigned duties performed during the academic year, with average hours per week.
Indicate which, if any, carry extra compensation. If you are course coordinator for courses
taught by other than full-time faculty, please indicate here which courses.

15. Number of students for which you serve as academic advisor: 55 undergraduate and
23 graduate
16. Estimate the percentage of your time devoted to scholarly and/or research activities: 15 %.
Please give a brief description of your major research and scholarly activities:

17. If you are not a full-time faculty member, state what percentage of full-time you work:
100 %. Percentage of this time allocated to the computer science program being evaluated:
100 %.

Page 36 of 224
C3 CS 12/14/04

Dr. Chung Lee

Professor Emeritus

1. Name, current academic rank, and tenure status


Dr. Chung Lee
Professor Emeritus
Tenured (FERPFaculty Early Retirement Program)
2. Date of original appointment to this faculty, followed by dates and ranks of advancement
Associate Professor, Computer Science Department, 1982
Professor, Computer Science Department, 1988
Professor Emeritus, Computer Science Department, 2005
3. Degrees with fields, institutions, and dates
Degree
Post-Doc.
Ph.D.
M.S.
B.S.

Field
Biostatistics
Crop Science
Agronomy
Agronomy

Institution
University of California, Los Angeles
Michigan State University
Seoul National University
Seoul National University

Date
1973
1970
1967
1965

4. If you do not have a formal degree in computer science, describe any course work you may
have taken, or other ways in which you have achieved competence in computer science;
there is no necessity to repeat information here which is contained in later sections of this
document.
Programming Languages (Fortran, PL/I) at Michigan State University (Fall 1968)
Computer Application of Statistical methods at Michigan State University (Winter 1970)
Programming Language (Pascal, Fortran) At UCLA (Fall 1972)
Operating Systems (OS/360) at UCLA (Fall 1972)
Attended short courses in Database, Computer graphic, networking, Unix system, Software
Engineering, CAI, Bioinformatics and AI.
5. Conferences, workshops, and professional development programs in which you have
participated in the last 5 years to improve teaching and professional competence in computer
science.
Various short workshops while at Chancellors office (19781982) and at Cal Polyattended
at least 25 workshops and tutorial sessions on the subjects including statistics, Unix operating
system, communication/network, computer graphics, programming languages, OO methods,
software engineering (V&V, HCI), AI, and teaching methods.

Page 37 of 224
C3 CS 12/14/04

Dr. Chung Lee

Professor Emeritus

Publication/Presentation
C. Lee, Visualization of Multidimensional Database, Conference on Visualization and Data
Analysis, January 2829, 2008 at San Jose, California, published in Proceeding SPIE
Vol 6809 OM7.
Special Seminar/Presentations
School of engineering, Ho Chi Minh University of Engineering and Technology, Vietnam,
May 56, 2008
Current trends in Software Engineering methods
Agile software development method
Guatemala City Cultural Center, August 1416, 2007
Java programming workshop
A+ certification workshop
University of Malang, Indonesia, May 2123, 2007
Medical imaging and application of graphics
Java GUI programming workshop
Cyber University
University of Malang, Indonesia, May 29June 2, 2006
Bioinformatics for new age
Java language workshop
IT education and curriculum
Workshops and seminars in the subject of A+, multimedia file management, usage of
PowerPoint and web programming
6. Other related computing experience including teaching, industrial, governmental, etc.
(Where, when, description and scope of duties)
198587

Jet Propulsion Lab, NASA in Pasadena, CA

Conducted 4 lecture series in computer graphics (15 weeks each)


198689

Rockwell International, Downey, CA

Taught in-house training courses in data Structures and the Ada language.
Production team for video course series in Software Engineering.
Conducted research project in software tools usage analysis.
Planned joint project for computerized restoration of old design specifications.
Served as faculty advisor for unit testing of Gun Ship control software in Ada.

Page 38 of 224
C3 CS 12/14/04

Dr. Chung Lee

Professor Emeritus

1997 Jet Propulsion Laboratory, NASA


Offered a course series in Object Oriented Software Engineering to employees of MIPS
(Multi-purpose Image Processing System) group. This lasted 9 months and team-taught
with 3 other faculty in the CS department.
1997, 1999 Taught courses in Computer graphics and Java language to CS majors of
Yanbian University of Science and Technology(YUST) and government officials in Yanji,
China.
19972000

Cal Poly Pomona

Conduct courses in object-oriented methods, graphics and database for Korean teachers.
2001present Bethel Korean Church, Irvine, CA
Conducted numerous training courses in computer literacy, productivity software and
internet usage.
2002present Overseas seminar and workshop
Traveled to China, Indonesia, Guatemala and Vietnam to present workshops and seminars
in the subjects Medical Imaging, Software Engineering, Agile development method,
SOA/ESB, Java programming language and bioinformatics.
7. Consultinglist agencies and dates, and briefly describe each project.
1994present Ministry of Agriculture, Republic of Korea (Advising on computer
applications and software)
1997present Yanbian Univ. of Tech., China. Adjunct professor (Curriculum development
and teaching)
2000 Rutilus Inc, Irvine, CA (Supervision of software development team)
8. Department, college and/or university committees of which you are a member.

9. Principal publications during the last five years. Give in standard bibliographic format.
C. Lee, Visualization of Multidimensional Database, Conference on Visualization and Data
Analysis, January 2829, 2008 at San Jose, California, published in Proceeding SPIE
Vol 6809 OM7.

Page 39 of 224
C3 CS 12/14/04

Dr. Chung Lee

Professor Emeritus

10. Other scholarly activity during the last 5 years: grants, sabbaticals, software development,
etc.
Attended 3 conferences on Biotechnology and bioinformatics.
Presented a paper on database visualization (January 2008).
Directing masters thesis and serving graduate thesis committees.
Reviewed textbook drafts in the subject of Software Engineering.
Develop software for vote counting system for a large organization.
11. Scientific, professional and honor societies of which you are a member.
ACM, IEEE, SPIE
12. Honors and awards.

13. Courses taught this and last academic year term-by-term. This year is the academic year in
which this Self-Study report is prepared; the last year was the year prior to this. If you were
on sabbatical leave, please enter the information for the previous year. Please list each
section of the same course separately.
Term/Year
Fall 2006
Fall 2006
Winter 2007
Winter 2007
Fall 2007
Winter 2008
Winter 2008
Winter 2008

Dept
Course
CS 245
CS 599
CS 480
CS 519
CS 480
CS 245
CS 463
CS 585

Course Title
Programming Graphical User Interfaces
Bioinformatics for Computer Scientists
Software Engineering
Computer Vision
Software Engineering
Programming Graphical User Interfaces
Undergraduate Seminar
Software Verification and Validation

Quarter
hours
4
4
4
4
4
4
2
4

Class
size
41
10
30
9
24
42
10
15

14. Other assigned duties performed during the academic year, with average hours per week.
Indicate which, if any, carry extra compensation. If you are course coordinator for courses
taught by other than full-time faculty, please indicate here which courses.

Page 40 of 224
C3 CS 12/14/04

Dr. Chung Lee

Professor Emeritus

15. Number of students for which you serve as academic advisor:

16. Estimate the percentage of your time devoted to scholarly and/or research activities:
_____%. Please give a brief description of your major research and scholarly activities:
Visualization of database
Development of softwareVoting system
Curriculum development for Biotechnology and animation program
Chairing program committee of IT Conference (Outside of Cal Poly)
Mission trips to Indonesia, Vietnam, Guatemala; offer seminars and workshops
17. If you are not a full-time faculty member, state what percentage of full-time you work:
50 %. Percentage of this time allocated to the computer science program being evaluated:
100 %.

Page 41 of 224
C3 CS 12/14/04

Dr. H. K. Liu

Professor

1. Name, current academic rank, and tenure status


Dr. H. K. Liu
Professor
Tenured
2. Date of original appointment to this faculty, followed by dates and ranks of advancement
Assistant Professor, Mathematics Department, Fall 1976
Associate Professor, Mathematics Department, Fall 1980
Associate Professor, Computer Science Department, Fall 1982
Professor, Computer Science Department, Fall 1985
3. Degrees with fields, institutions, and dates
Degree
Ph.D.
M.S.
B.S.

Field
Computer Science
Electrical Engineering
Electrical Engineering

Institution
State University of New York at Buffalo
University of Cincinnati
Taiwan National Cheng Kung University

Date
1976
1971
1968

4. If you do not have a formal degree in computer science, describe any course work you may
have taken, or other ways in which you have achieved competence in computer science;
there is no necessity to repeat information here which is contained in later sections of this
document.
N/A
5. Conferences, workshops, and professional development programs in which you have
participated in the last 5 years to improve teaching and professional competence in computer
science.

6. Other related computing experience including teaching, industrial, governmental, etc.


(Where, when, description and scope of duties)

Page 42 of 224
C3 CS 12/14/04

Dr. H. K. Liu

Professor

7. Consultinglist agencies and dates, and briefly describe each project.


19972000

Raytheon Systems Company

Laboratory Automation, Statistic Computing


198092

General Dynamics Corp

Computer Simulation, High-speed Computation, Computer Graphics


Summers 1977, 1978 Medical Image Processing Group, Computer Science Department,
State University of New York at Buffalo
Three-dimensional Display of CAT data
8. Department, college and/or university committees of which you are a member.
Department RTP Committee
Department Search Committee
Department Curriculum Committee
Department Scholarship Committee
College RTP Committee
College Teaching Excellence Award committee
College Quality Learning Review Committee
University Faculty Hearing Panel
9. Principal publications during the last five years. Give in standard bibliographic format.

10. Other scholarly activity during the last 5 years: grants, sabbaticals, software development,
etc.
Sabbatical leave, 1986, 1993, 2002
11. Scientific, professional and honor societies of which you are a member.
Member, Association for Computing Machinery (ACM)
Referee, IEEE Transactions on Medical Imaging
Referee, IEEE Transactions on Systems, Man and Cybernetics
Referee, The SRA Computer Science Series
Referee, National Computer Conference
Referee, George E. Forsythe Student Paper Competition

Page 43 of 224
C3 CS 12/14/04

Dr. H. K. Liu

Professor

12. Honors and awards.

13. Courses taught this and last academic year term-by-term. This year is the academic year in
which this Self-Study report is prepared; the last year was the year prior to this. If you were
on sabbatical leave, please enter the information for the previous year. Please list each
section of the same course separately.
Term/Year

Dept
Course

Summer 2006 CS 264


Summer 2006
Summer 2006
Summer 2006
Winter 2007

CS 331
CS 431
CS 463
CS 140

Winter 2007

CS 264

Winter 2007
Spring 2007
Spring 2007
Spring 2007
Fall 2007
Fall 2007
Fall 2007
Winter 2008
Winter 2008
Winter 2008
Spring 2008
Spring 2008
Spring 2008

CS 420
CS 301
CS 408
CS 420
CS 140
CS 301
CS 431
CS 408
CS 420
CS 431
CS 141
CS 408
CS 431

Course Title
Computer Organization and
Assembly Programming
Design and Analysis of Algorithms
Operating Systems
Undergraduate Seminar
Introduction to Computer Science
Computer Organization and
Assembly Programming
Artificial Intelligence
Numerical Methods
Programming Languages
Artificial Intelligence
Introduction to Computer Science
Numerical Methods
Operating Systems
Programming Languages
Artificial Intelligence
Operating Systems
Introduction to Programming and Problem-Solving
Programming Languages
Operating Systems

Quarter Class
hours
size
4

17

4
4
2
4

26
23
11
36

26

4
4
4
4
4
4
4
4
4
4
4
4
4

17
35
30
34
19
13
11
28
22
23
33
22
18

14. Other assigned duties performed during the academic year, with average hours per week.
Indicate which, if any, carry extra compensation. If you are course coordinator for courses
taught by other than full-time faculty, please indicate here which courses.

Page 44 of 224
C3 CS 12/14/04

Dr. H. K. Liu

Professor

15. Number of students for which you serve as academic advisor: 55


16. Estimate the percentage of your time devoted to scholarly and/or research activities: 15 %.
Please give a brief description of your major research and scholarly activities:

17. If you are not a full-time faculty member, state what percentage of full-time you work:
100 %. Percentage of this time allocated to the computer science program being evaluated:
100 %.

Page 45 of 224
C3 CS 12/14/04

Dr. Halina Przymusinska

Professor Emeritus

1. Name, current academic rank, and tenure status


Dr. Halina Przymusinska
Professor Emeritus
Tenured (FERPFaculty Early Retirement Program)
2. Date of original appointment to this faculty, followed by dates and ranks of advancement
Associate Professor, Computer Science Department, 1991
Professor, Computer Science Department, 1995
Professor Emeritus, Computer Science Department, 2005
3. Degrees with fields, institutions, and dates
Degree
Ph.D.
M.S.

Field
Mathematics
Mathematics

Institution
University of Warsaw, Poland
University of Warsaw, Poland

Date
1979
1970

4. If you do not have a formal degree in computer science, describe any course work you may
have taken, or other ways in which you have achieved competence in computer science;
there is no necessity to repeat information here which is contained in later sections of this
document.
Several CS courses taken at the University of Pittsburgh in 1982.
5. Conferences, workshops, and professional development programs in which you have
participated in the last 5 years to improve teaching and professional competence in computer
science.

6. Other related computing experience including teaching, industrial, governmental, etc.


(Where, when, description and scope of duties)
1991present Adjunct Professor, Computer Science, University of California, Riverside
2007 Visiting Professor, Computer Science, Yonsei University, Korea (Summer)
1997 Visiting Professor, New University of Lisbon, Portugal (Summer)
199697 Visiting Professor, University of Warsaw, Poland
199192 Visiting Professor, University of Linkoping, Sweden (Summer)
198891 Associate Professor, Computer Science, University of Texas at El Paso
198488 Assistant Professor, Computer Science, University of Texas at El Paso

Page 46 of 224
C3 CS 12/14/04

Dr. Halina Przymusinska

Professor Emeritus

7. Consultinglist agencies and dates, and briefly describe each project.


Consultant for the research project Parallel Prolog on the Intel Super-Computer, Computing
Research Lab, New Mexico State University, 1987.
8. Department, college and/or university committees of which you are a member.

9. Principal publications during the last five years. Give in standard bibliographic format.
J. Alferes, L. Pereira, H. Przymusinska, T. Przymusinski, ''LUPSa language for updating
logic programs,'' Artificial Intelligence Journal, 138, (12), 87116, 2002.
J. A. Leite, J. J. Alferes, L. M. Pereira, H. Przymusinska, T. C. Przymusinski, ''A Language for
Multi-dimensional Updates,'' Electronic Notes in Theoretical Computer Science, 70, 5,
N/A, 2002.
J. A. Leite, J. J. Alferes, L. M. Pereira, H. Przymusinska, T. C. Przymusinski, ''A Language for
Multi-dimensional Updates,'' Procs. of the 3rd Intl. Workshop on Computational Logic in
Multi-Agent Systems, (CLIMA'02), Roskilde University, Denmark, August 2002, 1934,
2002.
J. A. Leite, J. J. Alferes, L. M. Pereira, H. Przymusinska, T. C. Przymusinski, ''A Language for
Updates with Multiple Dimensions,'' Procs. of the APPIA-GULP-PRODE'02 Joint
Conf. on Declarative Programming (AGP'02), Madrid, Spain, September 2002, 11 pages,
2002.
10. Other scholarly activity during the last 5 years: grants, sabbaticals, software development,
etc.

11. Scientific, professional and honor societies of which you are a member.
Member of the Center for Research in Intelligent Systems (CRIS) at the University of
California at Riverside.
12. Honors and awards.
Member of the editorial board of two international journalsJournal of Experimental and
Theoretical Artificial Intelligence and Journal of Applied Non-Classical Logics.
College of Sciences 1996 R. W. Ames Award for Research Excellence.
Founding member of the Center for Research in Intelligent Systems (CRIS) at the University
of California at Riverside.
Page 47 of 224
C3 CS 12/14/04

Dr. Halina Przymusinska

Professor Emeritus

13. Courses taught this and last academic year term-by-term. This year is the academic year in
which this Self-Study report is prepared; the last year was the year prior to this. If you were
on sabbatical leave, please enter the information for the previous year. Please list each
section of the same course separately.
Term/Year
Fall 2006
Fall 2006
Spring 2007
Spring 2007
Winter 2008
Winter 2008
Spring 2008
Spring 2008

Dept
Course
CS 420
CS 515
CS 311
CS 352
CS 130
CS 311
CS 130
CS 311

Quarter
hours
4
4
4
4
4
4
4
4

Course Title
Artificial Intelligence
Automated Reasoning
Language Translation and Automata
Symbolic Programming
Discrete Structures
Language Translation and Automata
Discrete Structures
Language Translation and Automata

Class
size
15
7
29
28
35
25
35
35

14. Other assigned duties performed during the academic year, with average hours per week.
Indicate which, if any, carry extra compensation. If you are course coordinator for courses
taught by other than full-time faculty, please indicate here which courses.

15. Number of students for which you serve as academic advisor:

16. Estimate the percentage of your time devoted to scholarly and/or research activities: 20 %.
Please give a brief description of your major research and scholarly activities:
My scientific work was centered around the knowledge representation issues with the special
emphasis on problems associated with non-monotonic reasoning and with applications of logic
programming to knowledge representation. Together with M. Gelfond I was one of the early
proponents of the study of Autoepistemic Logic and its relations to other formalisations of
common sense reasoning. This work was followed by some preliminary studies of
applicability of logic programming as a language for software specifications and issues of
elaboration tolerance. More recently I was working with J. Alferes, L. Pereira, and
T. Przymusinski on dynamic updates of knowledge bases.
17. If you are not a full-time faculty member, state what percentage of full-time you work:
50 %. Percentage of this time allocated to the computer science program being evaluated:
100 %.

Page 48 of 224
C3 CS 12/14/04

Dr. Amar Raheja

Associate Professor

1. Name, current academic rank, and tenure status


Dr. Amar Raheja
Associate Professor
Tenured
2. Date of original appointment to this faculty, followed by dates and ranks of advancement
Assistant Professor, Computer Science Department, 2001
Associate Professor, Computer Science Department, 2005
3. Degrees with fields, institutions, and dates
Degree
Ph.D.
M.S.
B.S.

Field
Engineering
Physics (Electronics)
Physics

Institution
University of Toledo, OH
Indian Institute of Technology, Kharagpur, India
Indian Institute of Technology, Kharagpur, India

Date
1999
1994
1992

4. If you do not have a formal degree in computer science, describe any course work you may
have taken, or other ways in which you have achieved competence in computer science;
there is no necessity to repeat information here which is contained in later sections of this
document.
Have taken various computer science courses at undergraduate and graduate level.
Taught computer science courses in the Computer Science department at Philadelphia
University as a tenure track assistant professor for two years (19992001).
5. Conferences, workshops, and professional development programs in which you have
participated in the last 5 years to improve teaching and professional competence in computer
science.

6. Other related computing experience including teaching, industrial, governmental, etc.


(Where, when, description and scope of duties)
Industry Contract: Advanced 3-D Locator Base-station Software, L3 Communications, Inc.,
Anahiem, CA, January 1, 2007June 1, 2008, $78400.
Develop graphics based software for visualization of real time first emergency responders.

Page 49 of 224
C3 CS 12/14/04

Dr. Amar Raheja

Associate Professor

7. Consultinglist agencies and dates, and briefly describe each project.

8. Department, college and/or university committees of which you are a member.


Department Committees
Curriculum Committee Chair (coordinator), Member, 200508.
Retention, Tenure and Promotion Committee, 2005present.
Laboratory Committee, 2001present.
College Committees
College Curriculum Committee, Member, 200508.
University Committees
University Senator from College of Science, 200809.
University General Education Committee, 200609.
9. Principal publications during the last five years. Give in standard bibliographic format.
T. Chan and A. Raheja, Use of Neural Networks to Detect Impaired Cheating on the
Computerized CERAD Word List Memory Test, 2008 International Conference on
Artificial Intelligence (ICAI 08), Las Vegas, Nevada, July 1417 2007.
D. Livesay, S. Pande and A. Raheja, Prediction of Enzyme Catalytic Sites from Sequence
Using Neural Networks, IEEE Symposium on Computational Intelligence in
Bioinformatics and Computational Biology (CIBCB 07), Honolulu, Hawaii, April 15
2007.
Y. Chan and A. Raheja, Wavelet Lifting for Speckle Noise Reduction in Medical Ultrasound
Images, 27th Annual International Conference of the IEEE Engineering in Medicine and
Biology Society (EMBS 06), Shanghai, China, September 14 2005.
A. Lam and A. Raheja, Neural Network Models for Fabric Drape Prediction, International
Joint Conference on Neural Networks (IJCNN 04), Budapest, Hungary, July 2529 2004.
C. Frank, A. Raheja and L. Sztandera, Fuzzy Forecasting of Apparel Sales, National Textile
Center Research Forum, Hilton Head Island, SC, February 1517, 2004.
C. Frank, A. Garg, A. Raheja and L. Sztandera, Forecasting Women's Apparel Sales using
Mathematical Modeling, International Journal of Clothing Science and Technology 15
(2), pp. 107125, 2003.
C. Frank, A. Garg, A. Raheja and L. Sztandera, A Fuzzy Forecasting Model, International
Textile Design and Engineering Conference, Edinburgh, UK, September 2224, 2003.
C. Frank, A. Garg, A. Raheja and L. Sztandera, Fuzzy Forecasting Model for Apparel Sales,
National Textile Center Research Forum, Hilton Head Island, SC, February 912, 2003.

Page 50 of 224
C3 CS 12/14/04

Dr. Amar Raheja

Associate Professor

10. Other scholarly activity during the last 5 years: grants, sabbaticals, software development,
etc.
National Science Foundation
IDBR: Excitation-Emission Matrix Fluorescence Detection for Capillary Electrophoresis
(NSF DBI 0754837) Role: Co-PI (PI: Dr. Timothy Corcoran); $177,564; May 2008
June 2010
National Science Foundation
Acquisition of a workstation network for research in parallel and distributed computing
(NSF MRI 0321333) Role: Co-PI (PI: Dr. Hairong Kuang); $159,658; September 2003
August 2005
National Textile Center (US Department of Commerce)
Fuzzy Forecasting Model for Apparel Sales (NTC S01-PH10)
Role: PI; $300,000; June 2001May 2004
Sabbatical: Fall 2005, Worked on using distributed computed for wavelet based image
reconstructions algorithms for Positron Emission Tomography.
11. Scientific, professional and honor societies of which you are a member.
Member, Association for Computing Machinery (ACM).
Member, Institute of Electrical and Electronic Engineers (IEEE).
Member, IEEE Engineering in Medicine and Biology Society.
Member, IEEE Computer Society.
12. Honors and awards.
Referee, IEEE Transactions on Medical Imaging.
Referee, IEEE Transactions on Biomedical Engineering.

Page 51 of 224
C3 CS 12/14/04

Dr. Amar Raheja

Associate Professor

13. Courses taught this and last academic year term-by-term. This year is the academic year in
which this Self-Study report is prepared; the last year was the year prior to this. If you were
on sabbatical leave, please enter the information for the previous year. Please list each
section of the same course separately.
Dept
Course
Fall 2006
CS 256
Fall 2006
CS 445
Summer 2006 CS 301
Summer 2006 CS 408
Winter 2007
CS 301
Winter 2007
CS 408
Spring 2007
CS 128
Spring 2007
CS 445
Summer 2007 CS 408
Fall 2007
CS 130
Fall 2007
CS 555
Fall 2007
SCI 101
Fall 2007
SCI 101A
Winter 2008
CS 128
Winter 2008
CS 256
Spring 2008
CS 128
Spring 2008
CS 299
Term/Year

Quarter Class
hours
size
C++ Programming
4
16
Computer Graphics
4
19
Numerical Methods
4
19
Programming Languages
4
29
Numerical Methods
4
28
Programming Languages
4
24
Introduction to C++
4
50
Computer Graphics
4
28
Programming Languages
4
13
Discrete Structures
4
27
Computer Image Processing
4
10
Science and Mathematics: Freshman Experience I
1
14
Science and Mathematics: Freshman Experience I
1
14
Introduction to C++
4
34
C++ Programming
4
25
Introduction to C++
4
37
Special TopicsUnix and Scripting
4
33
Course Title

14. Other assigned duties performed during the academic year, with average hours per week.
Indicate which, if any, carry extra compensation. If you are course coordinator for courses
taught by other than full-time faculty, please indicate here which courses.
Computer Science Department Curriculum Coordinator: 200508
Hours spent per quarter: 8
15. Number of students for which you serve as academic advisor: 55 undergraduate and
25 graduate
16. Estimate the percentage of your time devoted to scholarly and/or research activities: 30 %.
Please give a brief description of your major research and scholarly activities:
Conduct research for grants and direct graduate students' theses in soft computing methods,
image processing, medical image compression and denoising, bioinformatics.
17. If you are not a full-time faculty member, state what percentage of full-time you work:
100 %. Percentage of this time allocated to the computer science program being evaluated:
100 %.
Page 52 of 224
C3 CS 12/14/04

Dr. Salam Salloum

Professor

1. Name, current academic rank, and tenure status


Dr. Salam Salloum
Professor
Tenured
2. Date of original appointment to this faculty, followed by dates and ranks of advancement
Associate Professor, Computer Science Department, 2001
Professor, Computer Science Department, 2005
3. Degrees with fields, institutions, and dates
Degree
Ph.D.
M.S.
M.S.
M.S.
B.S.

Field
Computer Science
Electrical Engineering (Computer)
Applied Math
Computer Science
Mathematics

Institution
University of Southern California
University of Southern California
University of Southern California
University of Southern California
University of Baghdad

Date
1979
1980
1977
1974
1971

4. If you do not have a formal degree in computer science, describe any course work you may
have taken, or other ways in which you have achieved competence in computer science;
there is no necessity to repeat information here which is contained in later sections of this
document.
N/A
5. Conferences, workshops, and professional development programs in which you have
participated in the last 5 years to improve teaching and professional competence in computer
science.
Attended the joint-Cal Poly Pomona-IBM training workshop on Rational System Architecture,
June 1416, 2006.
Attended the 2007 Federated Computing Research Conference and selected affiliated
conferences and tutorials, June 816, 2007.

Page 53 of 224
C3 CS 12/14/04

Dr. Salam Salloum

Professor

Attended tutorials and presented research papers at the following conferences:


The International Computer Science and Technology Conference, April 13, 2008, San Diego,
CA.
The 2007 International Conference on Computer Design, June 2528, 2007, Las Vegas,
Nevada.
The 2006 International Conference on Computer Science and Applications, June 2730, 2006,
San Diego, CA.
The 2005 International Conference on Computer Science and its Applications, June 2729,
2005, San Diego, CA.
The 2004 International Conference on VLSI, June 2124, 2004, Las Vegas, Nevada, USA.
The 2003 IEEE Pacific Rim Conference on Communication, Computer, and Signal
Processing, August 2830, 2003,Victoria, BC, Canada.
The 2003 International Conference on Communication in Computer, June 2326, 2003, Las
Vegas, Nevada, USA.
6. Other related computing experience including teaching, industrial, governmental, etc.
(Where, when, description and scope of duties)
19972000 Assistant/Associate Prof. of Computer Science, Univ. of Wisconsin, Oshkosh.
199597 Assistant Professor of Computer Science, University of Houston, Victoria.
199495 Software Consultant, PKWARE Inc, Wisconsin.
1993 Visiting Associate Professor, University of Southern California.
199294 Associate Professor, University of Saana, Yemen.
199192 Associate Professor, University of Yarmouk, Jordan.
198086 Assistant Professor of Computer Science, University of Baghdad.
198183 Director, Computing Center, College of Engineering-University of Baghdad.
198691 Associate professor of Computer Science, University of Baghdad.
198391 Chair, Department of Computer Science, University of Baghdad.
198391 Director, Computing Center, College of Science, University of Bagdad.
197980 Research Scientist, University of Southern California.
197276 Teaching Assistant, University of Southern California.
7. Consultinglist agencies and dates, and briefly describe each project.
199495 PKWRE Inc, design and implementation of some algorithms for the software
package PKZIP.
199499 TRIMED Inc. design and implementation of medical applications and expert
systems.
198391 Engineering Consulting Bureau, University of Baghdad, Software Engineer and/or
Team Leader for several software development projects.

Page 54 of 224
C3 CS 12/14/04

Dr. Salam Salloum

Professor

8. Department, college and/or university committees of which you are a member.


Departmental Curriculum Committee
Departmental Graduate Committee
Departmental Reappointment, Tenure and Promotion (RTP) Committee.
9. Principal publications during the last five years. Give in standard bibliographic format.
Samira Hussain and S. N. Salloum, Test Case Generation for White-Box Unit Testing,
Proceedings (online) of The International Computer Science and Technology Conference,
April 13, 2008, San Diego, CA.
S. N. Salloum, Optimal and Heuristic Testing Procedures for k-out-of-n Systems with
Precedence Constraints, Proceedings of the 2007 International Conference on Computer
Design, June 2528, 2007, Las Vegas, Nevada.
S. Salloum and M. Salloum, Efficient Optimal Algorithms for Test Sequencing with
Precedence Constraints for Two Fault Models, Proceedings of the 3rd International
Conference on Computer Science and its Applications, June 2729, 2005, San Diego, CA.
D. Wang and Salam N. Salloum, Fault-Tolerance Analysis of Some Sorting Networks for
Single and Multiple Passes, Proceedings of the 2004 International Conference on VLSI,
June 2124, 2004, Las Vegas, Nevada, USA.
S. N. Salloum, Fault-Tolerant Routing Analysis of Two Classes of Multistage
Interconnection Networks, Proceedings of the 2003 IEEE Pacific Rim Conference on
Communication, Computer, and Signal Processing, August 2830, 2003,Victoria, BC,
Canada.
S. N. Salloum and D. Wang, Fault-Tolerance Analysis of Odd-Even Transposition Sorting
Networks with Single Pass and Multiple Passes, Proceedings of the 2003 IEEE Pacific
Rim Conference on Communication, Computer, and Signal Processing, August 2830,
2003, Victoria, BC, Canada.
S. N. Salloum, Fault-Tolerance Analysis of Multistage Interconnection Networks with Fixed
Control Values, Proceedings of the 2003 International Conference on Communication in
Computer, June 2326, 2003, Las Vegas, Nevada, USA.
10. Other scholarly activity during the last 5 years: grants, sabbaticals, software development,
etc.
Co-PI and the Software Team leader of an undergraduate students research project funded by
4-year (20022006) $1,143,697 NASA Partnership Award for Integration Research grant
(NASA PAIR) Deep Space Exploration Using Smart Robotic Rovers.
Received the ACM FCRC07 Educator's Travel Grant.

Page 55 of 224
C3 CS 12/14/04

Dr. Salam Salloum

Professor

Received a grant from Microsoft that provided software and hardware needed for the research
project of the NASA Software Team in designing and implementing a rover using
embedded software technology.
Served as the coordinator for the joint-Cal Poly Pomona-IBM training workshop on Rational
System Architecture, for the faculty and graduate students in southern California.
Co-Program Chair of the 2005 International Conference on Computer Design, June 2005, Las
Vegas, Nevada.
Served as the Capitan of the event Robot Ramble of the 2004 and 2005 LA County Regional
Science Olympiad in which 28 regional high schools participated.
Served as the Capitan of the event Robot Ramble of the 2004 State Science Olympiad in
which 24 high schools participated.
Served as a reviewer for the IEEE Transaction on Parallel and Distributed Systems.
Served as a reviewer for the IEEE Transaction on Circuits and Systems.
Served as a reviewer for the International Journal of Information Science.
Served as a reviewer for promotion applications of three faculty members, University of
Applied Science and Muta University in Jordan.
Sabbatical Leave, Winter 2006: Conducted research on Fast RNS Converters Using
Multimoduli of the Form 2n-1.
Served on the Program Committee of the Wireless Telecommunication Symposiums 2004
2008, Pomona, California.
Served as a reviewer for several conferences.
Lectured at the Japanese Software Engineers Training Programs.
11. Scientific, professional and honor societies of which you are a member.
IEEE, IEEE Computer Society, and Computer Science Teachers Association.
12. Honors and awards.
Best Paper Award, The International Computer Science and Technology Conference, April 1
3, 2008, San Diego, CA.

Page 56 of 224
C3 CS 12/14/04

Dr. Salam Salloum

Professor

13. Courses taught this and last academic year term-by-term. This year is the academic year in
which this Self-Study report is prepared; the last year was the year prior to this. If you were
on sabbatical leave, please enter the information for the previous year. Please list each
section of the same course separately.

Fall 2006
Fall 2006
Fall 2006
Summer 2006
Summer 2006
Summer 2006
Winter 2007
Winter 2007
Spring 2007
Spring 2007
Summer 2007
Summer 2007
Summer 2007

Dept
Course
CS 210
CS 241
CS 435
CS 241
CS 365
CS 480
CS 241
CS 435
CS 435
CS 580
CS 240
CS 241
CS 480

Fall 2007

CS 264

Fall 2007
Fall 2007
Winter 2008

CS 463
CS 575
CS 210

Winter 2008

CS 264

Winter 2008
Spring 2008

CS 480
CS 210

Spring 2008

CS 264

Spring 2008

CS 435

Term/Year

Course Title
Computer Logic
Data Structures and Algorithms II
Database Systems
Data Structures and Algorithms II
Computer Architecture
Software Engineering
Data Structures and Algorithms II
Database Systems
Database Systems
Advanced Software Engineering
Data Structures and Algorithms I
Data Structures and Algorithms II
Software Engineering
Computer Organization and
Assembly Programming
Undergraduate Seminar
Topics in Database Systems
Computer Logic
Computer Organization and
Assembly Programming
Software Engineering
Computer Logic
Computer Organization and
Assembly Programming
Database Systems

Quarter
hours
4
4
4
4
4
4
4
4
4
4
4
4
4

Class
size
31
20
29
13
29
19
33
32
30
12
11
20
16

18

2
4
4

8
10
23

35

4
4

30
35

28

33

14. Other assigned duties performed during the academic year, with average hours per week.
Indicate which, if any, carry extra compensation. If you are course coordinator for courses
taught by other than full-time faculty, please indicate here which courses.

Page 57 of 224
C3 CS 12/14/04

Dr. Salam Salloum

Professor

15. Number of students for which you serve as academic advisor: 55


16. Estimate the percentage of your time devoted to scholarly and/or research activities: 25 %.
Please give a brief description of your major research and scholarly activities:
Research in the fields of algorithm design, software testing, high-speed computer arithmetic,
sorting networks, interconnection networks, and fault tolerant computing and routing.
17. If you are not a full-time faculty member, state what percentage of full-time you work:
100 %. Percentage of this time allocated to the computer science program being evaluated:
100 %.

Page 58 of 224
C3 CS 12/14/04

Dr. Daisy F. Sang

Professor

1. Name, current academic rank, and tenure status


Dr. Daisy F. Sang
Professor
Tenured
2. Date of original appointment to this faculty, followed by dates and ranks of advancement
Assistant Professor, Computer Science Department, 1990
Associate Professor, Computer Science Department, 1995
Professor, Computer Science Department, 2000
3. Degrees with fields, institutions, and dates
Degree
Ph.D.
M.S.
B.B.A.

Field
Computer Science
Computer Science
Business Administration

Institution
University of Texas at Dallas
University of Texas at Dallas
Tunghai University, Taiwan

Date
1990
1986
1983

4. If you do not have a formal degree in computer science, describe any course work you may
have taken, or other ways in which you have achieved competence in computer science;
there is no necessity to repeat information here which is contained in later sections of this
document.
N/A
5. Conferences, workshops, and professional development programs in which you have
participated in the last 5 years to improve teaching and professional competence in computer
science.
Adobe Presenter, Cal Poly, 2/6/08.
Introduction to Online Teaching and Blackboard Startup, Cal Poly, 2/1/08.
Advance STEM Doctoral Enhancement Faculty Retreat, Phoenix, Arizona, 1/18/08.
Department Colloquium (Software Infrastructure vs. Assembly Line), Cal Poly, 11/6/07.
Python Workshop at Chapman University, Orange, California, 6/1821/07.
JPL SIRI Spring presentations, Pasadena, California, 6/15/07.
Wireless Telecommunications Symposium, Cal Poly, 4/26/07.
The 15th International Conference on Software Engineering and Data Engineering, Los
Angeles, California, July 68, 2006.
College of Engineering Symposium Day, Cal Poly, 5/19/06.

Page 59 of 224
C3 CS 12/14/04

Dr. Daisy F. Sang

Professor

College of Science Undergraduate Research Symposium, Cal Poly, 5/12/06.


Microsoft Faculty Summer Summit, Seattle, Washington, 7/1819/05.
Department Colloquium (DreamWorks Animation), Cal Poly, 5/31/05.
College of Engineering Symposium Day, Cal Poly, 5/20/05.
Department Colloquium (Harvey Mudd summer REU program), Cal Poly, 2/4/05.
Wireless Telecommunications Symposium, Cal Poly, 5/1415/04.
Faculty Center workshop Enhancing educational environments through learning styles
awareness, Cal Poly, 1/20/04.
National Computational Science workshop, USC, Los Angeles, California, 1/9/04.
College of Science Ames Research Award seminar, Cal Poly, 12/4/03.
College of Science Teaching Excellent Award seminar, Cal Poly, 11/13/03.
Faculty Center workshop How people learn, Cal Poly, 10/22/03.
6. Other related computing experience including teaching, industrial, governmental, etc.
(Where, when, description and scope of duties)
198384 Systems Programmer, Honeywell Information Systems, Taiwan
198586 Lab Assistant, Computer Center, Dallas, Texas
1996 Instructor, team-teach the course Object Oriented Software Engineering at JPL,
Pasadena, California
199798 Instructor, Unix for Programmers, summer training program, Cal Poly
19972001 Instructor, Object Oriented Methodology, summer training program, Cal Poly
200206 Faculty Advisor, NASA PAIR project, Cal Poly
200607 Faculty Mentor, WEEA program, Cal Poly
2006present Faculty Sponsor, JPL SIRI program, Cal Poly
7. Consultinglist agencies and dates, and briefly describe each project.

8. Department, college and/or university committees of which you are a member.


Department: Curriculum, Graduate, and Search committees; Graduate Coordinator
College: NSF S-STEM scholarship program management team
University: Faculty Hearing committee

Page 60 of 224
C3 CS 12/14/04

Dr. Daisy F. Sang

Professor

9. Principal publications during the last five years. Give in standard bibliographic format.
S. Chen, D. Sang, C. Peng, Virtual Net: An Efficient Simulation for Parallel Computation,
International Journal of Modeling and Simulation, Volume 27, 2007.
Y. Xu, D. Sang, C. Peng, Design Patterns for Real-Time Distributed System, proceedings of
the 15th International Conference on Software Engineering and Data Engineering, Los
Angeles, California, July 68, 2006.
S. Phattarasukol, D. Sang, PatternStudio: A New Tool for Design Pattern Management, the
20th annual ACM SIGPLAN conference on Object-Oriented Programming, Systems,
Languages, and Applications, Demonstration Session, San Diego, October 1620, 2005.
Y. Xu, D. Sang, C. Peng, Logging Server: A Case Study with Design Patterns, proceedings of
the 4th annual ISOneWorld, Las Vegas, 3/304/1/2005.
S. Phattarasukol, D. Sang, Design Pattern Integrated Tool, the 19th annual ACM SIGPLAN
conference on Object-Oriented Programming, Systems, Languages, and Applications,
Poster Session, Vancouver, Canada, October 2428, 2004.
D. Chen, D. Sang, K. Tsai, Dynamic Rate Allocation in High Speed Networks, Proceedings of
the Hawaii International Conference on Computer Sciences, January 1518 2004.
10. Other scholarly activity during the last 5 years: grants, sabbaticals, software development,
etc.
Referee for the 3rd annual Wireless Telecommunications Symposium, 2004
Reviewed a Bachelor of Science in Software Engineering (BSSE) program proposal out of San
Jose State University for the Chancellors Office, 2004
Presidential Travel Funds, 2004, 2005, and 2008
New course developed: CS 299 Visual Basic, 2007
Sabbatical, Fall 2008
11. Scientific, professional and honor societies of which you are a member.
Member, Association for Computing Machinery (ACM)
Member, Chinese American Faculty Association (CAFA)
12. Honors and awards.
Distinguished Teaching Award by College of Science in 2003
Outstanding Computer Science Academic Advisor in 2007 and 2008

Page 61 of 224
C3 CS 12/14/04

Dr. Daisy F. Sang

Professor

13. Courses taught this and last academic year term-by-term. This year is the academic year in
which this Self-Study report is prepared; the last year was the year prior to this. If you were
on sabbatical leave, please enter the information for the previous year. Please list each
section of the same course separately.
Term/Year
Fall 2006
Fall 2006
Winter 2007
Winter 2007
Spring 2007
Spring 2007
Fall 2007
Fall 2007
Winter 2008
Winter 2008
Spring 2008
Spring 2008

Dept
Course
CS 311
CS 480
CS 531
CS 664
CS 450
CS 463
CS 299
CS 356
CS 411
CS 664
CS 256
CS 450

Course Title
Language Translation and Automata
Software Engineering
Computability and Complexity Theory
Graduate Seminar
Computability
Undergraduate Seminar
Special TopicsVisual Basic
Object-Oriented Design and Programming
Compilers and Interpreters
Graduate Seminar
C++ Programming
Computability

Quarter
hours
4
4
4
2
4
2
4
4
4
2
4
4

Class
size
33
27
6
9
26
12
19
41
33
11
33
16

14. Other assigned duties performed during the academic year, with average hours per week.
Indicate which, if any, carry extra compensation. If you are course coordinator for courses
taught by other than full-time faculty, please indicate here which courses.
Graduate Coordinator, 4 WTUs/quarter assigned time. Main responsibilities: Incoming and
ongoing student advising, recruitment, admissions, course planning and offering, student
progress review, and website maintenance, about 1012 hours/week.
15. Number of students for which you serve as academic advisor:
50 graduate students

25 undergraduate and

16. Estimate the percentage of your time devoted to scholarly and/or research activities: 20 %.
Please give a brief description of your major research and scholarly activities:
Research and scholarly activities in the areas of object-oriented design, software tools and
techniques, distributed computing, and embedding algorithms
Direct graduate students on their Masters theses
Supervise undergraduate projects including NASA PAIR senior project, JPL SIRI independent
research internship, and WEEA research apprenticeship
17. If you are not a full-time faculty member, state what percentage of full-time you work:
100 %. Percentage of this time allocated to the computer science program being evaluated:
100 %.

Page 62 of 224
C3 CS 12/14/04

Dr. Barry I. Soroka

Professor

1. Name, current academic rank, and tenure status


Dr. Barry I. Soroka
Professor
Tenured
2. Date of original appointment to this faculty, followed by dates and ranks of advancement
Associate Professor, Computer Science Department, 1987
Professor, Computer Science Department, 1993
3. Degrees with fields, institutions, and dates
Degree
Ph.D.
M.S.E.
B.A.

Field
Computer and Information Science
Computer and Information Science
Physics

Institution
University of Pennsylvania
University of Pennsylvania
Yale University

Date
1979
1976
1971

4. If you do not have a formal degree in computer science, describe any course work you may
have taken, or other ways in which you have achieved competence in computer science;
there is no necessity to repeat information here which is contained in later sections of this
document.
N/A
5. Conferences, workshops, and professional development programs in which you have
participated in the last 5 years to improve teaching and professional competence in computer
science.
2007 March. Attended the 38th SIGCSE Technical Symposium on Computer Science
Education, Covington KY, March 2007. Member of a panel, Assessing Computer Science
Programs: What Have We Learned?
2006 March. Attended the 37th SIGCSE Technical Symposium on Computer Science
Education, Houston TX.
2006 February. Visited with robot manufacturers. Medical Design & Manufacturing West,
Anaheim Convention Center.
2005 April. Attended the 8th CSU Regional Symposium on University Teaching. Pomona CA,
April 2005.
2005 February. Attended the 36th SIGCSE Technical Symposium on Computer Science
Education, St Louis MO.

Page 63 of 224
C3 CS 12/14/04

Dr. Barry I. Soroka

Professor

2004 March. Attended the 35th SIGCSE Technical Symposium on Computer Science
Education, Norfolk VA.
2003 February. Attended the 34th SIGCSE Technical Symposium on Computer Science
Education, Reno NV.
6. Other related computing experience including teaching, industrial, governmental, etc.
(Where, when, description and scope of duties)
Sabbatical Visitor, Electrical Department, Metropolitan Opera House, New York, NY,
January 1995 to June 1995. Studied their existing motion control systems. Designed a
human interface to join four disparate systems into one unified system.
Jet Propulsion Laboratory, NASA/ASEE Summer Faculty Fellow & Academic Part-Time
Employee, Summer 1988 to February 1990. Learned and documented a force-feedback
teleoperator system. Designed a new human interface for the system.
Assistant Professor, Electrical Engineering, University of Southern California, July 1981 to
August 1987. Brought robotics courses and equipment to USC.
Research Associate, Artificial Intelligence Lab, Computer Science Department, Stanford
University, May 1979 to June 1981. Co-supervised/co-managed the robotics project.
Visitor, Institut National de Recherches dInformatique et dAutomatique (INRIA), Paris,
France, Spring 1979. Extended my dissertation results.
Visiting Scientific Researcher, Institut Informatik, University of Hamburg, Germany,
Summer 1978. Implemented computer vision algorithms.
7. Consultinglist agencies and dates, and briefly describe each project.
Lockheed-California Company, Burbank, CA, 198486. Designed and implemented a
simulator for a multi-arm robot assembly system.
Saveriano & Associates, Carlsbad CA, 198384. Analyzed the market for robotics and
artificial intelligence.
General Electric Company, Industrial Electronics Development Laboratory, Charlottesville,
VA, 1983. Guided the design of a programming language for a commercial robot.
Hughes Research Laboratories, Malibu, CA, 1982. Analyzed the portability of ACRONYM, a
computer vision system developed at Stanford University.
Logistics Technology Inc, Torrance CA, 198183. Assessed the state of the art of robot
programming languages. Designed robot programming languages.
Various manufacturers of industrial robots, 198086. (Names confidential.) Designed robot
programming languages.

Page 64 of 224
C3 CS 12/14/04

Dr. Barry I. Soroka

Professor

8. Department, college and/or university committees of which you are a member.


Member, Academic Senate
Member, Scholarship Committee, Computer Science Department
Member, Curriculum Committee, Computer Science Department
Member, Outreach Committee, Computer Science Department
Chair, Tenure-Track Search Committee, Computer Science Department
Chair, Chair Search Committee, Computer Science Department
9. Principal publications during the last five years. Give in standard bibliographic format.
Science & Technology. Storage and Retrieval for Media Databases 2003. Santa Clara CA,
January 2003. With Steven P. Kerrick, Masters Student, Cal Poly Pomona.
Java 5: Objects First. Jones & Bartlett, 2006. ISBN 0763737208
10. Other scholarly activity during the last 5 years: grants, sabbaticals, software development,
etc.
Fall 2003 & Winter 2004. Sabbatical. Worked on my Java 5 book.
200607. Fellowship in Investigating Teaching and Learning (ITaL). Cal Poly Pomona
Faculty Center for Professional Development.
11. Scientific, professional and honor societies of which you are a member.
American Association for Artificial Intelligence (AAAI)
Association for Computing Machinery (ACM): SIGCSE & SIGART
Institute of Electrical and Electronics Engineers (IEEE): Computer Society; Robotics &
Automation Society
12. Honors and awards.
200607. Fellowship in Investigating Teaching and Learning (ITaL). Cal Poly Pomona
Faculty Center for Professional Development.
2007 April. Cal Poly Pomona 21st Annual Golden Leaves Award. For Cal Poly authors.

Page 65 of 224
C3 CS 12/14/04

Dr. Barry I. Soroka

Professor

13. Courses taught this and last academic year term-by-term. This year is the academic year in
which this Self-Study report is prepared; the last year was the year prior to this. If you were
on sabbatical leave, please enter the information for the previous year. Please list each
section of the same course separately.
Term/Year
Fall 2006
Fall 2006
Summer 2006
Summer 2006
Winter 2007
Winter 2007
Spring 2007
Summer 2007
Summer 2007
Fall 2007
Fall 2007
Winter 2008
Winter 2008
Spring 2008
Spring 2008

Dept
Course
CS 128
CS 140
CS 141
CS 420
CS 141
CS 245
CS 140
CS 141
CS 435
CS 140
CS 435
CS 141
CS 240
CS 240
CS 352

Course Title
Introduction to C++
Introduction to Computer Science
Introduction to Programming and Problem-Solving
Artificial Intelligence
Introduction to Programming and Problem-Solving
Programming Graphical User Interfaces
Introduction to Computer Science
Introduction to Programming and Problem-Solving
Database Systems
Introduction to Computer Science
Database Systems
Introduction to Programming and Problem-Solving
Data Structures and Algorithms I
Data Structures and Algorithms I
Symbolic Programming

Quarter Class
hours
size
4
35
4
29
4
9
4
25
4
31
4
33
4
18
4
11
4
27
4
35
4
25
4
30
4
16
4
32
4
35

14. Other assigned duties performed during the academic year, with average hours per week.
Indicate which, if any, carry extra compensation. If you are course coordinator for courses
taught by other than full-time faculty, please indicate here which courses.
Assessment/Accreditation Coordinator. This assignment comes with 4 WTUs/quarter assigned
time. Supervises assessment & accreditation activities. 10 hours/week.
15. Number of students for which you serve as academic advisor: 55
16. Estimate the percentage of your time devoted to scholarly and/or research activities: 10 %.
Please give a brief description of your major research and scholarly activities:
Factors which influence success in CS1. I have been gathering data from CS 140 classes, and I
hope to find time to analyze this data and prepare a paper on my findings.
17. If you are not a full-time faculty member, state what percentage of full-time you work:
100 %. Percentage of this time allocated to the computer science program being evaluated:
100 %.

Page 66 of 224
C3 CS 12/14/04

Dr. Daisy Tang

Assistant Professor

1. Name, current academic rank, and tenure status


Dr. Daisy Tang
Assistant Professor
Tenure-Track (Untenured)
2. Date of original appointment to this faculty, followed by dates and ranks of advancement
Assistant Professor, Computer Science Department, 2006
3. Degrees with fields, institutions, and dates
Degree
Ph.D.
M.S.
B.S.

Field
Computer Science
Computer Science
Computer Science

Institution
University of Tennessee, Knoxville
University of Tennessee, Knoxville
Sichuan University, Chengdu, China

Date
2006
2003
2000

4. If you do not have a formal degree in computer science, describe any course work you may
have taken, or other ways in which you have achieved competence in computer science;
there is no necessity to repeat information here which is contained in later sections of this
document.
N/A
5. Conferences, workshops, and professional development programs in which you have
participated in the last 5 years to improve teaching and professional competence in computer
science.
Conferences/Workshops/Symposium
AAAI Spring Symposium: Using AI to Motivate Greater Participation in CS, 2008.
AAAI Spring Symposium: Robots and Education, 2007.
AAAI Workshop: Auction Mechanisms for Robot Coordination, 2006.
AAAI Spring Symposium: To Boldly Go Where No Human-Robot Team Has Gone Before,
2006.
IEEE/RSJ International Conference on Intelligent Robots and Systems, 2005.
IEEE International Conference on Advanced Robotics, 2005.

Page 67 of 224
C3 CS 12/14/04

Dr. Daisy Tang

Assistant Professor

Professional Development Programs


Provosts Teacher-Scholar Program, Cal Poly Pomona, 200708.
Book Reading Circle on Learning and Motivation in the Postsecondary Classroom, Cal Poly
Pomona, 2007.
Grant Writing Short Course, Cal Poly Pomona, 2007.
Best Practices in Teaching Program, University of Tennessee, 200506.
Reviewer for Publications
Associate Editor, IEEE/RSJ Intl. Conference on Intelligent Robots and Systems, 2007.
Reviewer, IEEE Transactions on Robotics, 2004, 2005.
Reviewer, International Journal of Control, Automation, and Systems, 2005.
Reviewer, IEEE/RSJ Intl. Conference on Intelligent Robots and Systems, 2005, 2006, 2008.
Reviewer, IEEE International Conference on Robotics and Automation, 2006.
Reviewer, Annual Conference of the IEEE Industrial Electronics Society, 2008.
6. Other related computing experience including teaching, industrial, governmental, etc.
(Where, when, description and scope of duties)

7. Consultinglist agencies and dates, and briefly describe each project.

8. Department, college and/or university committees of which you are a member.


Department Curriculum and Outreach Committee, Fall 2006 to present
College Presidential Travel Fund and College Budget Committee, Fall 2007 to present

Page 68 of 224
C3 CS 12/14/04

Dr. Daisy Tang

Assistant Professor

9. Principal publications during the last five years. Give in standard bibliographic format.
F. Tang and S. Saha, An Anytime Winner Determination Algorithm for Time-Extended
Multi-Robot Task Allocation, to appear in Proceedings of International Conference on
Automation, Robotics and Control Systems, 2008.
F. Tang, R. W. Kerbs and G. S. Young, Improving CS Student Retention with Intelligent
Agents, Proceedings of the AAAI Spring Symposium on Using AI to Motivate Greater
Participation in Computer Science, 2008.
F. Tang and L. E. Parker, A Complete Methodology for Generating Multi-Robot Task
Solutions using ASyMTRe-D and Market-Based Task Allocation, Proceedings of IEEE
International Conference on Robotics and Automation, 2007.
F. Tang, Enhance Students' Hands-On Experience With Robotics, Proceedings of the AAAI
Spring Symposium on Robots in Education, 2007.
L. E. Parker and F. Tang, Building Multi-Robot Coalitions through Automated Task Solution
Synthesis, Proceedings of the IEEE, special issue on Multi-Robot Systems, 2006.
F. Tang and L. E. Parker, Layering Coalition Formation With Task Allocation, Proceedings
of the AAAI Workshop: Auction Mechanisms for Robot Coordination, 2006.
F. Tang and L. E. Parker, Automated Human-Robot Teaming through Reconfigurable
Schemas, Proceedings of the AAAI Spring Symposium: To Boldly Go Where No HumanRobot Team Has Gone Before, 2006.
F. Tang and L. E. Parker, Distributed Multi-Robot Coalitions through ASyMTRe-D,
Proceedings of IEEE/RSJ International Conference on Intelligent Robots and Systems,
2005.
F. Tang and L. E. Parker, Coalescing Multi-Robot Teams through ASyMTRe: A Formal
Analysis, Proceedings of IEEE International Conference on Advanced Robotics, 2005.
F. Tang and L. E. Parker, ASyMTRe: Automated Synthesis of Multi-Robot Task Solutions
through Software Reconfiguration, Proceedings of IEEE International Conference on
Robotics and Automation, 2005.

Page 69 of 224
C3 CS 12/14/04

Dr. Daisy Tang

Assistant Professor

10. Other scholarly activity during the last 5 years: grants, sabbaticals, software development,
etc.
College of Science Quality Learning Fund, Integrate Low-Cost Robots into Classroom to
Enhance Learning, College of Science, Cal Poly Pomona, Amount: $7499.5, 2007 to
2008.
Mini-Grant, Study of USARSim for Human-Robot Cooperation, Faculty Center for
Professional Development, Cal Poly Pomona, Amount: $1104.8, 2007 to 2008.
Presidential Travel Fund, Cal Poly Pomona, 2007 and 2008.
Summer Fellowship, Synthesizing Solution For Multi-Robot Applications, Research,
Scholarship, and Creative Activity Program at Cal Poly Pomona, Amount: $5000.0, 2007.
Mini-Grant, Enhance Students Hands-On Experience With Robotics, Faculty Center for
Professional Development, Cal Poly Pomona, Amount: $1108.0, 2006 to 2007.
Mentor for WEEA (Women Equity Education Act), supported by Department of Education
grant, since 2006.
11. Scientific, professional and honor societies of which you are a member.
Association for the Advancement of Artificial Intelligence (AAAI)
Association for Computing Machinery (ACM)
Upsilon Pi Epsilon International Honor Society for the Computing and Information Disciplines
(UPE)
12. Honors and awards.
Provosts Teacher-Scholar Recipient, Cal Poly Pomona (2007 to 2008)
Graduate Student Travel Scholarship for AAAI Spring Symposium (2006)
Upsilon Pi Epsilon International Honor Society for the Computing Sciences (2004)
Graduate Student Travel Award, The University of Tennessee (2003 and 2006)

Page 70 of 224
C3 CS 12/14/04

Dr. Daisy Tang

Assistant Professor

13. Courses taught this and last academic year term-by-term. This year is the academic year in
which this Self-Study report is prepared; the last year was the year prior to this. If you were
on sabbatical leave, please enter the information for the previous year. Please list each
section of the same course separately.
Term/Year
Fall 2006
Fall 2006
Winter 2007
Spring 2007
Spring 2007
Fall 2007
Fall 2007
Winter 2008
Winter 2008
Spring 2008
Spring 2008
Spring 2008

Dept
Course
CS 128
CS 130
CS 240
CS 130
CS 299
CS 240
CS 420
CS 299
CS 521
CS 420
CS 463
CS 525

Course Title
Introduction to C++
Discrete Structures
Data Structures and Algorithms I
Discrete Structures
Special TopicsWeb Programming and Design
Data Structures and Algorithms I
Artificial Intelligence
Special TopicsWeb Programming and Design
Robotics
Artificial Intelligence
Undergraduate Seminar
Advanced Computer Architecture

Quarter
hours
4
4
4
4
4
4
4
4
4
4
2
4

Class
size
36
33
28
26
44
32
35
29
25
37
15
16

14. Other assigned duties performed during the academic year, with average hours per week.
Indicate which, if any, carry extra compensation. If you are course coordinator for courses
taught by other than full-time faculty, please indicate here which courses.

15. Number of students for which you serve as academic advisor: 55


16. Estimate the percentage of your time devoted to scholarly and/or research activities: 30 %.
Please give a brief description of your major research and scholarly activities:
Major activities include advising graduate/undergraduate students on research projects; grant
proposal writing; paper writing; and attending professional conferences.
17. If you are not a full-time faculty member, state what percentage of full-time you work:
100 %. Percentage of this time allocated to the computer science program being evaluated:
100 %.

Page 71 of 224
C3 CS 12/14/04

Dr. Lan Yang

Professor

1. Name, current academic rank, and tenure status


Dr. Lan Yang
Professor
Tenured
2. Date of original appointment to this faculty, followed by dates and ranks of advancement
Assistant Professor, Computer Science Department, 1990
Associate Professor, Computer Science Department, 1996
Professor, Computer Science Department, 2000
3. Degrees with fields, institutions, and dates
Degree
Ph.D.
M.S.
B.S.

Field
Computer Science
Computer Science
Computer Science

Institution
Shanghai Jiao Tong University, China
Shanghai Jiao Tong University, China
Shanghai Jiao Tong University, China

Date
1988
1986
1983

4. If you do not have a formal degree in computer science, describe any course work you may
have taken, or other ways in which you have achieved competence in computer science;
there is no necessity to repeat information here which is contained in later sections of this
document.
N/A
5. Conferences, workshops, and professional development programs in which you have
participated in the last 5 years to improve teaching and professional competence in computer
science.
Summer Computer Simulation Conference (SCSC'07), San Diego, California, July 2007.
4th ACIS International Conference on Software Engineering Research, Management &
Applications (SERA 2006), Seattle, Washington, August 2006.
7th ACIS International Conference on Software Engineering, Artificial Intelligence,
Networking, Parallel/Distributed Computing (SPND 2006), Las Vegas, NV, June,2006.
International Conference on Communications in Computing, Las Vegas, NV, June 2005.
5th World Congress on Intelligent Control and Automation, June 2004, Hangzhou, China.
IEEE Computer Communications Workshop (CCW'03), Dana Point, CA, October 2003.
International Conference on Wireless Networks (ICWN'03), Las Vegas, NV, June 2003.
Attended about a dozen of Cal Poly Pomona E-learning workshops.
Arizona State University and Cal Poly Pomona ADVANCE program retreat, Phoenix,
Arizona, January 2008.
Reviewed a number of technical papers as well as book chapters.

Page 72 of 224
C3 CS 12/14/04

Dr. Lan Yang

Professor

6. Other related computing experience including teaching, industrial, governmental, etc.


(Where, when, description and scope of duties)

7. Consultinglist agencies and dates, and briefly describe each project.

8. Department, college and/or university committees of which you are a member.


University: Faculty development advisory committee
College: Disqualification appeals committee
Department: RTP, Curriculum and Outreach committees
9. Principal publications during the last five years. Give in standard bibliographic format.
L. Yang, P. Sutinrerk, Mirrored Arbiter Architecture: A network Architecture for Large Scale
Multiplayer Games. Proceedings of the 2007 Summer Computer Simulation Conference
(SCSC'07), San Diego, California, July 1518, 2007, pp. 709716.
P. Vasudeva, L. Yang, A Rule-based Security Engine for XML Web Services, 4th ACIS
International Conference on Software Engineering Research, Management & Applications
(SERA 2006), Seattle, Washington, August 911, 2006.
H. Ma, L. Yang, Improvement of Object Serialization in Java Remote Method Invocation,
Proceedings of 7th ACIS International Conference on Software Engineering, Artificial
Intelligence, Networking, Parallel/Distributed Computing (SPND 2006), pp. 3540, Las
Vegas, NV., June 1920, 2006.
L. Yang, L. Hu, W. Tsai, J. Ros, A New Server Bypass Architecture to Increase Storage
Traffic Bandwidth, Proceedings of the 2005 International Conference on Communications
in Computing, Las Vegas, Nevada, June 2005, pp. 3134.
L. Li, L. Yang, Automatic Schema Matching for Data Warehousing, Proceedings of the 5th
World Congress on Intelligent Control and Automation, pp. 39393943, June 1519,
2004, Hangzhou, China.
X. Fu, L. Yang, Improvement to HOME-based Internet Web Caching Protocol, Proceedings of
2003 IEEE Computer Communications Workshop (CCW'03), Dana Point, California,
October 2003, pp. 159165.
T. Jang, L. Yang, Investigation of A Polling MAC for Wireless LANs, Proceedings of the
International Conference on Wireless Networks (ICWN'03), Las Vegas, Nevada,
June 2003, pp. 465471.

Page 73 of 224
C3 CS 12/14/04

Dr. Lan Yang

Professor

10. Other scholarly activity during the last 5 years: grants, sabbaticals, software development,
etc.
Sabbatical, Fall 2005
Grants, (1) A number of Presidential Travel Funds, Cal Poly Pomona, and (2) mini-grants
from Cal Poly Pomona faculty development center and I&IT.
Mentor, WEEA (Women Equity Education Act), supported by a Dept. of Education grant.
11. Scientific, professional and honor societies of which you are a member.
Member of Chinese Scholar Association, also a member of its Science and Engineering
Committee.
12. Honors and awards.

13. Courses taught this and last academic year term-by-term. This year is the academic year in
which this Self-Study report is prepared; the last year was the year prior to this. If you were
on sabbatical leave, please enter the information for the previous year. Please list each
section of the same course separately.

Fall 2006
Summer 2006
Winter 2007
Winter 2007
Spring 2007
Summer 2007
Fall 2007
Winter 2008
Winter 2008
Winter 2008

Dept
Course
CS 463
CS 311
CS 365
CS 463
CS 525
CS 463
CS 365
CS 130
CS 365
CS 463

Winter 2008

SCI 102

Winter 2008

SCI 102A

Spring 2008
Spring 2008
Spring 2008

CS 365
CS 463
CS 535

Term/Year

Course Title
Undergraduate Seminar
Language Translation and Automata
Computer Architecture
Undergraduate Seminar
Advanced Computer Architecture
Undergraduate Seminar
Computer Architecture
Discrete Structures
Computer Architecture
Undergraduate Seminar
Science and Mathematics:
Freshman Experience II
Science and Mathematics:
Freshman Experience II
Computer Architecture
Undergraduate Seminar
Parallel and Distributed Algorithms

Quarter
hours
2
4
4
2
4
2
4
4
4
2

Class
size
9
19
38
18
15
13
34
28
23
14

27

27

4
2
4

24
11
20

Page 74 of 224
C3 CS 12/14/04

Dr. Lan Yang

Professor

14. Other assigned duties performed during the academic year, with average hours per week.
Indicate which, if any, carry extra compensation. If you are course coordinator for courses
taught by other than full-time faculty, please indicate here which courses.
Spring 2008, 2 WTUs WEEA mentoring programDept. of Education research grant.
Average 2 hours per week across the academic year.
Fall 2006Fall 2007, Department Chair. Average 30 hours per week.
15. Number of students for which you serve as academic advisor: 55
16. Estimate the percentage of your time devoted to scholarly and/or research activities: 10 %.
Please give a brief description of your major research and scholarly activities:
Advising graduate students; mentoring undergraduate student research projects including
senior projects and WEEA research apprenticeship.
17. If you are not a full-time faculty member, state what percentage of full-time you work:
100 %. Percentage of this time allocated to the computer science program being evaluated:
100 %.

Page 75 of 224
C3 CS 12/14/04

Dr. Gilbert Young

Professor

1. Name, current academic rank, and tenure status


Dr. Gilbert Young
Professor
Tenured
2. Date of original appointment to this faculty, followed by dates and ranks of advancement
Associate Professor, Computer science Department, 2001
Professor, Computer Science Department, 2005
3. Degrees with fields, institutions, and dates
Degree
Ph.D.
M.S.
B.S.

Field
Computer Science
Computer Science
Computer Science

Institution
The University of Texas at Dallas
The University of Texas at Dallas
University of Oklahoma

Date
1989
1986
1984

4. If you do not have a formal degree in computer science, describe any course work you may
have taken, or other ways in which you have achieved competence in computer science;
there is no necessity to repeat information here which is contained in later sections of this
document.
N/A
5. Conferences, workshops, and professional development programs in which you have
participated in the last 5 years to improve teaching and professional competence in computer
science.
The 2008 Wireless Telecommunications Symposium, Cal Poly, April, 2008.
The 2007 International Conference on Parallel and Distributed Processing Techniques and
Applications, Nevada, June, 2007.
The 2006 conference of Mathematical Foundations of Learning Theory, Paris, France,
June 2006.
The Eighth CSU Regional Symposium on University Teaching, Pomona, CA, April 2005.
The 2005 International MultiConference in Computer Science & Computer Engineering.
The 2005 Wireless Telecommunications Symposium, Cal Poly, April 2005.
Nevada, June 2005.
Lily West Conference on College & University Teaching, Cal Poly, March 2004.

Page 76 of 224
C3 CS 12/14/04

Dr. Gilbert Young

Professor

The 2004 Wireless Telecommunications Symposium, Cal Poly, May 2004.


The 2004 International Conference on Parallel and Distributed Processing Techniques and
Applications, Nevada, June 2004.
The 2003 International Conference on Parallel and Distributed Processing Techniques and
Applications, Nevada, June 2003.
Certificate of Completion, Introduction to CMMI (Capability Maturity Model Integration),
Staged Representation, V1.1, Carnegie Mellon Software Engineering Institute, June 2004.
6. Other related computing experience including teaching, industrial, governmental, etc.
(Where, when, description and scope of duties)
200508
200105

Professor, Department of Computer Science, Cal Poly Pomona.


Associate Professor, Department of Computer Science, Cal Poly Pomona.

7. Consultinglist agencies and dates, and briefly describe each project.

8. Department, college and/or university committees of which you are a member.


Member, Department Curriculum Committee
Member, Department Laboratory Committee
Member, Department Scholarship Committee
Member, Department RTP Committee
Chair, Department Laboratory Committee
Chair, Department RTP Committee
Member, Faculty Representative of University Faculty Staff Affairs Committee

Page 77 of 224
C3 CS 12/14/04

Dr. Gilbert Young

Professor

9. Principal publications during the last five years. Give in standard bibliographic format.
F. Tang, R. Kerbs and G. Young, Improving CS Student Retention with Intelligent Agents,
Proceedings of the AAAI Spring Symposium, 2008, California.
T. Lee and G. Young, Multipath Routing in Reconfigurable Free Space Optics Networks,
Proceedings of the 2007 International Conference on Parallel and Distributed Processing
Techniques and Applications, pp. 817821, June 2007, Nevada.
G. Young, B. Cong and P. Ng, Large Scale Linear and Mesh Network of PCs connected by
SCSI, Journal of Combinatorial Mathematics and Combinatorial Computing, Vol. 56,
2006.
K. Ho, J. Sum and G. Young, Pricing Web Services, Lecture Notes in Computer Science
3947 (Proceedings of the 2006 International Conference on Grid and Pervasive
Computing), Springer-Verlag, pp. 147156, May 2006.
J. Sum, K. Ho, C. Ng, C. Wong and G. Young, Analysis on the Session Life Time
Distribution of Gnutella, Proceedings of the 2005 International Conference on Parallel
and Distributed Processing Techniques and Applications, Vol. III, Nevada, pp 12061211,
June 2005.
T. Lee and G. Young, Routing in Reconfigurable Free Space Optics Network, Proceedings of
the 2004 International Conference on Parallel and Distributed Processing Techniques and
Applications, Nevada, pp. 946952, June 2004.
J. Sum, M. Li, C. Ng, T. Wong and G. Young, A study of the Connectedness of Gnutella,
Proceedings of the 2004 International Conference on Parallel and Distributed Processing
Techniques and Applications, Nevada, pp. 960966, June 2004.
Book Chapter: G. Young, Chapter 37: Routing Real-Time Messages on Network, in
Handbook of Scheduling: Algorithms, Models, and Performance Analysis, J. Leung, ed.,
CRC Press, 42 pp., ISBN: 1584883979, 2004.
C. Leung, J. Sum, H. Shen, J. Wu and G. Young, Analysis and Design of an Agent Searching
Algorithm for e-Marketplaces, Cluster Computing, Vol. 7, pp. 8590, 2004.
S. Lau, G. Young, W. Kan and Y. Wu, On Open-ends Bin Packing Problem, Journal of
Combinatorial Mathematics and Combinatorial Computing, Vol. 44, pp. 39, 2003.
S. Lau, G. Young, W. Kan and Y. Wu, On-Line Open-end Bin Packing, Journal of
Combinatorial Mathematics and Combinatorial Computing, Vol. 44, pp. 129144, 2003.
J. Sum, H. Shen, G. Young, J. Wu, C. Leung, Analysis on Extended Ant routing Algorithms
for Network Routing and Management, Journal of Supercomputing, Volume 24, Issue 3,
pp. 327340, 2003.
J. Sum, H. Shen, C. Leung and G. Young, Analysis on a Mobile Agent Based Algorithm for
Network Routing and Management, IEEE Transactions on Parallel and Distributed
Systems, Volume 14, Issue 3, pp. 193202, 2003.

Page 78 of 224
C3 CS 12/14/04

Dr. Gilbert Young

Professor

10. Other scholarly activity during the last 5 years: grants, sabbaticals, software development,
etc.
NSF Grant EIA-0321333 (with Kuang, Jiang, Livesay, Park and Raheja), Acquisition of a
Network of Workstations for Research in Parallel and Distributed Computing, 8/2003
7/2005. (Awarded Amount: $159,658.00).
Lottery Grant, Computer Science Network Laboratory, 1/200312/2003. (Awarded Amount:
$42,300.00).
Quality Learning Fund, 200708.
Presidents Travel Fund, 200304, 200405, 200506, 200607, 200708.
Faculty Development Grant, 200304, 200506, 200607, 200708.
Early Career Faculty Learning Community Award, 200304.
Editorial Broad Members of the Journal of Supercomputing, Kluwer Academic Publishers.
Editorial Broad Members of the International Journal of High Performance Computing and
Networking, Inderscience Publishers.
Served as a program committee member for several international conferences.
Served as a reviewer for several journals.
Served as a reviewer for several international conferences.
Lectured at CSU Fullerton, California Lutheran University and National Chung Hsing
University of Taiwan.
New course developed: CS 599 Scheduling Algorithms, 2004.
Sabbatical, Spring 2006.
11. Scientific, professional and honor societies of which you are a member.
Member, Association for Computing Machinery (ACM).
Senior Member, Institute of Electrical and Electronic Engineers (IEEE) Computer Society.
Member, Upsilon Pi Epsilon honor society (UPE).
12. Honors and awards.
Achievement Award, presented by World Academy of Science (WAS), in recognition of
Research Contributions to the Field of Parallel and Distributed Computing and to the 2003
International MultiConference in Science and Computer Engineering, Las Vegas, June 2003.

Page 79 of 224
C3 CS 12/14/04

Dr. Gilbert Young

Professor

13. Courses taught this and last academic year term-by-term. This year is the academic year in
which this Self-Study report is prepared; the last year was the year prior to this. If you were
on sabbatical leave, please enter the information for the previous year. Please list each
section of the same course separately.
Term/Year
Fall 2006
Fall 2006
Fall 2006
Spring 2007
Spring 2007
Spring 2007
Spring 2007
Summer 2007
Summer 2007
Summer 2007
Fall 2007
Fall 2007
Spring 2008
Spring 2008
Spring 2008

Dept
Course
CS 370
CS 380
CS 463
CS 130
CS 140
CS 463
CS 463
CS 210
CS 380
CS 431
CS 380
CS 530
CS 140
CS 331
CS 380

Course Title
Parallel Processing
Computer Networks
Undergraduate Seminar
Discrete Structures
Introduction to Computer Science
Undergraduate Seminar
Undergraduate Seminar
Computer Logic
Computer Networks
Operating Systems
Computer Networks
Advanced Algorithm Design and Analysis
Introduction to Computer Science
Design and Analysis of Algorithms
Computer Networks

Quarter
hours
4
4
2
4
4
2
2
4
4
4
4
4
4
4
4

Class
size
27
36
13
23
28
15
15
11
31
15
18
16
35
32
35

14. Other assigned duties performed during the academic year, with average hours per week.
Indicate which, if any, carry extra compensation. If you are course coordinator for courses
taught by other than full-time faculty, please indicate here which courses.

15. Number of students for which you serve as academic advisor: 55


16. Estimate the percentage of your time devoted to scholarly and/or research activities: 25 %.
Please give a brief description of your major research and scholarly activities:
Conduct research and scholarly activities in the following areas: parallel and distributed
systems, computer networks, internet computing and scheduling.
17. If you are not a full-time faculty member, state what percentage of full-time you work:
100 %. Percentage of this time allocated to the computer science program being evaluated:
100 %.

Page 80 of 224
C3 CS 12/14/04

IV. Curriculum
Intent: The curriculum is consistent with the program's documented objectives. It combines
technical requirements with general education requirements and electives to prepare
students for a professional career in the computer field, for further study in computer
science, and for functioning in modern society. The technical requirements include upto-date coverage of basic and advanced topics in computer science as well as an
emphasis on science and mathematics.
(Curriculum standards are specified in terms of semester hours of study. Thirty semester hours
generally constitutes one year of full-time study and is equivalent to 45 quarter hours. A course
or a specific part of a course can only be applied toward one standard.)
A. Title of Degree Program
Give the title of the degree program under review, as specified on the transcript and diploma.
Transcript:
Diploma:

Bachelor of Science, Computer Science


Bachelor of Science, Computer Science

B. Credit Hour Definition


One semester hour normally means one hour of lecture or three hours of laboratory per week.
One academic year normally represents from twenty-eight to thirty weeks of classes, exclusive of
final examinations. Please describe below if your definitions differ from these.
We are on a typical quarter system, in which a quarter credit hour (or unit) represents one hour
of lecture per week. Our academic year consists of three 10-week quarters; an eleventh week
of each quarter is used for final exams. We also offer summer courses in either a 5-week or
10-week format, each having the same total number of lecture hours.

Page 81 of 224
C3 CS 12/14/04

C. Prerequisite Flow Chart


Attach a flow chart showing the prerequisite structure of computer science courses required or
allowed towards the major.

Page 82 of 224
C3 CS 12/14/04

D. Course Requirements of Curriculum (term by term and year by year)


1. Required and elective courses. In the tables on the following pages, list the courses in the
order in which they are normally taken in the curriculum, classified in the appropriate categories.
The data should clearly indicate how the program meets the Intent of the Curriculum Category of
the Criteria for Accrediting Computer Science Programs. These tables are designed for a
semester calendar; they may be easily altered for a quarter calendar.
2. Required courses. List courses by department abbreviation (Math, Chem, CS, etc.), number,
title, and number of quarter hours. Apportion the quarter hours for each course by category.
3. Elective courses. Designate these courses elective. If an elective is restricted to a particular
category, then tabulate the quarter hours in that category and indicate the category in the listing,
e.g. electivescience. In addition, be sure that you have supplied information elsewhere in
this document indicating how you ensure that students take the course in the specified category
(e. g. advisement, graduation check sheets, etc.). For free electives (i.e., those not restricted to a
particular category), list the quarter hours under the heading Other. Use footnotes for any
listings that require further elaboration.
4. Individual courses may be split between or among curriculum areas if the course content
justifies the split. For example, a discrete mathematics course may have some of its quarter hours
under mathematics and some under computer science. In such cases, assign quarter hours to
categories in multiples of one-half quarter hour.

Page 83 of 224
C3 CS 12/14/04

Curriculum coverage (freshman and sophomore year) by category:

First
Quarter
Freshman
Year
Second
Quarter
Freshman
Year
Third
Quarter
Freshman
Year
First
Quarter
Sophomore
Year
Second
Quarter
Sophomore
Year

Third
Quarter
Sophomore
Year
Subtotals

CS 140
MAT 114
ENG 104

CS 141
CS 130
MAT 115
G. E.
CS 210
CS 240
MAT 116
BIO 110
BIO 111L
CS 241
MAT 214
PHY 131
PHY 131L
G. E.
CS 264
MAT 208
PHY 132
PHY 132L
PLS 201
CS 256
CS 311
STA 326
PHY 133
PHY 133L

Introduction to Computer Science


Analytic Geometry and Calculus I
Freshman English

Introduction to Programming and


Problem-Solving
Discrete Structures
Analytic Geometry and Calculus II

Other

General Ed.

Science

Course Title

Mathematics

Dept
Number

CS Advanced

Year
Quarter

CS Core

Category (quarter hours)

4
4
4

4
4
4
4

Computer Logic
Data Structures and Algorithms I
Analytic Geometry and Calculus III
Life Science
Life Science Laboratory
Data Structures and Algorithms II
Calculus of Several Variables
General Physics
General Physics Laboratory

4
4
4
3
1
4
3
3
1
4

Computer Organization and


Assembly Programming
Introduction to Linear Algebra
General Physics
General Physics Laboratory
Introduction to American Government
C++ Programming
Language Translation and Automata
Statistical Methods for Computer
Scientists
General Physics
General Physics Laboratory
91 quarter hours

4
4
3
1
4
4
4
4

28

27

3
1
16

16

Page 84 of 224
C3 CS 12/14/04

Curriculum coverage (junior and senior year) by category:

CS 331
CS Elect.
HST 202
G. E.

Design and Analysis of Algorithms

Second
Quarter
Junior
Year

CS 301
CS 365
G. E.
G. E.

Numerical Methods
Computer Architecture

Third
Quarter
Junior
Year

CS 380
CS 408
G. E.
G. E.

Computer Networks
Programming Languages

First
Quarter
Senior
Year

CS 420
CS 435
CS 375
G. E.

Artificial Intelligence
Database Systems
Computers and Society

4
4

Second
Quarter
Senior
Year

CS 480
CS Elect.
G. E.
G. E.

Software Engineering

4
4

CS 431
CS Elect.
CS 463

Operating Systems

Third
Quarter
Senior
Year
Subtotals
Totals

Other

First
Quarter
Junior
Year

Course Title

General Ed.

Dept
Number

Science

Year
Quarter

Mathematics

CS Advanced

CS Core

Category (quarter hours)

4
4

United States History

4
4
2
4

2
4
4

4
4
4
4

4
4

4
4

Undergraduate Seminar

4
3
2

89 quarter hours
180 quarter hours

47
51

28

2
29

16

40
56

Page 85 of 224
C3 CS 12/14/04

Required CS coverage by area:

CS 210
CS 240
CS 241
CS 256
CS 264
CS 301
CS 311
CS 331
CS 365
CS 380
CS 408
CS 420
CS 431
CS 435
CS 463
CS 480
Total

1
2

2
1
1
1

2
2
1

0.5
1

1
0.5
1

0.5

0.5

0.5

1
1
4

0.5

1
2

1
18

1.5
1

1.5

10

Architecture

1
1

Data
Structures

Prog.
Languages

CS 141

Discrete Structures
Introduction to Computer Science
Introduction to Programming and
Problem-Solving
Computer Logic
Data Structures and Algorithms I
Data Structures and Algorithms II
C++ Programming
Computer Organization and
Assembly Programming
Numerical Methods
Language Translation and Automata
Design and Analysis of Algorithms
Computer Architecture
Computer Networks
Programming Languages
Artificial Intelligence
Operating Systems
Database Systems
Undergraduate Seminar (2)
Software Engineering

Software
Design

CS 130
CS 140

Course Title

Algorithms

Dept Number

Theoretical
Foundations

Area (quarter hours)

0.5
3

1
1
1
1
1

2
12.5

1
12.5

4
0.5

1
1

10

Elective CS coverage:
In addition to the above required CS courses, students must take at least 11 units (3 courses) of
CS electives, at least 8 units (2 courses) of which come from the following list:
CS 245
CS 352
CS 356
CS 370
CS 411
CS 445
CS 450
CS 460
CS 490
CS 499

Programming Graphical User Interfaces


Symbolic Programming
Object-Oriented Design and Programming
Parallel Processing
Compilers and Interpreters
Computer Graphics
Computability
Secure Communication
Honors
Special Topics

Page 86 of 224
C3 CS 12/14/04

General
Standard IV-1. The curriculum must include at least 40 semester hours of up-to-date study in
computer science topics.
1. If it is not obvious from the above tables that the curriculum includes at least 40 semester
hours (60 quarter hours) of computer science topics, please explain.
As shown in the above tables, there are 28 (CS Core) + 51 (CS Advanced) = 79 quarter hours
of computer science topics in the curriculum.
Standard IV-2. The curriculum must contain at least 30 semester hours of study in mathematics
and science as specified below under Mathematics and Science.
2. If it is not obvious from the above tables that the curriculum includes at least 30 semester
hours (45 quarter hours) of study in mathematics and science, please explain.
As shown in the above tables, there are 29 (Mathematics) + 16 (Science) = 45 quarter hours of
study in mathematics and science.
Standard IV-3. The curriculum must include at least 30 semester hours of study in humanities,
social sciences, arts and other disciplines that serve to broaden the background of the
student.
3. If it is not obvious from the above tables that the curriculum includes at least 30 semester
hours (45 quarter hours) of study in humanities, social sciences, arts, and other disciplines
that serve to broaden the background of the student, please explain.
As shown in the above tables, there are 56 (General Ed.) quarter hours of humanities, social
sciences, arts, and other disciplines.

Page 87 of 224
C3 CS 12/14/04

Standard IV-4. The curriculum must be consistent with the documented objectives of the
program.
Describe the consistency between the documented objectives of the program and the curriculum.
How does the curriculum contribute to the achievement of the documented objectives?
The curriculum supports the Educational Objectives of the program:
EO1
EO2
EO3
EO4
EO5
EO6

A solid foundation in the fundamental areas of Computer Science.


A good grasp of both hardware and software aspects of computer systems.
A balance between theoretical and practical aspects of computing.
Incorporation of campus Learn by Doing philosophy into all aspects of program.
Awareness of discipline-related ethics and social responsibility issues.
Training as a software professional and preparation for lifelong learning.

The curriculum also supports our desired Program Outcomes:


PO1
PO2
PO3
PO4
PO5

Proficiency in algorithms, data structures, software design, programming language


concepts and computer architecture.
Proficiency in theoretical foundations of computing, problem analysis and solution
design.
Proficiency in one or more modern programming languages.
Proficiency in oral and written communication.
Understanding of social and ethical issues in computing.

Computer Science
Standard IV-5. All students must take a broad-based core of fundamental computer science
material consisting of at least 16 semester hours.
4. If it is not obvious from the above tables that the curriculum includes a broad-based core of
fundamental computer science material consisting of at least 16 semester hours (24 quarter
hours), please explain.
As shown in the above tables, there are 28 (CS Core) quarter hours of fundamental computer
science material.

Page 88 of 224
C3 CS 12/14/04

Standard IV-6. The core materials must provide basic coverage of algorithms, data structures,
software design, concepts of programming languages and computer organization and
architecture.
5. The core materials must provide basic coverage of the following areas. Please indicate below
the approximate number of quarter hours in the core devoted to each topic. (This material
can be gathered from your course descriptions, but it will ease the job for the visiting team if
you do this in advance.)
As shown in the above tables and the following summary, the required CS Core and
CS Advanced coursework provides coverage of all areas.
Area
Theoretical Foundations
Algorithms
Data Structures
Software Design
Concepts of Programming Languages
Computer Organization and Architecture

Quarter hours
(Core)
5
6.5
6.5
4.5
6
3.5

Quarter hours
(Advanced)
5
11.5
2.5
8
6.5
6.5

Quarter hours
(Total)
10
18
9
12.5
12.5
10

Standard IV-7. Theoretical foundations, problem analysis, and solution design must be stressed
within the programs core materials.
6. The following areas must be stressed within the programs core materials. Indicate the
course numbers of courses embodying a significant portion of these areas.
Area
Theoretical Foundations
Problem Analysis
Solution Design

Courses (Dept Number)


CS 130, CS 210, CS 301, CS 311, CS 420, CS 435
CS 140, CS 141, CS 240, CS 241, CS 331, CS 435
CS 140, CS 141, CS 240, CS 241, CS 331, CS 435, CS 480

Standard IV-8. Students must be exposed to a variety of programming languages and systems
and must become proficient in at least one higher-level language.
7. To what programming languages and operating systems are students exposed?
The required introductory programming sequenceCS 140141240241is taught in Java.
Students learn C++ in required course CS 256. Upper division projects may prescribe use of
one of these languages or may allow students to choose a language subject to instructor
approval, including languages other than Java or C++.
Students are exposed to Windows and to Unix operating system in introductory courses. These
operating systems are used (often prescribed) in advanced courses.

Page 89 of 224
C3 CS 12/14/04

8. In what higher-level language(s) do students become proficient?


Students become proficient in both Java and C++.
Standard IV-9. All students must take at least 16 semester hours of advanced course work in
computer science that provides breadth and builds on the core to provide depth.
9. If it is not obvious from the tables above that students take at least 16 semester hours
(24 quarter hours) of advanced computer science, please explain.
As shown in the above tables, there are 51 (CS Advanced) quarter hours of advanced
coursework in computer science.
10. List below the advanced areas in which your students may study. Make clear by the use of
and, or, and parentheses which areas are required and which may be chosen from (e. g.,
A and two of (B or C or D)).
Of the 51 (CS Advanced) quarter hours in the curriculum, 40 quarter hours come from
required (i.e. and) CS courses and 11 quarter hours come from elective (i.e. or) CS
courses. The required CS courses and the elective CS course choices are shown in the above
tables.

Mathematics and Science


Standard IV-10. The curriculum must include at least 15 semester hours of mathematics.
11. If it is not obvious from the tables above that students take at least 15 semester hours
(23 quarter hours) of mathematics beyond pre-calculus, please explain.
As shown in the above tables, there are 29 (Mathematics) quarter hours of mathematics
beyond pre-calculus.
Standard IV-11. Course work in mathematics must include discrete mathematics, differential
and integral calculus, and probability and statistics.
12. If it is not obvious from course titles in the above tables, then explain below which required
courses contain discrete mathematics, differential and integral calculus, and probability and
statistics.
Computer Science students are required to take CS 130 (Discrete Structures), MAT 114115
116 (Analytic Geometry and Calculus), MAT 208 (Introduction to Linear Algebra), MAT 214
(Calculus of Several Variables), and STA 326 (Statistical Methods for Computer Scientists).

Page 90 of 224
C3 CS 12/14/04

Standard IV-12. The curriculum must include at least 12 semester hours of science.
13. If it is not obvious from the tables above that students take at least 12 semester hours
(18 quarter hours) of science, please explain.
Students take PHY 131/131L, PHY 132/132L, PHY133/133L, BIO 110/111L for a total of
16 quarter hours of science.
We fell out of compliance with ABETs 18 quarter hour standard when we were required by
the Chancellor to lower the number of units in the CS major from 194 to 180. We will rectify
this problem over the next year as we revise the curriculum to comply with ABETs new
accreditation criteria.
Standard IV-13. Course work in science must include the equivalent of a two-semester sequence
in a laboratory science for science or engineering majors.
14. If it is not obvious from the tables above and from course descriptions and/or your catalog
that the science requirement includes a full year (two-semester or three-quarter) sequence in
a laboratory science for science and engineering majors, please explain.
The physics sequencePHY 131/131L, PHY 132/132L, PHY 133/133L (General Physics)
is a full year sequence including laboratories.
Standard IV-14. Science course work additional to that specified in Standard IV-13 must be in
science courses or courses that enhance the student's ability to apply the scientific
method.
Additional Areas of Study
15. If it is not obvious from the tables above and from course descriptions and/or your catalog
that the remainder of the science requirement is met with science courses or courses that
enhance the students abilities in the application of the scientific method, please explain.
(Mathematics, statistics, and courses normally considered part of the computer science
discipline should not be included here).
BIO 110/111L (Life Science) complements the physics sequence.

Page 91 of 224
C3 CS 12/14/04

Standard IV-15. The oral communications skills of the student must be developed and applied in
the program.
Standard IV-16. The written communications skills of the student must be developed and applied
in the program.
16. Each students oral and written communications skills must be developed and applied in the
program, i.e., in courses required for the major. This information should be included in
course descriptions; please give course numbers below.
Communications skills
Oral
Written

Developed in
COM 100 or COM 204
ENG 104, CS 140

Applied in
CS 375, CS 463
CS 375, CS 463, CS 480

In addition to the three required courses in Communication in the English Language, all
graduates of Cal Poly Pomona must pass a Graduation Writing Test. This test requires students
to write an essay on a topic announced at the time of the examination. The essays are graded
using a holistic grading system by faculty from various departments in the university. Students
for whom English is a second language may substitute a two-quarter sequence of courses,
preceded by preparatory courses, for the Freshman English course. No other exceptions to the
requirements are permitted. Students who have difficulty meeting the requirements are
encouraged to seek assistance; programs are available on campus to meet those needs.
In addition to the General Education courses in Communication in the English Language,
University policy requires that every course approved for General Education credit contain a
significant writing component. Thus, while the English and Foreign Language Department is
responsible for developing and assessing competence in written and oral communication,
every program on campus is involved in helping students to acquire and strengthen this
competence.
Computer Science courses require written work in the form of program documentation, essay
examination questions, term papers, and written homework. Several courses require oral
communication: the Undergraduate Seminar course requires students to prepare and deliver a
presentation; software design projects in courses may require students to give individual or
team presentations of their designs. Students receive feedback in each of these cases; specific
corrective actions vary among faculty members and courses. When a term paper is required,
the grade for the term paper is a significant part of the course grade. Oral and written
communication skills are the focus of the Undergraduate Seminar, and the basis for the grade.
The introductory course, CS 140Introduction to Computer Science, has a written essay as
one of its requirements. CS 375Computers and Society, is a General Education course that
requires several written essays.

Page 92 of 224
C3 CS 12/14/04

Standard IV-17. There must be sufficient coverage of social and ethical implications of
computing to give students an understanding of a broad range of issues in this area.
17. Social and ethical implications of computing must be covered in the program. This
information should be included in course descriptions; please give course numbers below.

Social and Ethical Implications

Covered in Course(s) (Dept Number)


CS 375Computers and Society
(formerly in CS 140, 420, 431, 435, 463)

E. Course Descriptions
1. For each required or elective computer science course that can be counted in the curriculum
being reviewed for accreditation, include a two-page or three-page course outline at this point in
the Self-Study. If your documentation does not exactly follow this format, be sure that all of the
requested information (if applicable) is present, and please in any case adhere to a common
format for all course descriptions.
Note that the outline format calls for information on the content of the course in the areas of
algorithms, data structures, software design, concepts of programming languages, computer
organization and architecture. This is not intended to suggest that every course must have some
coverage of each of these topics. For a given course, please include the information from a listed
area only if the course has significant content in that specific area.

Page 93 of 224
C3 CS 12/14/04

CS 128

Introduction to C++
COURSE DESCRIPTION

Dept Number: CS 128


Course Title: Introduction to C++
Quarter hours:
4
Course Coordinator: Dr. Amar Raheja
URL (if any):
Current Catalog Description
Basic concepts of computer software and programming. Data types, expressions, control
structures, functions, file and stream I/O. Use of pointers and dynamic storage allocation.
Structured and abstract data types. Problem-solving techniques. 4 lectures/problem-solving.
Prerequisites: MAT 105 and 106 with grade of C or better, or consent of instructor. Cannot be
used for CS elective credit.
Textbook
Tony Gaddis and Barret Krupnow, Starting out with C++: From Control Structures to
Objects. (Brief Version), Fifth Edition. Boston: Pearson Addison-Wesley, 2006. ISBN 0321-41291-5
References

Course Goals
An introduction to the basic concepts of programming and its use for problem solving.
Learning good programming principles and practices using the C++ language. Good
knowledge of the syntax and semantics of C++ and its compilation and execution. Solving
simple problems by writing programs in C++.
Prerequisites by Topic
Number System
Functions
Polynomials
Systems of equations
Trigonometric functions

Page 94 of 224
C3 CS 12/14/04

CS 128

Introduction to C++

Major Topics Covered in the Course


Computer Science overview (1 hour)
Hardware overview (1 hour)
Software overview (1 hour)
Problem solving and algorithms (4 hours)
Simple programming examples in C++ (2 hours)
Computer logon, file system, use of editor (2 hours)
Primitive types in C++ (2 hours)
Variables, literals, and expressions (3 hours)
Control statements (4 hours)
Functions (5 hours)
Introduction to arrays (3 hours)
Strings (2 hours)
Text and File input, output (3 hours)
Introduction to pointer concepts (2 hours)
Introduction to structures and basic idea of classes (2 hours)
Tests (3 hours)
Laboratory projects (specify number of weeks on each)
Write a program that determines whether a meeting room is in violation of fire law regulations
regarding the maximum room capacity. The program will read in the maximum room capacity
and the number of people to attend the meeting. If the number of people are less than or equal
to the maximum room capacity, the program prints out that it is legal to hold the meeting and
tells how many additional people may legally attend. If the number exceeds the limit, then it
announces that the meeting cannot be legally held due to fire regulation restrictions and how
many people should be excluded to allow the meeting to be held legally. Write your program
so that it allows the calculation to be repeated as often as the user wishes. (1.5 weeks)
Write a program to gauge the expected cost of an item two years from now. The program asks
the cost of the item, the number of years. (1.5 weeks)
Write a C++ program similar to the ones used in ATM machines. Essentially your program is
to handle a person's savings and checking accounts and should handle the following services:
Transfer from savings account to checking account
Transfer form checking account to savings account
Cash withdrawal from either accounts
Balance statements for both the accounts
Assume that the ATM machine recognizes a unique 3-digit personal identification number
(PIN), which is 111. If an incorrect PIN is entered, allow the user to enter it again and if the
PIN is entered incorrectly 3 times, then exit the program with an error message of too many
illegal PINs. Assume a checking and savings account with initial balance of $1000.
(1.5 weeks)

Page 95 of 224
C3 CS 12/14/04

CS 128

Introduction to C++

Modify your ATM program to include functions for the 4 cases (excluding the case when you
exit the menu). Make sure your functions use pass by value and pass by reference parameters
as needed for different cases. The functions should not be returning any value, hence they
should be all void functions. Also, have a function that prints a balance and a function that
prints the menu when called. (1.5 weeks)
Write a program that reads in 12 positive integers from a file called input.txt and stores them
in an integer array. Make sure that the user doesnt enter a negative integer and if one is
entered, prompt the user again for a positive integer until the user enters a positive integer. The
program then prints out the integers in reverse order and also the greatest, smallest, sum and
average (as a float) into a file called output.txt. The program should use a function called avg
to calculate the average of the integers.
The formatting of the output in the file is as follows:
Reverse order:
Greatest:
Smallest:
Sum:
Average:
(2 weeks)
Estimate Curriculum Category Content (Quarter hours)
Area

Core

Theoretical Foundations
Algorithms
Data Structures
Software Design
Concepts of Programming Languages
Computer Organization and Architecture

Advanced

1
1
2

Oral and Written Communications


Every student is required to submit at least 0 written reports (not including exams, tests,
quizzes, or commented programs) of typically
pages and to make 0 oral
presentations of typically
minutes duration. Include only material that is graded for
grammar, spelling, style, and so forth, as well as for technical content, completeness, and
accuracy.

Page 96 of 224
C3 CS 12/14/04

CS 128

Introduction to C++

Social and Ethical Issues


Please list the topics that address the social and ethical implications of computing covered in
all course sections. Estimate the class time spent on each topic. In what ways are the students
in this course graded on their understanding of these topics (e.g., test questions, essays, oral
presentations, and so forth)?
Not addressed in this course.
Theoretical Content
Please list the types of theoretical material covered, and estimate the time devoted to such
coverage.
Theory is peripheral to this course.
Problem Analysis
Please describe the analysis experiences common to all course sections.
Students are expected to analyze the problem statement and devise simple algorithm to
implement the problem using C++.
Solution Design
Please describe the design experiences common to all course sections.
Given a word problem involving simple text files and data, students should be able to
design appropriate algorithms using basic C++ constructs.

Page 97 of 224
C3 CS 12/14/04

CS 130

Discrete Structures
COURSE DESCRIPTION

Dept Number: CS 130


Course Title: Discrete Structures
Quarter hours:
4
Course Coordinator: Dr. Daisy Tang
URL (if any):
Current Catalog Description
Fundamental topics for Computer Science, such as logic, proof techniques, sets, basic counting
rules, relations, functions and recursion, graphs and trees. 4 lectures/problem-solving.
Prerequisite: MAT 105 with a grade of C or better, or consent of instructor.
Textbook
Judith L. Gersting, Mathematical Structures for Computer Science, 6th Edition, Freeman, 2006.
References
None.
Course Goals
A solid foundation in mathematical structures for computer science. Introduction to
mathematical concepts and problem solving techniques.
Prerequisites by Topic
Good understanding of College Algebra
Major Topics Covered in the Course
Formal Logic (12 hours)
Proofs and Recursion (10 hours)
Sets and Combinatorics (8 hours)
Relations and Functions (8 hours)
Graphs (2 hours)
Laboratory projects (specify number of weeks on each)
N/A

Page 98 of 224
C3 CS 12/14/04

CS 130

Discrete Structures

Estimate Curriculum Category Content (Quarter hours)


Area
Theoretical Foundations
Algorithms
Data Structures
Software Design
Concepts of Programming Languages
Computer Organization and Architecture

Core
3
1

Advanced

Oral and Written Communications


Every student is required to submit at least 0 written reports (not including exams, tests,
quizzes, or commented programs) of typically
pages and to make 0 oral
presentations of typically
minutes duration. Include only material that is graded for
grammar, spelling, style, and so forth, as well as for technical content, completeness, and
accuracy.
Social and Ethical Issues
Please list the topics that address the social and ethical implications of computing covered in
all course sections. Estimate the class time spent on each topic. In what ways are the students
in this course graded on their understanding of these topics (e.g., test questions, essays, oral
presentations, and so forth)?
Not addressed in this course.
Theoretical Content
Please list the types of theoretical material covered, and estimate the time devoted to such
coverage.
This course covers the mathematical theory that forms the foundation of computer science.
Thus 90% of the time is devoted to theoretical material.
Problem Analysis
Please describe the analysis experiences common to all course sections.
Students are expected to apply different proof techniques given different problems and
understand which proof techniques are appropriate.

Page 99 of 224
C3 CS 12/14/04

CS 130

Discrete Structures

Solution Design
Please describe the design experiences common to all course sections.

Page 100 of 224


C3 CS 12/14/04

CS 140

Introduction to Computer Science


COURSE DESCRIPTION

Dept Number: CS 140


Course Title: Introduction to Computer Science
Quarter hours:
4
Course Coordinator: Dr. Barry I. Soroka
URL (if any):
Current Catalog Description
Basic concepts of Computer Science, including hardware and software. Ethical and social
impacts of computing. Problem-solving methods. Programming in an object-oriented
language. Written essay required. 4 lectures/problem-solving. Prerequisite: Eligibility for
MAT 114 or consent of instructor.
Textbook
Tony Gaddis, Starting Out with JavaFrom Control Structures through Objects, Third
Edition. Boston: Pearson Addison-Wesley, 2008. ISBN 0-321-47927-0
References

Course Goals
A solid foundation in problem solving by computer, and in good programming principles and
practices. Comprehension of the role of classes, the use of methods, the declaration and
manipulation of data. Understanding of input and output using the keyboard, display, and files.
Competency with use of the command line. Experience with summing, finding extrema,
counting occurrences, sorting and searching. Basic appreciation of the roles of arrays and
strings. Understanding of the history and landscape of computing and programming languages.
Familiarity of social and ethical issues in computing.
Prerequisites by Topic
Number systems
Functions
Polynomials
Systems of equations
Mathematical induction
Trigonometric functions

Page 101 of 224


C3 CS 12/14/04

CS 140

Introduction to Computer Science

Major Topics Covered in the Course


Hardware overview (2 hours)
Software overview (2 hours)
Computer Science overview (1 hour)
Ethical and social concerns (2 hours)
Problem solving and algorithms (3 hours)
Simple programming examples in Java (2 hours)
Computer logon, file system, use of editor (3 hours)
Primitive types in Java (2 hours)
Variables, literals, and expressions (3 hours)
Control statements in Java (5 hours)
Strings (2 hours)
Introduction to arrays (4 hours)
Introduction to classes and objects (4 hours)
Text input, output (3 hours)
Tests (2 hours)
Laboratory projects (specify number of weeks on each)
Write a program using escape sequences to print out the following: your name, your major,
and your study list. (1.5 weeks)
Write a program that takes input from the keyboard and performs a number of string
operations on that data. (1.5 weeks)
Write a program that takes a positive integer from the keyboard. Your program will sum all the
integers from 1 up to and including the number entered. For example, if the user enters 5, the
loop will sum 1 + 2 + 3 + 4 + 5. Your program will make the same calculation three times (for
loop, while loop, do loop) your loops should result in the same sum for all three calculations.
(1.5 weeks)
Write a program that accepts positive integers from the command line if the user enters a
negative integer or 0 your program will exit with a message indicating invalid input. Your
program will accept input until the user enters -1 (sentinel value). Your program should keep
track of the highest and lowest values. When the user enters the sentinel value the high and
low integers will be output to the screen and a file called extrema.dat. (1.5 weeks)

Page 102 of 224


C3 CS 12/14/04

CS 140

Introduction to Computer Science

Write a program that takes a positive integer from the keyboard. Your program will sum all the
integers from 1 up to and including the number entered. For example, if the user enters 5, the
loop will sum 1 + 2 + 3 + 4 + 5. Your program will make the same calculation three times (for
loop, while loop, do loop) your loops should result in the same sum for all three calculations.
Each loop should be implemented in its own method. Your main method will check for valid
input. Valid input will be passed to each loop method, which will in turn apply the appropriate
summing algorithm. Resultant output to the display for each loop will also be accomplished
through each method. (2 weeks)
Write a program that reads a series of integers from a file and places them in a onedimensional array. From the array, your program will sum all the integers, find the extrema,
sort the integers, and place all results in a file called array.dat. (2 weeks)
Estimate Curriculum Category Content (Quarter hours)
Area
Theoretical Foundations
Algorithms
Data Structures
Software Design
Concepts of Programming Languages
Computer Organization and Architecture

Core

Advanced

1
1
2

Oral and Written Communications


Every student is required to submit at least 1 written reports (not including exams, tests,
quizzes, or commented programs) of typically 2 pages and to make 0 oral
presentations of typically
minutes duration. Include only material that is graded for
grammar, spelling, style, and so forth, as well as for technical content, completeness, and
accuracy.
Social and Ethical Issues
Please list the topics that address the social and ethical implications of computing covered in
all course sections. Estimate the class time spent on each topic. In what ways are the students
in this course graded on their understanding of these topics (e.g., test questions, essays, oral
presentations, and so forth)?
Confidentiality (30 minutes)
Copyrights and patents (30 minutes)
Intellectual property (30 minutes)
Privacy (30 minutes)
Students are assigned one written paper of typically two pages in length. The paper is
graded for grammar, spelling, style, as well as for content, completeness, and accuracy.

Page 103 of 224


C3 CS 12/14/04

CS 140

Introduction to Computer Science

Theoretical Content
Please list the types of theoretical material covered, and estimate the time devoted to such
coverage.
Theory is peripheral to this course.
Problem Analysis
Please describe the analysis experiences common to all course sections.
(1) Students are expected to understand how Java fits in with the history and landscape of
computing and programming languages.
(2) Students should be able to examine a problem domain and devise a hierarchy
appropriate for representing it in Java.
(3) Students should understand social and ethical issues in computing.
Solution Design
Please describe the design experiences common to all course sections.
(1) Given a word problem, students should be able to design a solution using javas builtin classes and methods.
(2) Students should be able to examine a problem domain and devise an appropriate
solution with Java constructs.

Page 104 of 224


C3 CS 12/14/04

CS 141

Introduction to Programming and Problem-Solving


COURSE DESCRIPTION

Dept Number: CS 141


Quarter hours:

Introduction to Programming and


Problem-Solving
Course Coordinator: Dr. Barry I. Soroka
URL (if any):
Course Title:

Current Catalog Description


Design, implementation, documentation and testing of programs in an object-oriented
language. Modularization and reusability of software. File I/O, graphic user interfaces, and
exception handling. 4 lectures/problem-solving. Prerequisite: CS 140 and MAT 114 with
grades of C or better, or consent of instructor.
Textbook
Tony Gaddis, Starting Out with Java: From Control Structures through Objects, Third
Edition. Boston: Pearson Addison Wesley, 2008. ISBN 0-321-47927-0
References

Course Goals
A solid foundation in problem solving by computer, and in good programming principles and
practices. Fuller comprehension of the role of classes, the use of methods, the declaration and
manipulation of data. Appreciation of the role of arrays and strings; the uses of recursion; the
handling of exceptions. Experience with the process of defining objects and the creation of
reusable classes. Broader understanding of input and output using the keyboard and display
and using files. Basic understanding of interfaces and inheritance.
Prerequisites by Topic
Introduction to computers and problem solving
Basics of Java
Java control structures
Use of arrays

Page 105 of 224


C3 CS 12/14/04

CS 141

Introduction to Programming and Problem-Solving

Major Topics Covered in the Course


Reading and writing disk files (5 hours)
Defining new classes & instances thereof (10 hours)
Interfaces & their uses (4 hours)
Inheritance & class hierarchies (5 hours)
Polymorphism (4 hours)
Exceptions (4 hours)
Recursion (4 hours)
Two-dimensional arrays (2 hours)
Testing (2 hours)
Laboratory projects (specify number of weeks on each)
Write a program that reads in student information from a file. The information for each student
is a name, status, and amount purchased for the books. Calculate the average purchasing
amount for each student and print it out. If particular students have purchased more than
average, write a message saying above average. Otherwise, write a message saying below
average. Print all the student information for the output of your program. (1.5 weeks)
Implement a mathematical set as an array. Write a constructor, and the methods add, contains,
union, intersection, and difference. (1.5 weeks)
Write a program that gets two command-line arguments, say filename1 and filename2. Each
string stands for a file name. The program uses the Selection-Sort algorithm to sort the file
named filename1 in ascending order and print out the sorted list. The program performs the
same action to the file named filename2. Finally the program merges the two sorted files into
one single sorted file. (1.5 weeks)
Write a program for comparing the performance of recursive binary search and recursive linear
search. (1.5 weeks)
Write a program that implements a class named Employee, and two subclasses of Employee,
named Faculty and Staff. The program overrides the print method in each class to display the
class name, the employees name and detailed information for the individual objects.
(2 weeks)
Estimate Curriculum Category Content (Quarter hours)
Area

Core

Theoretical Foundations
Algorithms
Data Structures
Software Design
Concepts of Programming Languages
Computer Organization and Architecture

Advanced

1
1
1
1

Page 106 of 224


C3 CS 12/14/04

CS 141

Introduction to Programming and Problem-Solving

Oral and Written Communications


Every student is required to submit at least 0 written reports (not including exams, tests,
quizzes, or commented programs) of typically
pages and to make 0 oral
presentations of typically
minutes duration. Include only material that is graded for
grammar, spelling, style, and so forth, as well as for technical content, completeness, and
accuracy.
Social and Ethical Issues
Please list the topics that address the social and ethical implications of computing covered in
all course sections. Estimate the class time spent on each topic. In what ways are the students
in this course graded on their understanding of these topics (e.g., test questions, essays, oral
presentations, and so forth)?
Not addressed in this course.
Theoretical Content
Please list the types of theoretical material covered, and estimate the time devoted to such
coverage.
Theory is peripheral to this course.
Problem Analysis
Please describe the analysis experiences common to all course sections.
(1) Students are expected to associate algorithms with the problems they solve and to
recognize when particular algorithms (e.g. linear search) are appropriate.
(2) Students should be able to examine a problem domain and devise a hierarchy
appropriate to represent it in Java.
Solution Design
Please describe the design experiences common to all course sections.
(1) Given a word problem involving files and data, students should be able to design
appropriate classes, data structures, and algorithms.
(2) Students should be able to examine a problem domain and devise an appropriate
hierarchy for representing it in Java.

Page 107 of 224


C3 CS 12/14/04

CS 210

Computer Logic
COURSE DESCRIPTION

Dept Number: CS 210


Course Title: Computer Logic
Quarter hours:
4
Course Coordinator: Dr. Salam Salloum
URL (if any):
Current Catalog Description
Boolean algebra with applications to computers and logic design. The Arithmetic Logical
Unit, logical properties of flip-flops and sequential machines. Applied projects.
4 lectures/problem-solving. Prerequisite: CS 130 with a grade of C or better, or consent of
instructor.
Textbook
Charles H. Roth, Jr. Fundamentals of Logic Design, Fifth Edition, Thomson Publishing
Company, 2006.
Accompanied by LogicAid (software and user manual)
References
Mano, M. Morris and Charles R. Kime. Logic and Computer Design Fundamentals, Fourth
Edition, Prentice-Hall.
Course Goals
Upon the completion of this course, the student shall acquire the following knowledge and
skills:
Number systems and symbol representations in computer
Binary arithmetic
Boolean algebra and its application in software and hardware
Techniques of designing and simplifying logic circuits (combinational and sequential)
Most important SSI, MSI, LSI and VLSI components
Using CAD software tool LogicAid
Designing some basic logic circuits using integrated circuit chips
Prerequisites by Topic

Page 108 of 224


C3 CS 12/14/04

CS 210

Computer Logic

Major Topics Covered in the Course


Number system and binary arithmetic (2 hours)
Addition and subtraction of unsigned and signed integers (2 hours)
Boolean algebra and combinational circuits (4 hours)
Applications of Boolean algebra (4 hours)
Karnaugh map (4 hours)
Combinational circuits: multiplexers, decoders, ROM, PLA, adders, comparator (4 hours)
Modular Design of combinational circuits (4 hours)
Sequential circuit and flip flops (4 hours)
Counters and shift registers (3 hours)
Analysis of sequential circuits (2 hours)
State graph, state table, transition table, and sequential circuit design (5 hours)
Some sequential circuits: sequence detector, vending machine, and digital clock (2 hours)
Laboratory projects (specify number of weeks on each)
Using the tutorial of CAD software tool LogicAid to find the prime implicants and implicates,
essential prime implicates and implicates, a minimal sum of product, and a minimal product of
sums of Boolean expressions. (2 weeks)
Using the LogicAid to design and draw circuits given their descriptions. (2 weeks)
Using the CAD software tool Logic Aid to design counters and sequence detectors. (2 weeks)
Using the CAD software tool Logic Aid to design a digital watch. (2 weeks)
Estimate Curriculum Category Content (Quarter hours)
Area
Theoretical Foundations
Algorithms
Data Structures
Software Design
Concepts of Programming Languages
Computer Organization and Architecture

Core
2

Advanced

Oral and Written Communications


Every student is required to submit at least 0 written reports (not including exams, tests,
quizzes, or commented programs) of typically
pages and to make 0 oral
presentations of typically
minutes duration. Include only material that is graded for
grammar, spelling, style, and so forth, as well as for technical content, completeness, and
accuracy.

Page 109 of 224


C3 CS 12/14/04

CS 210

Computer Logic

Social and Ethical Issues


Please list the topics that address the social and ethical implications of computing covered in
all course sections. Estimate the class time spent on each topic. In what ways are the students
in this course graded on their understanding of these topics (e.g., test questions, essays, oral
presentations, and so forth)?
Not addressed in this course.
Theoretical Content
Please list the types of theoretical material covered, and estimate the time devoted to such
coverage.
Proving Boolean Algebra properties (4 hours)
State diagram (table) and its applications (4 hours)
Model of sequential circuit (2 hours)
Problem Analysis
Please describe the analysis experiences common to all course sections.
Analysis of combinational circuit (constructing truth table or deriving a Boolean
expression of a given circuit)
Analysis of sequential circuit (constructing state table and transition table of a given
Sequential circuit)
Timing analysis of a given sequential circuit.
Solution Design
Please describe the design experiences common to all course sections.
Using the LogicAid to design and draw circuits given their descriptions
Modular design of combinational and sequential circuits
Designing combinational circuits using multiplexer, decoder, PLA, and ROM
Constructing a state table and a transition table and then designing the circuit of a given
circuit description

Page 110 of 224


C3 CS 12/14/04

CS 240

Data Structures and Algorithms I


COURSE DESCRIPTION

Dept Number: CS 240


Course Title: Data Structures and Algorithms I
Quarter hours:
4
Course Coordinator: Dr. Barry I. Soroka
URL (if any):
Current Catalog Description
Abstract data types and their implementations. Linked and array-based data structures. Lists,
stacks, queues. Recursion. Hashing and searching. Analysis of algorithms. 4 lectures/problemsolving. Prerequisite: CS 130 and CS 141 with grades of C or better, or consent of instructor.
Textbook
Michael Main, Data Structures and Other Objects Using Java, Third Edition. Boston: Pearson
Addison-Wesley, 2006. ISBN 0-321-37525-4
References

Course Goals
A broader understanding of the approaches to the organization of data and the algorithms for
manipulation of that data. An appreciation for the relationships between data structures and
algorithms and some of the performance issues involved.
Prerequisites by Topic
Programming capability
Classes and objects
Methods, parameter passing
Encapsulation
Arrays, vectors, matrices

Page 111 of 224


C3 CS 12/14/04

CS 240

Data Structures and Algorithms I

Major Topics Covered in the Course


Analysis of algorithms (2 hours)
Interfaces & implementations (2 hours)
Array-based ADTs (5 hours)
Linked lists (6 hours)
Generic programming (2 hours)
Stacks (6 hours)
Queues (6 hours)
Recursion (4 hours)
Hashing (5 hours)
Tests (2 hours)
Laboratory projects (specify number of weeks on each)
Write code that implements the ADT for a mathematical set using an array. Write a driver that
thoroughly tests your code. (2 weeks)
Write code that implements the ADT for a mathematical set using a linked list. Write a driver
that thoroughly tests your code. (2 weeks)
Write code that converts infix expressions to postfix expressions using a stack. Write a driver
that thoroughly tests your code. (2 weeks)
Write code that implements a priority queue using a linked list. Write a driver that thoroughly
tests your code. (2 weeks)
Write code that implements hashing. Write a driver that thoroughly tests your code. (2 weeks)
Estimate Curriculum Category Content (Quarter hours)
Area
Theoretical Foundations
Algorithms
Data Structures
Software Design
Concepts of Programming Languages
Computer Organization and Architecture

Core

Advanced

1
2
1

Page 112 of 224


C3 CS 12/14/04

CS 240

Data Structures and Algorithms I

Oral and Written Communications


Every student is required to submit at least 0 written reports (not including exams, tests,
quizzes, or commented programs) of typically
pages and to make 0 oral
presentations of typically
minutes duration. Include only material that is graded for
grammar, spelling, style, and so forth, as well as for technical content, completeness, and
accuracy.
Social and Ethical Issues
Please list the topics that address the social and ethical implications of computing covered in
all course sections. Estimate the class time spent on each topic. In what ways are the students
in this course graded on their understanding of these topics (e.g., test questions, essays, oral
presentations, and so forth)?
Not addressed in this course.
Theoretical Content
Please list the types of theoretical material covered, and estimate the time devoted to such
coverage.
Simple analysis of algorithms (2 hours)
Grammars & context-free languages (1 hour)
Problem Analysis
Please describe the analysis experiences common to all course sections.
Students are expected to analyze simple algorithms involving arrays and linked lists.
Solution Design
Please describe the design experiences common to all course sections.
Students are expected to solve problems such as nested parentheses and infix-to-postfix by
looking at hand-traces and producing the appropriate computer code.

Page 113 of 224


C3 CS 12/14/04

CS 241

Data Structures and Algorithms II


COURSE DESCRIPTION

Dept Number: CS 241


Course Title: Data Structures and Algorithms II
Quarter hours:
4
Course Coordinator: Dr. Salam Salloum
URL (if any):
Current Catalog Description
Trees, priority queues, graphs, sets, and maps. Sorting algorithms. Random access, indexed
and direct files. Indexing techniques. 4 lectures/problem-solving. Prerequisite: CS 240 with a
grade of C or better, or consent of instructor.
Textbook
Michael Main, Data Structures and Other Objects Using Java, Third Edition, Pearson
Addison-Wesley, 2006, ISBN 0-321-37525-4.
References
Jean-Paul Tremblay and Grant A. Cheston, Data Structures and Software development in an
Object-Oriented Domain, Prentice Hall, 2003.
Thomas A. Standish, Data Structure in JAVA, Addison-Wesley, 1998.
William J. Collins, Data Structures and the Java collections Framework, McGraw-Hill, 2002.
Course Goals
Upon the completion of this course, the student shall acquire the following knowledge and
skills:
Introduction to generic type and programming in JAVA
Computing the complexity of recursive and non-recursive algorithms
Tree and graph structures and their representations and applications
Representation strategies and implementation of some search and traversal algorithms
Map and set implementation and their applications
Using Java collection framework to implement different data structures and applications
Different sorting techniques and their efficiency
Computing the complexity of recursive and non-recursive algorithms
Application of data structures to file organization and processing and index organization
Different types of file in Java.

Page 114 of 224


C3 CS 12/14/04

CS 241

Data Structures and Algorithms II

Prerequisites by Topic
Good programming skill in Java
Abstract data type(ADT) and interfaces in Java
Physical implementation of ADT
Sequential and linked representation of list
Linked list, stack, and queue
Concept of complexity and analysis of algorithm
Hashing
Sequential file in Java
Major Topics Covered in the Course
Recursion (2 hours)
Analysis of Algorithms (3 hours)
Generic type and programming in Java (3 hours)
Trees (7 hours)
Heaps and priority queues (4 hours)
Sorting (5 hours)
Graphs (5 hours)
Sets and maps (3 hours)
File organization and processing (2 hours)
Index organization (4 hours)
Files in Java (2 hours)
Laboratory projects (specify number of weeks on each)
Writing two functions: the first function converts a tree from the sequential representation to
the linked representation, and the second function performs the reverse operation. (2 weeks)
Writing a program that uses the class Heap to construct the Hoffman code for a give set of
characters while constructing the tree, i.e. constructing the tree and the code at the same time.
(2 weeks)
Writing a program that constructs two classes for the Graph: the first class uses the Java
Collection Frame Class BitSet and the matrix representation and the second one uses the
linked representation. Each class includes several functions: adding and deleting edges and
vertices, breadth-first search, depth-first search, topological sorting, and conversion between
matrix and linked representations. (2 weeks)
Writing a program that compresses and decompresses a given file using the Hoffman code and
tree and representing the compressed file as a file of objects of type BitSet. (2 weeks)

Page 115 of 224


C3 CS 12/14/04

CS 241

Data Structures and Algorithms II

Estimate Curriculum Category Content (Quarter hours)


Area
Theoretical Foundations
Algorithms
Data Structures
Software Design
Concepts of Programming Languages
Computer Organization and Architecture

Core

Advanced

1
2
0.5
0.5

Oral and Written Communications


Every student is required to submit at least 0 written reports (not including exams, tests,
quizzes, or commented programs) of typically
pages and to make 0 oral
presentations of typically
minutes duration. Include only material that is graded for
grammar, spelling, style, and so forth, as well as for technical content, completeness, and
accuracy.
Social and Ethical Issues
Please list the topics that address the social and ethical implications of computing covered in
all course sections. Estimate the class time spent on each topic. In what ways are the students
in this course graded on their understanding of these topics (e.g., test questions, essays, oral
presentations, and so forth)?
Not addressed in this course.
Theoretical Content
Please list the types of theoretical material covered, and estimate the time devoted to such
coverage.
Theory is peripheral to this course.
Problem Analysis
Please describe the analysis experiences common to all course sections.
Analysis of algorithms and computing complexity of recursive functions
Application analysis and selecting appropriate data structures and algorithms

Page 116 of 224


C3 CS 12/14/04

CS 241

Data Structures and Algorithms II

Solution Design
Please describe the design experiences common to all course sections.
Top-down and bottom-up design of problems and mapping the design to classes
Building data structures using basic constructs of programming languages
Using Java Collection Framework for building data structures and applications

Page 117 of 224


C3 CS 12/14/04

CS 245

Programming Graphical User Interfaces


COURSE DESCRIPTION

Dept Number: CS 245


Course Title: Programming Graphical User Interfaces
Quarter hours:
4
Course Coordinator: Dr. Barry I. Soroka
URL (if any):
Current Catalog Description
Computer interfaces. Usability of interactive systems. GUI development processes. GUI
components. Input and viewing devices. Event-handling. Animation use in GUIs. Problemsolving techniques. 4 lectures. Prerequisite: CS 141 with grade of C or better, or consent of
instructor.
Textbook
Kathy Walath, et al, The JFC Swing Tutorial, Second Edition. Boston: Pearson AddisonWesley, 2004. ISBN 0-201-91467-0
References
e-books:
Adam, J., Advanced Animation with Drect-X (ebrary)
Butow, E., User Interface Design for Mere Mortals, Ch. 4Good design (Safari)
Holzner, S., Java (ebrary)
Imaz, M., Designing with Blends: Conceptual Foundation of HCI and SE, Ch. 3,8 (ebrary)
Kurniawan, B., Java 6 New Features: A Tutorial, Ch. 5Swing update (Safari)
Rowe G., Computer Graphics with Java, 2001 (ebrary)
Zukowski, J., Mastering Java 2. J2SE (ebrary)
Course Goals
HCI principles
GUI class usage both AWT and Swing
Concepts of 2-D computer graphics
Understanding how to find resources for GUI programming

Page 118 of 224


C3 CS 12/14/04

CS 245

Programming Graphical User Interfaces

Prerequisites by Topic
Programming capability
Classes and objects
Methods, parameter passing
Basic trigonometry
Comprehensive understanding of college algebra
Major Topics Covered in the Course
Basics of HCI including metaphor and composition (3 hours)
Review of Java conceptsclass and methods (2 hours)
Graphics software components (4 hours)
AWT components and methods (6 hours)
Swing components and methods (7 hours)
Graphics algorithms (8 hours)
Animation (3 hours)
Tests (2 hours)
Laboratory projects (specify number of weeks on each)
Program simple web site using HTML and XML. (1 week)
Using Java AWT, generate various 2-D objects with different attributes. (2 weeks)
Implement geometric transformation and simplified animation effect using AWT. (2 weeks)
Using Swing, map objects over 3-D geometry sphere and torus. Also implement some chaos
theory. (2 weeks)
Write code that implements different Swing Components. (2 weeks)
Estimate Curriculum Category Content (Quarter hours)
Area
Theoretical Foundations
Algorithms
Data Structures
Software Design
Concepts of Programming Languages
Computer Organization and Architecture

Core

Advanced

1
1
1
1

Page 119 of 224


C3 CS 12/14/04

CS 245

Programming Graphical User Interfaces

Oral and Written Communications


Every student is required to submit at least 3 written reports (not including exams, tests,
quizzes, or commented programs) of typically 5 pages and to make 0 oral
presentations of typically
minutes duration. Include only material that is graded for
grammar, spelling, style, and so forth, as well as for technical content, completeness, and
accuracy.
Social and Ethical Issues
Please list the topics that address the social and ethical implications of computing covered in
all course sections. Estimate the class time spent on each topic. In what ways are the students
in this course graded on their understanding of these topics (e.g., test questions, essays, oral
presentations, and so forth)?
Not addressed in this course.
Theoretical Content
Please list the types of theoretical material covered, and estimate the time devoted to such
coverage.
Theory is peripheral to this course.
Problem Analysis
Please describe the analysis experiences common to all course sections.
Students are expected to self-learn Java graphics components and find solution to various
programming tasks.
Solution Design
Please describe the design experiences common to all course sections.
Students are expected to solve problems such as nested parentheses and infix-to-postfix by
looking at hand-traces and producing the appropriate computer code.

Page 120 of 224


C3 CS 12/14/04

CS 256

C++ Programming
COURSE DESCRIPTION

Dept Number: CS 256


Course Title: C++ Programming
Quarter hours:
4
Course Coordinator: Dr. Amar Raheja
URL (if any):
Current Catalog Description
Class encapsulation, inheritance, polymorphism, object storage management, and exception
handling. Standard template library including template classes and generic algorithms.
Software reuse and object-oriented programming. 4 lectures/problem-solving. Prerequisite:
CS 128 or CS 141 with a grade of C or better, or consent of instructor.
Textbook
Tony Gaddis, Starting out with C++: From Control Structures to Objects, Sixth Edition.
Boston: Pearson Addison-Wesley, 2008. ISBN 0-321-54588-5
References
Stroustrup, B., The C++ Programming Language, Second Edition, Addison-Wesley, 1995.
Savitch, W., Problem Solving with C++, Seventh Edition, Addison Wesley, 2008.
Course Goals
Learn the syntax and semantics of C++ programming languages, and in good programming
principles and practices using C++. Fuller comprehension of the role of classes, the use of
methods, the declaration and manipulation of data. Appreciation of the role of arrays and
strings; the uses of recursion; and pointers. Experience with the process of defining objects and
the creation of reusable classes. Broader understanding of input and output using the keyboard
and display and using files. Basic understanding of operator overloading, dynamic
polymorphism via virtual functions, templates and exception handling.
Prerequisites by Topic
Introduction to computers and problem solving
Basics of C++/Java
C++/Java control structures
Function basics
Use of arrays

Page 121 of 224


C3 CS 12/14/04

CS 256

C++ Programming

Major Topics Covered in the Course


Variables, literals, and expressions (1 hour)
Control statements (2 hours)
Functions and parameter passing (2 hours)
Recursion, Function overloading and default arguments (2 hours)
Pointers (3 hours)
Arrays (static and dynamic) (3 hours)
Strings and input/output (3 hours)
Data Abstraction (structures and classes) (2 hours)
Classes and Objects (2 hours)
Operator overloading (3 hours)
Inheritance (3 hours)
Polymorphism (3 hours)
Inheritance (4 hours)
Templates (3 hours)
Exception Handling (2 hours)
Tests (2 hours)
Laboratory projects (specify number of weeks on each)
Write a program that is similar to the ones used in an ATM machine. The program will
validate a PIN and present the user with a menu similar to that shown in ATMs. Assume a
checking and savings account with initial balance of $1000. (1 week)
Implement a stack using a single dimensional array and a pointer variable. Use the stack to
convert numbers between bases. (The numbers systems of interest are binary, octal, decimal
and hexadecimal). (2 weeks)
Develop a class Polynomial that represents a polynomial. Develop this class with proper
constructor and destructor functions as well as set and get methods for the inputting and
printing the polynomial. Overload the addition, subtraction and multiplication mathematical
operators to perform the respective operations using polynomials. (2 weeks)
Create a linked list class template, which allows insertions and deletions only at the front and
the back of the linked list. Use this to implement a stack and a queue. (2 weeks)
Estimate Curriculum Category Content (Quarter hours)
Area

Core

Theoretical Foundations
Algorithms
Data Structures
Software Design
Concepts of Programming Languages
Computer Organization and Architecture

Advanced

1
1
1
1

Page 122 of 224


C3 CS 12/14/04

CS 256

C++ Programming

Oral and Written Communications


Every student is required to submit at least 0 written reports (not including exams, tests,
quizzes, or commented programs) of typically
pages and to make 0 oral
presentations of typically
minutes duration. Include only material that is graded for
grammar, spelling, style, and so forth, as well as for technical content, completeness, and
accuracy.
Social and Ethical Issues
Please list the topics that address the social and ethical implications of computing covered in
all course sections. Estimate the class time spent on each topic. In what ways are the students
in this course graded on their understanding of these topics (e.g., test questions, essays, oral
presentations, and so forth)?
Not addressed in this course.
Theoretical Content
Please list the types of theoretical material covered, and estimate the time devoted to such
coverage.
Theory is peripheral to this course.
Problem Analysis
Please describe the analysis experiences common to all course sections.
Students are expected to analyze the problem statement and devise simple algorithm to
implement the problem using C++.
Solution Design
Please describe the design experiences common to all course sections.
Given a word problem involving files and data, students should be able to design
appropriate algorithms using basic and advanced object-oriented C++ constructs.

Page 123 of 224


C3 CS 12/14/04

CS 264

Computer Organization and Assembly Programming


COURSE DESCRIPTION

Dept Number: CS 264


Quarter hours:

Computer Organization and


Assembly Programming
Course Coordinator: Dr. Salam Salloum
URL (if any):
Course Title:

Current Catalog Description


Von Neumann machine. Instruction set architecture. Addressing modes. Assembly
programming. Arrays and records. Subroutines and macros. I/O and interrupts. Interfacing and
communication. 4 lectures/problem-solving. Prerequisite: CS 210 and CS 240 with grades of C
or better, or consent of instructor.
Textbook
David A. Patterson and John L. Hennessy, Computer Organization and Design: The
Hardware/Software Interface, Third Edition, Morgan Kaufmann Publishers, 2005.
Robert L. Britton, MIPS Assembly Language Programming, Prentice Hall, 2004.
References
Mano, M. Morris and Charles R. Kime, Logic and Computer Design Fundamentals, Fourth
Edition, Prentice-Hall.
Murdocca, M. and Heuring, V., Principles of Computer Architecture, Prentice Hall.
Course Goals
Upon the completion of this course, the student shall acquire the following knowledge and
skills:
The computer and CPU components and their functions
Functions of compiler, interpreter, assembler, linker, loader, and operating system
Instruction execution cycle
Different instruction set architectures and their performance
Differences between RISC and CISC
Programming in an assembly language (instructions for arithmetic, branching, shifting,
bitwise operations, comparison, and function)
Array, string, record representation and manipulation in an assembly language
Using stack to implement reentered and recursive functions
Efficient implementation of recursive functions
I/O programming

Page 124 of 224


C3 CS 12/14/04

CS 264

Computer Organization and Assembly Programming

Prerequisites by Topic
Programming skill in a high -level language, computer logic, and basic data structure.
Major Topics Covered in the Course
Von Neumann model and basic computer organization and operations (2 hours)
System software components (Operating systems, compilers, interpreters, assemblers, linkers)
(3 hours)
Computer and CPU structures, interfacing and communication (2 hours)
Computer abstraction and Technology (2 hours)
Instruction set architecture and performance evaluation (5 hours)
Addressing modes (2 hours)
RISC processor architecture and its instructions (2 hours)
Array representation and manipulation (4 hours)
String representation and operations (2 hours)
Record and object representation and manipulation (4 hours)
Efficient Algorithm Development(function and macro) (3 hours)
Function call using the stack and writing efficient recursive functions (6 hours)
I/O programming, memory-mapped I/O, exceptions and interrupts (3 hours)
Laboratory projects (specify number of weeks on each)
Writing a program in the MIPS assembly language that demonstrates the functions of different
instructions and macros. (1 week)
Writing a program in the MIPS assembly language that implements the improved bubble sort.
(2 weeks)
Writing a program in the MIPS assembly language that demonstrates two-dimensional array
representation and manipulation. (2 weeks)
Writing a program in the MIPS assembly language that efficiently implements specific
recursive functions, i.e. with a minimum number of stack operations. (2 weeks)
Writing a program in the MIPS assembly language that demonstrates string and record
representation and manipulation. (1 week)

Page 125 of 224


C3 CS 12/14/04

CS 264

Computer Organization and Assembly Programming

Estimate Curriculum Category Content (Quarter hours)


Area
Theoretical Foundations
Algorithms
Data Structures
Software Design
Concepts of Programming Languages
Computer Organization and Architecture

Core

Advanced

0.5
0.5
1
0.5
1.5

Oral and Written Communications


Every student is required to submit at least 0 written reports (not including exams, tests,
quizzes, or commented programs) of typically
pages and to make 0 oral
presentations of typically
minutes duration. Include only material that is graded for
grammar, spelling, style, and so forth, as well as for technical content, completeness, and
accuracy.
Social and Ethical Issues
Please list the topics that address the social and ethical implications of computing covered in
all course sections. Estimate the class time spent on each topic. In what ways are the students
in this course graded on their understanding of these topics (e.g., test questions, essays, oral
presentations, and so forth)?
Not addressed in this course.
Theoretical Content
Please list the types of theoretical material covered, and estimate the time devoted to such
coverage.
Theory is peripheral to this course.
Problem Analysis
Please describe the analysis experiences common to all course sections.
Computing the number of memory accesses of a given program written for different
instruction set architectures.
Determining the effective address and the data of an instruction for different addressing
modes.
Tracing the execution of a recursive function written in assembly language using a stack.

Page 126 of 224


C3 CS 12/14/04

CS 264

Computer Organization and Assembly Programming

Solution Design
Please describe the design experiences common to all course sections.
Top-down and bottom-up design of problems and mapping the design to a hierarchy of
functions.
Writing an efficient recursive functions in an assembly language, i.e. with a minimum
number of stack operations.

Page 127 of 224


C3 CS 12/14/04

CS 301

Numerical Methods
COURSE DESCRIPTION

Dept Number: CS 301


Course Title: Numerical Methods
Quarter hours:
4
Course Coordinator: Dr. H. K. Liu
URL (if any):
Current Catalog Description
Error analysis, zeros of a function, systems of linear equations, interpolation, Chebyshev
approximation, least squares approximation, numerical integration and differentiation, random
processes. 4 lectures/problem-solving. Prerequisites: MAT 208 and MAT 214 and either
CS 125 or CS 240 with a grade of C or better, or consent of instructor.
Textbook
Ward Cheney and David Kincaid, Numerical Mathematics and Computing, Sixth edition,
Brooks/Cole, 2008.
References

Course Goals
Understanding of floating point arithmetic, significance, the four basic types of error
(roundoff, representation, loss of significance, accumulation) and the role each plays in correct
implementation.
Understanding of floating point arithmetic, significance, the four basic types of error
(roundoff, representation, loss of significance, accumulation) and the role each plays in correct
implementation.
Understanding of Taylor Series and its application to error analysis and the determination of
error bounds.
Understanding of role of testing and verification in the correct implementation of numerical
methods on a digital computer and the solution of numerical problems.
Ability to find zeroes of functions using various methods; Understanding of pros and cons, and
rates of convergence, of these methods.
Ability to solve systems of equations and their solution using scaled partial pivoting and
iterative methods, including consideration of conditioning and stability.
Ability to compute and apply numerical integration and differentiation using various methods,
including computing error bounds.

Page 128 of 224


C3 CS 12/14/04

CS 301

Numerical Methods

Ability to apply random processes to simple simulation.


Ability to set up simple numerical experiments involving classic numerical algorithms, and to
analyze them in writing and verify the results.
Understanding of simple applications of numerical methods and role of Computational Science
in the modern scientific process.
Prerequisites by Topic
Calculus
Linear algebra
Programming competence
Major Topics Covered in the Course
Integer and floating point representation (8 hours)
Sources of error and error propagation (2 hours)
Power Series Calculation of Functions (4 hours)
Solution of linear algebraic equations (8 hours)
Numerical integration (6 hours)
Simultaneous Linear Equations (6 hours)
Monte Carlo Methods (4 hours)
Testing (2 hours)
Laboratory projects (specify number of weeks on each)
Power Series Calculation of Functions (2 weeks)
Roots of Equations (2 weeks)
Numerical Integration (2 weeks)
Monte Carlo Methods and Simulation (2 weeks)
Estimate Curriculum Category Content (Quarter hours)
Area
Theoretical Foundations
Algorithms
Data Structures
Software Design
Concepts of Programming Languages
Computer Organization and Architecture

Core

Advanced
1
1
1
1

Page 129 of 224


C3 CS 12/14/04

CS 301

Numerical Methods

Oral and Written Communications


Every student is required to submit at least 0 written reports (not including exams, tests,
quizzes, or commented programs) of typically
pages and to make 0 oral
presentations of typically
minutes duration. Include only material that is graded for
grammar, spelling, style, and so forth, as well as for technical content, completeness, and
accuracy.
Social and Ethical Issues
Please list the topics that address the social and ethical implications of computing covered in
all course sections. Estimate the class time spent on each topic. In what ways are the students
in this course graded on their understanding of these topics (e.g., test questions, essays, oral
presentations, and so forth)?
Not addressed in this course.
Theoretical Content
Please list the types of theoretical material covered, and estimate the time devoted to such
coverage.
Power series theory (4 hours)
Problem Analysis
Please describe the analysis experiences common to all course sections.
Floating-point error analysis
Truncation error analysis
Solution Design
Please describe the design experiences common to all course sections.
Numerical algorithm design

Page 130 of 224


C3 CS 12/14/04

CS 311

Language Translation and Automata


COURSE DESCRIPTION

Dept Number: CS 311


Course Title: Language Translation and Automata
Quarter hours:
4
Course Coordinator: Dr. Daisy F. Sang
URL (if any):
Current Catalog Description
Introduction to language translation. Regular expressions. Finite automata. Lexical analysis.
Context-free grammars and push down automata. Syntax analysis. 4 lectures/problem-solving.
Prerequisite: CS 241 with grade of C or better, or consent of instructor.
Textbook
John C. Martin, Introduction to Languages and the Theory of Computation, Third Edition,
McGraw-Hill, ISBN 0-07-119854-7
References

Course Goals
The goal of this course is to introduce students to the theoretical foundations of Computer
Science and to train them in using mathematical tools and formal methods that are applied in
computing.
Prerequisites by Topic
Good knowledge of at least one programming language and familiarity with concepts and
techniques of discrete mathematics.
Major Topics Covered in the Course
Regular Languages (3 hours)
Finite Automata (7 hours)
Kleenes Theorem (7 hours)
Nondeterminism (3 hours)
Context-free Grammars (4 hours)
Pushdown Automata (6 hours)
Context-free Languages (5 hours)
Parsing (5 hours)

Page 131 of 224


C3 CS 12/14/04

CS 311

Language Translation and Automata

Laboratory projects (specify number of weeks on each)


Design a deterministic finite automaton that accepts language consisting of all strings over
alphabet = {a, 0, 1, + , - , . , E } which represent valid constants in PASCAL (see diagrams
below).
Write a program that implements this finite automaton i.e. given a finite string of symbols over
alphabet your program should decide whether it represents a valid constant and specify its
type. It should be possible to test several strings within single program run. Program should be
well written and documented. (1.5 weeks)
Write a program which implements pattern-matching algorithm discussed in class. Your
program should allow user to enter a text and a pattern strings and if pattern appears in text it
should return first position in the text where pattern starts (positions start with 0). It should be
possible to test several pairs within single program run. Program should be well written and
documented. (1.5 weeks)
Write a program which takes as an input an arithmetic expression built of positive integers,
parenthesis and operators *, +, -, /, ^ (exp.) and returns the postfix form of this expression
followed by its value. Your program should be based on algorithm discussed in class. You
can assume that input expression is syntactically correct. It should be possible to perform
several such evaluations within single program run. Program should be well written and
documented. (1.5 weeks)
Write a program which takes as an input an arithmetic expression built of positive integers in
range 0 through 99, variables x0 through x9, parenthesis and operators *, +, -, ^ (exp.) and
performs parsing by recursive descent of this expression. Your program should be based on
algorithm discussed in class and on context free grammar that you have to design. You can
assume that input expression is syntactically correct. It should be possible to process several
such expressions within single program run. Program should be well written and documented.
(1.5 weeks)
Estimate Curriculum Category Content (Quarter hours)
Area

Core

Theoretical Foundations
Algorithms
Data Structures
Software Design
Concepts of Programming Languages
Computer Organization and Architecture

Advanced
2
1
1

Page 132 of 224


C3 CS 12/14/04

CS 311

Language Translation and Automata

Oral and Written Communications


Every student is required to submit at least 0 written reports (not including exams, tests,
quizzes, or commented programs) of typically
pages and to make 0 oral
presentations of typically
minutes duration. Include only material that is graded for
grammar, spelling, style, and so forth, as well as for technical content, completeness, and
accuracy.
Social and Ethical Issues
Please list the topics that address the social and ethical implications of computing covered in
all course sections. Estimate the class time spent on each topic. In what ways are the students
in this course graded on their understanding of these topics (e.g., test questions, essays, oral
presentations, and so forth)?
Not addressed in this course.
Theoretical Content
Please list the types of theoretical material covered, and estimate the time devoted to such
coverage.
An introduction to theoretical computer science with emphasis on formal languages,
automata and abstract models of computation. Discussion of the standard mathematical
models of computational devices, and investigation of the cognitive and generative
capabilities of such machines.
This course is on the theory of computer science and about 90% of the time is devoted to
such coverage.
Problem Analysis
Please describe the analysis experiences common to all course sections.
Analyze theoretical problems concerning properties of regular and context-free languages
and provide solutions to those problems
Analyze algorithms based on the concepts and techniques introduced in this course.
Solution Design
Please describe the design experiences common to all course sections.
Students have to design the lexical analyzers and parsers for small fragments of
programming language PASCAL.

Page 133 of 224


C3 CS 12/14/04

CS 331

Design and Analysis of Algorithms


COURSE DESCRIPTION

Dept Number: CS 331


Course Title: Design and Analysis of Algorithms
Quarter hours:
4
Course Coordinator: Dr. Gilbert Young
URL (if any):
Current Catalog Description
Algorithm design techniques including divide-and-conquer, the greedy method, dynamic
programming, backtracking, and branch-and-bound. Analysis of sorting and searching.
Tractability. Complexity analysis using basic asymptotic notation. Prerequisite: CS 241 and
MAT 208 with grades of C or better, or consent of instructor.
Textbook
R. Neapolitan and K. Naimipour, Foundations of Algorithms, 3rd Edition, Jones and Bartlett,
2003.
References
E. Horowitz, S. Sahni and S. Rajasekaran, Computer Algorithms, Computer Science Press,
1998.
M. Garey and D. Johnson, Computers and Intractability: A Guide to the Theory of NPCompleteness, W.H. Freeman and Company, 1979
Course Goals
To investigate the principles and techniques underlying the design of efficient algorithms. We
will examine several well-known mathematical problems and design provably good, if not
optimal, algorithms for their solution by applying specific algorithm design techniques.
Algorithms will be analyzed for correctness and efficiency.
Prerequisites by Topic
Knowledge of asymptotic functions
Skills in data representation
Ability to reason abstractly

Page 134 of 224


C3 CS 12/14/04

CS 331

Design and Analysis of Algorithms

Major Topics Covered in the Course


Mathematical preliminaries (2 hours)
Growth of functions (2 hours)
Recurrences (1 hour)
Sorting and order statistics (5 hours)
Divide-and-conquer algorithms (5 hours)
Backtracking and Branch-and-Bound (4 hours)
Greedy algorithms (4 hours)
Dynamic programming (4 hours)
Searching (4 hours)
Graph algorithms (5 hours)
P=?NP (2 hours)
Tests (2 hours)
Laboratory projects (specify number of weeks on each)
Students were given 3 weeks from the assignment of a project to the due date of the project.
Project 1 implements three matrix multiplication algorithms. They are classical matrix
multiplication, divide-and-conquer matrix multiplication and Strassens matrix multiplication.
It requires students to study and analyze these three algorithms by comparing their results.
Project 2 requires the students to implement four algorithms for solving the Selection Problem
and compare the times. Select 1 implements the sorting method. Select 2 implements the
procedure Partition used in Quicksort iteratively and Select 3 implements the same algorithm
recursively. Select 4 is a recursive procedure to implement the third algorithm with mm rule. It
requires students to study and analyze these four algorithms by comparing their results.
Estimate Curriculum Category Content (Quarter hours)
Area
Theoretical Foundations
Algorithms
Data Structures
Software Design
Concepts of Programming Languages
Computer Organization and Architecture

Core

Advanced
4

Page 135 of 224


C3 CS 12/14/04

CS 331

Design and Analysis of Algorithms

Oral and Written Communications


Every student is required to submit at least 6 written reports (not including exams, tests,
quizzes, or commented programs) of typically 1 pages and to make 0 oral
presentations of typically
minutes duration. Include only material that is graded for
grammar, spelling, style, and so forth, as well as for technical content, completeness, and
accuracy.
Social and Ethical Issues
Please list the topics that address the social and ethical implications of computing covered in
all course sections. Estimate the class time spent on each topic. In what ways are the students
in this course graded on their understanding of these topics (e.g., test questions, essays, oral
presentations, and so forth)?
Not addressed in this course.
Theoretical Content
Please list the types of theoretical material covered, and estimate the time devoted to such
coverage.
The first three topics lay the theoretical foundation for algorithm analysis in 5 hours. The
correctness proofs require knowledge of mathematical induction. These are interspersed
with more practical implementation issues throughout the term. Several optimization
results used theory to show that optimums had been achieved. The P=NP problem
introduces the theory behind the most significant open problem in algorithm theory.
Problem Analysis
Please describe the analysis experiences common to all course sections.
All covered techniques are analyzed to determine complexity and optimality.
Solution Design
Please describe the design experiences common to all course sections.
The center theme of this course is the design and analysis of algorithms. All sections are
introduced to the classic techniques of algorithm design.

Page 136 of 224


C3 CS 12/14/04

CS 352

Symbolic Programming
COURSE DESCRIPTION

Dept Number: CS 352


Course Title: Symbolic Programming
Quarter hours:
4
Course Coordinator: Dr. Barry I. Soroka
URL (if any):
Current Catalog Description
Languages for processing symbolic data with emphasis on applications in artificial
intelligence. 4 lectures/problem-solving. Prerequisite: CS 241 with a grade of C or better, or
consent of instructor.
Textbook
W. F. Clocksin and C. S. Mellish, Programming in PROLOG, Fifth Edition, Springer, ISBN 3540-00678-8
Rodney A. Brooks, Programming in Common LISP, John Wiley & Sons, ISBN 0-471-81888-7
References

Course Goals
The goal of this course is to introduce students to two major programming languages for
Artificial Intelligence i.e. PROLOG and LISP. Students are supposed to learn about functional
and declarative programming paradigms and appreciate their role in manipulation of symbolic
data.
Prerequisites by Topic
Good grasp of generalized list processing algorithms.
Major Topics Covered in the Course
Prolog
Syntax and semantics of Prolog programs (4 hours)
Lists, operators, arithmetic (6 hours)
Data abstraction, using Prolog (5 hours)
Controlling backtracking, the cut mechanism (4 hours)
Prolog input and output (3 hours)
Programming style and techniques (2 hours)
Page 137 of 224
C3 CS 12/14/04

CS 352

Symbolic Programming

Lisp
The evaluation process in Lisp (2 hours)
Atoms, lists, and strings (3 hours)
Built-in and user defined functions in Lisp (4 hours)
Recursion (3 hours)
Input and output (2 hours)
Programming style and techniques (2 hours)
Laboratory projects (specify number of weeks on each)
Write a PROLOG program that given an arbitrary date and a positive integer n returns the date
of the day n weeks later. (1 week)
Example:
? - date(day(april, 21, 1948), 2, X).
X = day(may, 5, 1948)
Write a PROLOG program to solve the monkey and banana problem. The top goal should be
solve(sit(X,Y,Z,W),L), where X represents initial position of the monkey, Y represents initial
position of the box, W specifies if monkey is on the box, Z states if monkey has banana and L
is the computed list of actions that monkey should take to achieve a goal situation of the form
sit(_ ,_,_,has). (1.5 weeks)
Write a PROLOG program to solve the stable marriages problem as discussed in class. The
input data for your program should be stored in the separate file. (2 weeks)
Example:
? - stable_marr.
Ann marries John.
Mary marries Tom.
.
Lisa marries Jack
Write a LISP program that given a year, a day of the week of March 15, and a positive integer
n computes the day of the week n years later. (1 week)
Example:
(date 1967 monday 4)
Write a LISP program to solve the stable marriages problem as discussed in class. (1.5 weeks)
Example:
> (STABLE-MARR WL ML)
((Ann. John) (Mary.Tom) ... (Lisa. Jack))

Page 138 of 224


C3 CS 12/14/04

CS 352

Symbolic Programming

Estimate Curriculum Category Content (Quarter hours)


Area
Theoretical Foundations
Algorithms
Data Structures
Software Design
Concepts of Programming Languages
Computer Organization and Architecture

Core

Advanced

2
2

Oral and Written Communications


Every student is required to submit at least 0 written reports (not including exams, tests,
quizzes, or commented programs) of typically
pages and to make 0 oral
presentations of typically
minutes duration. Include only material that is graded for
grammar, spelling, style, and so forth, as well as for technical content, completeness, and
accuracy.
Social and Ethical Issues
Please list the topics that address the social and ethical implications of computing covered in
all course sections. Estimate the class time spent on each topic. In what ways are the students
in this course graded on their understanding of these topics (e.g., test questions, essays, oral
presentations, and so forth)?
Not addressed in this course.
Theoretical Content
Please list the types of theoretical material covered, and estimate the time devoted to such
coverage.
Some elements of mathematical logic and recursion theory are briefly discussed.
Problem Analysis
Please describe the analysis experiences common to all course sections.
Identify objects and relations between those objects that are relevant to the problem
solution
Choose the most appropriate programming language for their implementations
Choose between iteration and recursion

Page 139 of 224


C3 CS 12/14/04

CS 352

Symbolic Programming

Solution Design
Please describe the design experiences common to all course sections.
Design knowledge base associated with the given problem to solve that problem using
PROLOG
Choose and define functions to be used to solve the problem using LISP.

Page 140 of 224


C3 CS 12/14/04

CS 356

Object-Oriented Design and Programming


COURSE DESCRIPTION

Dept Number: CS 356


Course Title: Object-Oriented Design and Programming
Quarter hours:
4
Course Coordinator: Dr. Daisy F. Sang
URL (if any):
Current Catalog Description
Elements of the object model. Abstraction, encapsulation, modularity and hierarchy. Structural
and behavioral diagrams. Implementation and programming of system design. Comprehensive
examples using a case study approach. 4 lectures/problem-solving. Prerequisite: CS 241 with a
grade of C or better, or consent of instructor.
Textbook
M. Blaha and J. Rumbaugh, Object-Oriented Modeling and Design with UML, Second
Edition, Pearson Prentice Hall, 2005, ISBN 0-13-015920-4
References
R.C. Lee and W.M. Tepfenhart, Practical Object-Oriented Development with UML and JAVA,
Prentice Hall, 2002, ISBN 0-13-067238-6
Course Goals
An introduction to the field of object-oriented software design and some appreciation for the
scope of its subject matter. A solid foundation in object-oriented programming principles and
practices. Familiarity with object-oriented software design methods.
Prerequisites by Topic
Data structures
Language support for objects, classes, methods, polymorphism, and inheritance
Analysis of algorithms and problem solving methods
Ability to write and debug medium to large size programs

Page 141 of 224


C3 CS 12/14/04

CS 356

Object-Oriented Design and Programming

Major Topics Covered in the Course


Introduction to OO (2 hours)
Building a specification model with use case analysis and scenarios (2 hours)
Introduction to UML (2 hours)
Object-oriented design guidelines (2 hours)
Classes and objects: identification and refinement (3 hours)
Identifying relationships and responsibilities (3 hours)
Sequence diagrams for nontrivial use cases (2 hours)
State diagrams for objects with nontrivial dynamic behavior (2 hours)
Activity diagrams for nontrivial operations (2 hours)
System design and allocation of subsystems (2 hours)
Case studies of OO system development (5 hours)
Implementing object-oriented design (4 hours)
Practice of object-oriented programming (2 hours)
Team project discussions and presentations (5 hours)
Testing (2 hours)
Laboratory projects (specify number of weeks on each)
There are two team projects. Each group consisting of 3 or 4 students shall give one
presentation, either on project 1 or project 2. The presentation should demonstrate design
results including a walk through of the thinking process, a demo of the implementation with
well-defined scenarios to show most of the functionality of the program, and a discussion of
the strength and constraints of the work.
Team project 1: Design and implementation of an elevator simulation system using
responsibility-driven design approach. The system composes of up to 10 floors and up to
5 elevators. On each floor, the user can request whether to go up or down like in the real
world. The users inside any elevator will be able to select destination at any floor. Control Unit
is the core component of this project, receiving requests on each floor, determines which
elevator to service that request and ask and control elevators to serve those requests. Students
should design a sophisticated algorithm for the control unit to dispatch elevators with the
consideration of distance and workload. (3 weeks)
Team project 2: Design and implementation of a computer system for a video store using
unified process for structural and behavioral modeling. The system should support check in
and check out of rental operations, handle logging and reporting of rental transactions, provide
pricing of rental items, and track daily income and overdue videos. It should also provide
flexibility in quickly implementing pricing plans and promotions. For example, every 12th
video rental is free or the 2nd video game rented each month is free. The owner of the store
expects to add more stores in the future and would like any system developed now to support
additional stores. Students should address this possible future growth in their design. (4 weeks)

Page 142 of 224


C3 CS 12/14/04

CS 356

Object-Oriented Design and Programming

Estimate Curriculum Category Content (Quarter hours)


Area
Theoretical Foundations
Algorithms
Data Structures
Software Design
Concepts of Programming Languages
Computer Organization and Architecture

Core

Advanced

3
1

Oral and Written Communications


Every student is required to submit at least 2 written reports (not including exams, tests,
quizzes, or commented programs) of typically 510 pages and to make 1 oral
presentations of typically 10 minutes duration. Include only material that is graded for
grammar, spelling, style, and so forth, as well as for technical content, completeness, and
accuracy.
Social and Ethical Issues
Please list the topics that address the social and ethical implications of computing covered in
all course sections. Estimate the class time spent on each topic. In what ways are the students
in this course graded on their understanding of these topics (e.g., test questions, essays, oral
presentations, and so forth)?
Not addressed in this course.
Theoretical Content
Please list the types of theoretical material covered, and estimate the time devoted to such
coverage.
Theory is peripheral to this course.
Problem Analysis
Please describe the analysis experiences common to all course sections.
Given a problem domain, students should be able to analyze the requirements, summarize
objectives, divide the work among group members, and determine process to achieve
objectives.

Page 143 of 224


C3 CS 12/14/04

CS 356

Object-Oriented Design and Programming

Solution Design
Please describe the design experiences common to all course sections.
Given a problem description, students should be able to identify objects, design class
diagrams and behavioral diagrams such as sequence diagram, state diagram, and activity
diagram.

Page 144 of 224


C3 CS 12/14/04

CS 365

Computer Architecture
COURSE DESCRIPTION

Dept Number: CS 365


Course Title: Computer Architecture
Quarter hours:
4
Course Coordinator: Dr. Lan Yang
URL (if any):
Current Catalog Description
Data representations. Computer arithmetic. Data path and control unit design. Pipelining.
Memory technology and hierarchy. I/O devices and interfacing. Multiprocessing and
alternative architectures. 4 lectures/problem-solving. Prerequisites: CS 264 and PHY 133 with
grades of C or better, or consent of instructor.
Textbook
John Hennessy and David Patterson, Computer Organization and Design, Third Edition,
Morgan Kaufmann, 2007, ISBN 978-0-12-370606-5
References
Linda Null and Julia Lobur, The Essentials of Computer Organization and Architecture, Jones
and Bartlett, 2006.
Course Goals
Students should be able to comprehend complete digital processing systems, master the skills
required to understand the internal working of computers at the chip level, remove the mystery
surrounding hardware of computing machines, simulate a small computing system based on
RISC architecture, understand designing control systems, and comprehend future trends of
computer architectures and their effect upon science and technology development.
Prerequisites by Topic
Number systems and binary arithmetic
Basic characteristics of computer operation
Instruction format and execution
Binary algebra
Combinational circuits and sequential circuits

Page 145 of 224


C3 CS 12/14/04

CS 365

Computer Architecture

Major Topics Covered in the Course


Data representation and computer arithmetic (5 hours)
Instruction set architecture (4 hours)
Processor architectures (2 hours)
Features of processor components (2 hours)
Data path and control unit (6 hours)
Organization of control systems (2 hours)
Pipeline principles (7 hours)
Performance of computers (3 hours)
Memory hierarchy (4 hours)
I/O device and interfacing (3 hours)
Tests (2 hours)
Laboratory projects (specify number of weeks on each)
Write a program to simulate a single-precision floating-point addition unit. Require a summary
writing (at least one page) to describe/propose hardware changes when dealing with special
and/or exceptional cases. (2 weeks)
Use PathSim simulator to execute a set of instructions on the datapath. Observe the data flow
during the execution of each instruction. (1 week)
Design a datapath and a control unit for the multicycle implementation of a selected set of
instructions. (1.5 weeks)
Estimate Curriculum Category Content (Quarter hours)
Area

Core

Theoretical Foundations
Algorithms
Data Structures
Software Design
Concepts of Programming Languages
Computer Organization and Architecture

Advanced

Oral and Written Communications


Every student is required to submit at least 1 written reports (not including exams, tests,
quizzes, or commented programs) of typically 1 pages and to make 0 oral
presentations of typically
minutes duration. Include only material that is graded for
grammar, spelling, style, and so forth, as well as for technical content, completeness, and
accuracy.

Page 146 of 224


C3 CS 12/14/04

CS 365

Computer Architecture

Social and Ethical Issues


Please list the topics that address the social and ethical implications of computing covered in
all course sections. Estimate the class time spent on each topic. In what ways are the students
in this course graded on their understanding of these topics (e.g., test questions, essays, oral
presentations, and so forth)?
Not addressed in this course.
Theoretical Content
Please list the types of theoretical material covered, and estimate the time devoted to such
coverage.
Theory is peripheral to this course.
Problem Analysis
Please describe the analysis experiences common to all course sections.
Students are expected to associate the functions of hardware components to specific
operations of a computer.
Students should be able to analyze the computer performance for different architectures.
Solution Design
Please describe the design experiences common to all course sections.
Given simple instruction set architecture, students should be able to design appropriate
datapath and control unit for the implementation of the instruction set architecture.
Students should be able to design specific computer arithmetic units for integer and
floating-point operations.

Page 147 of 224


C3 CS 12/14/04

CS 370

Parallel Processing
COURSE DESCRIPTION

Dept Number: CS 370


Course Title: Parallel Processing
Quarter hours:
4
Course Coordinator: Dr. Gilbert Young
URL (if any):
Current Catalog Description
The taxonomy of concurrent and parallel systems. Communication and synchronization,
multicomputer and multiprocessor systems. Shared-memory and message passing
programming paradigms; parallel problem solving. 4 lectures/problem-solving. Prerequisite:
CS 256 and CS 331 with grades of C or better, or consent of instructor.
Textbook
Wilkinson, B. and Allen, M., Parallel Programming: Techniques and Applications Using
Networked Workstations and Parallel Computers, 2nd Edition, Prentice-Hall, 2005.
References
Hughes, C. and Hughes, T., Parallel and Distributed Programming Using C++. Addison
Wesley, 2003.
Course Goals
Concepts of concurrent and parallel systems, and of communicating and synchronizing parallel
processes. Knowledge of parallel problem solving techniques, including basic parallel
algorithms. Implementation of parallel problems on typical parallel systems such as MPI and
PVM.
Prerequisites by Topic
Typical sequential algorithms such as sort, search, and matrix related algorithms
Techniques of sequential algorithm design including partition, divide-and-conquer
Data structures such as matrices, lists, and trees
Basic concepts of computer systems
Skills in sequential problem solving and programming

Page 148 of 224


C3 CS 12/14/04

CS 370

Parallel Processing

Major Topics Covered in the Course


Introduction to parallel processing (2 hours)
Taxonomy of concurrent and parallel systems (4 hours)
Communication and synchronization (8 hours)
Multicomputer and Multiprocessor systems (4 hours)
Shared memory problem solving (4 hours)
Message passing systems (MPI and/or PVM) (4 hours)
Message passing problem solving (8 hours)
Case studies (4 hours)
Tests (2 hours)
Laboratory projects (specify number of weeks on each)
Using a message-passing parallel system (PVM or MPI) to perform a series of parallel
operations (sum, minimum, maximum etc.) on rows and columns of a matrix. (2 weeks)
Using a message-passing parallel system (PVM or MPI) to implement parallel sort and search
algorithms. (2 weeks)
Using a message-passing parallel system (PVM or MPI) to solve a number of numerical
problems and to study the performance of parallel programs theoretically as well as practically.
(2 weeks)
Estimate Curriculum Category Content (Quarter hours)
Area
Theoretical Foundations
Algorithms
Data Structures
Software Design
Concepts of Programming Languages
Computer Organization and Architecture

Core

Advanced
2
2

Oral and Written Communications


Every student is required to submit at least 0 written reports (not including exams, tests,
quizzes, or commented programs) of typically
pages and to make 0 oral
presentations of typically
minutes duration. Include only material that is graded for
grammar, spelling, style, and so forth, as well as for technical content, completeness, and
accuracy.

Page 149 of 224


C3 CS 12/14/04

CS 370

Parallel Processing

Social and Ethical Issues


Please list the topics that address the social and ethical implications of computing covered in
all course sections. Estimate the class time spent on each topic. In what ways are the students
in this course graded on their understanding of these topics (e.g., test questions, essays, oral
presentations, and so forth)?
Not addressed in this course.
Theoretical Content
Please list the types of theoretical material covered, and estimate the time devoted to such
coverage.
Theory is peripheral to this course.
Problem Analysis
Please describe the analysis experiences common to all course sections.
Students are expected to associate parallel algorithms with the problems they solve and
parallel systems they are using.
Students should be able to analyze the problem domain and devise a parallel solution to
the problem presented.
Solution Design
Please describe the design experiences common to all course sections.
Given a problem description, students should be able to design appropriate parallel
solution (algorithm, program, and implementation).
Students should be able to examine a problem domain and decompose the problem into
parallel solution.

Page 150 of 224


C3 CS 12/14/04

CS 375

Computers and Society


COURSE DESCRIPTION

Dept Number: CS 375


Course Title: Computers and Society
Quarter hours:
4
Course Coordinator: Dr. Craig A. Rich
URL (if any):
Current Catalog Description
Impact of computers on individuals and on society. Various current uses of computers, how
these have evolved, and what the future might bring. Benefits and dangers of information
technology. How the Internet and computers have fundamentally changed the way we work,
play, and interact with others. Consequent rise of new social and legal issues, making it
essential for everyone to acquire a working understanding of the role of computers in our daily
lives. 4 lecture-discussions. Fulfills GE Synthesis requirement in Area B4 or D4. Prerequisites:
Completion of courses in GE areas B1B3 and D1D3.
Textbook
Sara Baase, A Gift of Fire, 3rd Edition, Prentice Hall, 2008, ISBN 0-13-601918-8.
References
Numerous books, essays, articles, films, video clips and online materials are used as references
for this course. The effects of computers on society occur so frequently that current events and
news play an important role in shaping the topics. As such, up-to-date online sources (e.g.
http://slashdot.org) are often used as jumping-off points, and student-driven references work
well.
Course Goals
Understand how information technology gives rise to social issues and ethical dilemmas.
Understand specific roles that computing plays in our daily lives.
Be able to discuss the benefits offered by computing technology in many different areas, and
the risks and other problems that are created by this technology.
Understand some of the social, legal, philosophical, political, constitutional, and economic
issues related to computers.
Analyze computing trends of the past and project into the future to anticipate changes that are
likely.
Be able to explore the arguments on all sides of a controversial issue, and be able to argue
convincingly for the position you select.
Be more aware of current social and legal developments related to computers.

Page 151 of 224


C3 CS 12/14/04

CS 375

Computers and Society

Prerequisites by Topic
This class is open to students in any major who have completed their lower division general
education coursework in mathematics and natural science (G.E. Area B), and in social sciences
(G.E. Area D).
Major Topics Covered in the Course
Database privacy There is a great deal of information about all of us recorded in computer
databases. What rules should govern how this information is used? What do the privacy
notices that we receive from our banks and financial institutions really mean?
Privacy vs. National Security New encryption methods make it possible to keep e-mail and
phone conversations secret from others. How should our desire for privacy be balanced
with the need of law-enforcement agencies to intercept communications of suspected
criminals or terrorists?
Web publishing: Freedom vs. Responsibility How serious are the problems created by Web
sites that contain obscene or inappropriate materials, such as pornography, hate material,
bomb-making information, and so on? Should there be any restrictions on the material that
is put on the Web?
Software risk and reliability Computers are increasingly used to control medical devices,
automobiles, aircraft, and other safety-critical systems. How safe are such systems? What
can we do to manage the risks involved?
Copyright issues in the electronic age It is easy to use computers to copy music, videos,
software and books in violation of copyright law. What is the extent of this problem?
What can or should be done about it?
Ubiquity of computers: history and current trends Compared to 40 years ago, how have
computers altered banking, commerce, communications, entertainment and other sectors?
What changes are right around the corner?
Potential dangers of emerging technologies Some leading thinkers have expressed concern
on the possible adverse effects of new technology, including AI, nanotechnology and
biotechnology. What is the basis for these fears, and are they justified?
Terrorism and cyber-security How real are the threat of cyber-terrorism? What are the issues
in information security, and what can we do about them?
Future of Artificial Intelligence and pervasive computing Is the notion of intelligent,
embedded, integrated and pervasive computing merely science fiction, or the dawn of a
new era in computing?
Laboratory projects (specify number of weeks on each)
There are no computing projects in this course.

Page 152 of 224


C3 CS 12/14/04

CS 375

Computers and Society

Estimate Curriculum Category Content (Quarter hours)


Area
Theoretical Foundations
Algorithms
Data Structures
Software Design
Concepts of Programming Languages
Computer Organization and Architecture

Core

Advanced

Oral and Written Communications


Every student is required to submit at least 6 written reports (not including exams, tests,
quizzes, or commented programs) of typically 4 pages and to make 1 oral
presentations of typically 20 minutes duration. Include only material that is graded for
grammar, spelling, style, and so forth, as well as for technical content, completeness, and
accuracy.
Social and Ethical Issues
Please list the topics that address the social and ethical implications of computing covered in
all course sections. Estimate the class time spent on each topic. In what ways are the students
in this course graded on their understanding of these topics (e.g., test questions, essays, oral
presentations, and so forth)?
All of the topics in this course involve social and ethical issues. See the topic list above.
Theoretical Content
Please list the types of theoretical material covered, and estimate the time devoted to such
coverage.
Theory is peripheral to this course.
Problem Analysis
Please describe the analysis experiences common to all course sections.
Discern the difference between meaningful or expert opinions and irrelevant noise.
Formulate clear ethical questions from a morass of circumstances.
Consider arguments for and against a position on an issue or ethical question.
Reason logically to reach consistent conclusions.

Page 153 of 224


C3 CS 12/14/04

CS 375

Computers and Society

Solution Design
Please describe the design experiences common to all course sections.
Students are not so much trying to solve problems, as they are trying to think as broadly
and clearly as possible about the social and ethical issues surrounding computers,
networking and the information society in which we increasingly find ourselves.

Page 154 of 224


C3 CS 12/14/04

CS 380

Computer Networks
COURSE DESCRIPTION

Dept Number: CS 380


Course Title: Computer Networks
Quarter hours:
4
Course Coordinator: Dr. Gilbert Young
URL (if any):
Current Catalog Description
Network architectures and standards. Layers and protocols. Circuit switching, packet
switching and routing. Client-server concepts. Network security. Web computing. Privacy,
intellectual property rights and acceptable use. 4 lectures/problem-solving. Prerequisite:
CS 241 and CS 264 with grades of C or better, or consent of instructor.
Textbook
Larry L. Peterson and Bruce S. Davie, Computer Networks: A Systems Approach, 4th Edition,
Morgan Kaufmann, 2007.
References
http://java.sun.com/Sun Microsystems Java web site.
http://www.ietf.org/rfc.htmlInternet Engineering Task Force (IETF) Requests For
Comments (RFCs) web site.
Course Goals
Students should gain an overall perspective of how network architectures are designed and
built, as well as a good understanding of prominent protocol examples at various levels in a
layered protocol design. The course should involve hands-on experience with networking in
the department's computing laboratories.
Prerequisites by Topic
Data Structures
Graph Theory
Programming Proficiency
Basic Operating Systems
Basic Computer Design

Page 155 of 224


C3 CS 12/14/04

CS 380

Computer Networks

Major Topics Covered in the Course


Network ArchitecturesOSI and TCP/IP
Layering and Protocols
Bandwidth/Throughput
Congestion Control
Ethernet
Routing Algorithms
Network Layer
Internet Protocol (IP)
Physical Layer
Data Link Layer
Transport Layer
TCP, UDP, and RPC
Application Layer
Packet Switching
Network Security and Cryptography
Internetworking
Electronic Mail
World Wide Web
Laboratory projects (specify number of weeks on each)
Client/Server (TCP Sockets) Round Trip Time (RTT) packet analysis application. (2 weeks)
Switch (Cisco) Lab, e.g. use basic IOS functionality, assign IP address and create VLAN.
(2 weeks)
Router (Cisco) Lab, e.g. configure interfaces and disable/enable RIP protocol. (2 weeks)
Estimate Curriculum Category Content (Quarter hours)
Area

Core

Theoretical Foundations
Algorithms
Data Structures
Software Design
Concepts of Programming Languages
Computer Organization and Architecture

Advanced
1.5
0.5
1
0.5
0.5

Page 156 of 224


C3 CS 12/14/04

CS 380

Computer Networks

Oral and Written Communications


Every student is required to submit at least 4 written reports (not including exams, tests,
quizzes, or commented programs) of typically 45 pages and to make 0 oral
presentations of typically
minutes duration. Include only material that is graded for
grammar, spelling, style, and so forth, as well as for technical content, completeness, and
accuracy.
Social and Ethical Issues
Please list the topics that address the social and ethical implications of computing covered in
all course sections. Estimate the class time spent on each topic. In what ways are the students
in this course graded on their understanding of these topics (e.g., test questions, essays, oral
presentations, and so forth)?
Not covered in this course except for occasional comments.
Theoretical Content
Please list the types of theoretical material covered, and estimate the time devoted to such
coverage.
Theories applied in networking include graph theory. Graphs provide a natural model for
networking topologies, and graph algorithms (e.g., shortest path and spanning tree
construction) appear in many practical designs for packet routing. Queuing theory is
relevant in congestion and flow control. Students are expected to have completed
CS 241(Data Structures and Algorithms II), which provides coverage of appropriate graph
theory and algorithms.
Problem Analysis
Please describe the analysis experiences common to all course sections.
Practical networking is the result of some years of evolution involving university and
industry efforts. In some ways, it is as much driven by ad hoc standards and practices as
by theoretically elegant designs.
Solution Design
Please describe the design experiences common to all course sections.
The student is exposed to many designs that have gained practical favor. For example,
students will gain exposure to Internet-style networking, including the design of the
Internet Protocol (IP) and the design of the Transmission Control Protocol (TCP).

Page 157 of 224


C3 CS 12/14/04

CS 408

Programming Languages
COURSE DESCRIPTION

Dept Number: CS 408


Course Title: Programming Languages
Quarter hours:
4
Course Coordinator: Dr. H. K. Liu
URL (if any):
Current Catalog Description
Concepts in programming languages. Virtual machines and abstraction. Syntax and semantics.
Declarations and types. Scoping and binding. Data abstraction. Control abstraction. Run-time
organization. Programming paradigms. 4 lectures/problem-solving. Prerequisites: CS 264 and
CS 311 with grades of C or better, or consent of instructor.
Textbook
Robert W. Sebesta, Concepts Of Programming Languages, Addison-Wesley.
References

Course Goals
Understanding of the important concepts of abstraction, information hiding, parameterization,
and binding.
Appreciation of the major programming paradigms, and of issues such as concurrency.
Understanding of the run time representations of programs and data structures and their
relation to programming language and computer architecture.
Improved background for choosing appropriate languages.
Greater ability to learn new languages.
Understanding of the significance of language implementation.
Ability to design new languages.
Overall advancement of computing.
Prerequisites by Topic
Computer Organization and Assembly Programming
Language Translation and Automata
Programming competence

Page 158 of 224


C3 CS 12/14/04

CS 408

Programming Languages

Major Topics Covered in the Course


Preliminaries (2 hours)
Evolution of the Major Programming Languages (4 hours)
Names, Bindings, Type Checking, and Scopes (8 hours)
Programming Language Fortran (4 hours)
Data Types (4 hours)
Programming Language Pascal (4 hours)
Expressions and Assignment Statements (2 hours)
Statement-Level Control Structures (4 hours)
Subprograms (2 hours)
Implementing Subprograms (4 hours)
Testing (2 hours)
Laboratory projects (specify number of weeks on each)
String processing in Fortran77 (2 weeks)
Linked-list processing in Pascal (2 weeks)
Estimate Curriculum Category Content (Quarter hours)
Area

Core

Theoretical Foundations
Algorithms
Data Structures
Software Design
Concepts of Programming Languages
Computer Organization and Architecture

Advanced

1
3

Oral and Written Communications


Every student is required to submit at least 0 written reports (not including exams, tests,
quizzes, or commented programs) of typically
pages and to make 0 oral
presentations of typically
minutes duration. Include only material that is graded for
grammar, spelling, style, and so forth, as well as for technical content, completeness, and
accuracy.
Social and Ethical Issues
Please list the topics that address the social and ethical implications of computing covered in
all course sections. Estimate the class time spent on each topic. In what ways are the students
in this course graded on their understanding of these topics (e.g., test questions, essays, oral
presentations, and so forth)?
Not addressed in this course.

Page 159 of 224


C3 CS 12/14/04

CS 408

Programming Languages

Theoretical Content
Please list the types of theoretical material covered, and estimate the time devoted to such
coverage.
Theory is peripheral to this course.
Problem Analysis
Please describe the analysis experiences common to all course sections.
Students are expected to analyze different programming languages in terms of readability,
writability, reliability, and portability.
Solution Design
Please describe the design experiences common to all course sections.
String processing software design.
Link-list processing software design.

Page 160 of 224


C3 CS 12/14/04

CS 411

Compilers and Interpreters


COURSE DESCRIPTION

Dept Number: CS 411


Course Title: Compilers and Interpreters
Quarter hours:
4
Course Coordinator: Dr. Daisy F. Sang
URL (if any):
Current Catalog Description
Language translation systems. Parsing techniques. Run-time environments. Syntax-directed
translation. Intermediate code generation and optimization. 4 lectures/problem-solving.
Prerequisite: CS 311 with a grade of C or better, or consent of instructor.
Textbook
A. V. Aho, M. S. Lam, R. Sethi, and J. D. Ullman, CompilersPrinciples, Techniques, and
Tools, Second Edition, Pearson Addison-Wesley, 2007, ISBN 0-321-48681-1
References
D. Galles, Modern Compiler Design, Scott/Jones, Inc., 2005, ISBN 1-57676-105-3
Course Goals
In-depth study of DFA-driven lexical analysis, top-down and bottom-up syntax analysis
including LL, SLR, LR, and LALR techniques. Knowledge of the theory of syntax-directed
semantic analysis and its applications to type checking, code generation, interpreter design,
and general semantic definition. Experience in using lexer and parser generator tools.
Prerequisites by Topic
Regular language theory
Context free language theory
Data structures such as tables, linked lists, and trees
Ability to write and debug large programs
Assembly level pseudo codes

Page 161 of 224


C3 CS 12/14/04

CS 411

Compilers and Interpreters

Major Topics Covered in the Course


Introduction to compiling (2 hours)
Lexical analysis (2 hours)
Design of a lexical analyzer and the use of Lex (3 hours)
Context-free grammar normalizations (2 hours)
General methods for solving the membership problem (2 hours)
LL grammars, parsers, and top-down parsing (6 hours)
LR grammars, parsers, and bottom-up parsing (8 hours)
Implementation of a shift-reduce parsing and the use of Yacc (3 hours)
Syntax directed translation (6 hours)
Intermediate code generation (4 hours)
Testing (2 hours)
Laboratory projects (specify number of weeks on each)
Use a lexer generator tool (Lex, JLex, or JavaCC) to construct a scanner for a simple
programming language called Toy, a Java/C++ like language. The scanner should (1) translate
any input Toy program into a sequence of tokens based on the given lexical conventions, and
(2) create a symbol table for all user-defined identifiers. (2 weeks)
Use a parser generator tool (Yacc, Cup, or JavaCC) to construct an LALR parser for Toy. The
program will implement a one-pass compiler and also perform one-symbol look ahead shiftreduce parsing on various input test programs and output appropriate parsing actions for each
token generated from the first project. (2 weeks)
Use a parser generator tool to construct a syntax-directed semantic analyzer that evaluates
attributes of an S-attributed translation scheme during LR parsing. If time allows, the program
should also implement a code generator for arithmetic expressions. The output file should
contain the source program with line numbers, error messages (if any), and the three-address
code for expressions. (2 weeks)
Estimate Curriculum Category Content (Quarter hours)
Area

Core

Theoretical Foundations
Algorithms
Data Structures
Software Design
Concepts of Programming Languages
Computer Organization and Architecture

Advanced
1
1
1
1

Page 162 of 224


C3 CS 12/14/04

CS 411

Compilers and Interpreters

Oral and Written Communications


Every student is required to submit at least 0 written reports (not including exams, tests,
quizzes, or commented programs) of typically
pages and to make 0 oral
presentations of typically
minutes duration. Include only material that is graded for
grammar, spelling, style, and so forth, as well as for technical content, completeness, and
accuracy.
Social and Ethical Issues
Please list the topics that address the social and ethical implications of computing covered in
all course sections. Estimate the class time spent on each topic. In what ways are the students
in this course graded on their understanding of these topics (e.g., test questions, essays, oral
presentations, and so forth)?
Not addressed in this course.
Theoretical Content
Please list the types of theoretical material covered, and estimate the time devoted to such
coverage.
Regular sets and their recognizers
LL grammars, LR grammars, and their recognizers
Predictive parsing algorithms
Shift-reduce parsing algorithms
Syntax-directed definitions
Problem Analysis
Please describe the analysis experiences common to all course sections.
Given a context-free grammar, students should be able to analyze and verify if it is an
LL(k) grammar, an SLR grammar, an LALR(1) grammar, or an LR(k) grammar.
Solution Design
Please describe the design experiences common to all course sections.
Given lexical conventions of a programming language, students design regular expressions
for tokens and define a lexical specification for the compiler construction tool used.
Given BNF for a programming language, students design a corresponding LALR grammar
and the parser specification for the compiler construction tool used.

Page 163 of 224


C3 CS 12/14/04

CS 420

Artificial Intelligence
COURSE DESCRIPTION

Dept Number: CS 420


Course Title: Artificial Intelligence
Quarter hours:
4
Course Coordinator: Dr. H. K. Liu
URL (if any):
Current Catalog Description
Overview of the different application areas of AI. Introduction to basic AI concepts and
techniques such as heuristic search, knowledge representation, automated reasoning. In-depth
discussion of several AI application areas: their specific problems, tools and techniques.
Consideration of ethical and social dilemmas posed by AI. 4 lectures/problem-solving.
Prerequisites: STA 326 and CS 311 with a grade of C or better, or consent of instructor.
Textbook
Nils J. Nilsson, Artificial Intelligence: A New Synthesis, Morgan Kaufmann, 1998.
References

Course Goals
Understanding of the goals and ramifications of Artificial Intelligence.
Understanding of the role of search in AI, and ability to formulate AI problems as search
problems.
Understanding of, and ability to use, the general graph search algorithm, best-first search, and
A* search algorithm.
Understanding of, and ability to use, specialized search techniques for constraint-satisfaction
problems and two-agent games.
Familiarity with different approaches with different approaches to knowledge representation
and knowledge manipulation in the search for solutions to complex problems.
Understanding of neural networks and ability to design training procedure for a neural
network.
Understanding of machine learning.
Understanding of reasoning with uncertain information.
Understanding of ethical and social implications of the advances in creation of intelligent
systems.

Page 164 of 224


C3 CS 12/14/04

CS 420

Artificial Intelligence

Prerequisites by Topic
Statistics
Language Translation and Automata
Programming competence
Major Topics Covered in the Course
Goals and ramifications of Artificial Intelligence (4 hours)
Search in AI (6 hours)
General graph search algorithm, best-first search, A* search algorithm (8 hours)
Two-agent games (6 hours)
Neural networks and machine learning (4 hours)
Reasoning with uncertain information (4 hours)
Knowledge representation and knowledge manipulation (4 hours)
Ethical and social implications of the intelligent systems (2 hours)
Testing (2 hours)
Laboratory projects (specify number of weeks on each)
Wine puzzle using Breadth-first-search & depth-first-search (2 weeks)
8 puzzle using heuristic (A*, admissible A*) search (2 weeks)
Machine learning on the game of Nim (2 weeks)
Estimate Curriculum Category Content (Quarter hours)
Area
Theoretical Foundations
Algorithms
Data Structures
Software Design
Concepts of Programming Languages
Computer Organization and Architecture

Core

Advanced
1
1
1
1

Oral and Written Communications


Every student is required to submit at least 1 written reports (not including exams, tests,
quizzes, or commented programs) of typically 10 pages and to make 0 oral
presentations of typically
minutes duration. Include only material that is graded for
grammar, spelling, style, and so forth, as well as for technical content, completeness, and
accuracy.

Page 165 of 224


C3 CS 12/14/04

CS 420

Artificial Intelligence

Social and Ethical Issues


Please list the topics that address the social and ethical implications of computing covered in
all course sections. Estimate the class time spent on each topic. In what ways are the students
in this course graded on their understanding of these topics (e.g., test questions, essays, oral
presentations, and so forth)?
Ethical and social implications of the intelligent systems (2 hours)
Students in this course are required to write an essay on their understanding of ethical and
social implications of AI.
Theoretical Content
Please list the types of theoretical material covered, and estimate the time devoted to such
coverage.
Admissibility and optimality of A* algorithm (4 hours)
Problem Analysis
Please describe the analysis experiences common to all course sections.
Search cost analysis
Alpha-beta cutoff analysis
Solution Design
Please describe the design experiences common to all course sections.
Problem solving using AI technique.

Page 166 of 224


C3 CS 12/14/04

CS 431

Operating Systems
COURSE DESCRIPTION

Dept Number: CS 431


Course Title: Operating Systems
Quarter hours:
4
Course Coordinator: Dr. H. K. Liu
URL (if any):
Current Catalog Description
Overview of operating systems. Operating system structures. Process management.
Concurrency and synchronization. Deadlock. Processor management. Scheduling and
dispatch. Memory management. Virtual memory. Device management. File systems. Security,
privacy and acceptable use. Technical paper required. 4 lectures/problem-solving. Prerequisite:
CS 241 and CS 365 with grades of C or better, or consent of instructor.
Textbook
Silberschatz, Galvin, & Gagne, Operating System Concepts with Java, 7th Edition, John Wiley
& Sons.
References
Dennis M. Ritchie, The Evolution of the Unix Time-sharing System.
D. M. Ritchie and K. Thompson, The UNIX Time-Sharing System.
Ronda Hauben, The History of UNIX.
Course Goals
Understanding of the nature of an operating system and the functionality required of it.
Understanding of the programs, processes, and threadstheir scheduling, state changes, and
behavior and the role of the operating system in their control.
Understanding of the complexities of sharing of resourcesprocessor, memory, storage, and
I/O.
Understanding of the underlying problems such as deadlock, starvation, fragmentation, and
thrashingtheir causes and the strategies for dealing with them.
Understanding of the fundamental algorithms in programs that simulate operating system
behavior.
Understanding of the social and ethical considerations as they relate to OS security, privacy,
and property rights.

Page 167 of 224


C3 CS 12/14/04

CS 431

Operating Systems

Prerequisites by Topic
Computer Architecture
Advanced data structures
File organization
Programming maturity
Major Topics Covered in the Course
Introduction and overview of operating system (2 hours)
Process/processor concepts (4 hours)
Job and processor scheduling (6 hours)
Asynchronous concurrent processes (6 hours)
Deadlock (6 hours)
Memory management (8 hours)
File system (4 hours)
Social and ethical considerations relating to OS security, privacy, and property rights (2 hours)
Testing (2 hours)
Laboratory projects (specify number of weeks on each)
Job and processor scheduling (2 weeks)
Asynchronous concurrent processes (2 weeks)
Virtual memory management (2 weeks)
Estimate Curriculum Category Content (Quarter hours)
Area

Core

Theoretical Foundations
Algorithms
Data Structures
Software Design
Concepts of Programming Languages
Computer Organization and Architecture

Advanced
2
1
1

Oral and Written Communications


Every student is required to submit at least 1 written reports (not including exams, tests,
quizzes, or commented programs) of typically 10 pages and to make 0 oral
presentations of typically
minutes duration. Include only material that is graded for
grammar, spelling, style, and so forth, as well as for technical content, completeness, and
accuracy.

Page 168 of 224


C3 CS 12/14/04

CS 431

Operating Systems

Social and Ethical Issues


Please list the topics that address the social and ethical implications of computing covered in
all course sections. Estimate the class time spent on each topic. In what ways are the students
in this course graded on their understanding of these topics (e.g., test questions, essays, oral
presentations, and so forth)?
Social and ethical considerations as they relate to OS security, privacy, and property rights
(2 hours)
Students in this course are required to write an essay on their understanding of ethical,
social, and economic Impacts of technology.
Theoretical Content
Please list the types of theoretical material covered, and estimate the time devoted to such
coverage.
Theory is peripheral to this course.
Problem Analysis
Please describe the analysis experiences common to all course sections.
Analysis of waiting time, turnaround time, and resource utilization.
Solution Design
Please describe the design experiences common to all course sections.
Software design of resource scheduler, critical section solution, and virtual memory
management system.

Page 169 of 224


C3 CS 12/14/04

CS 435

Database Systems
COURSE DESCRIPTION

Dept Number: CS 435


Course Title: Database Systems
Quarter hours:
4
Course Coordinator: Dr. Barry I. Soroka
URL (if any):
Current Catalog Description
Database system fundamentals. System components and architecture. Data models, including
Entity-Relationship model, relational model and object-oriented model. Theory of database
design and data manipulation processes using relational algebra and calculus. SQL in
programming language environments. Introduction to concurrency, security, recovery, and
transaction handling. Ethical and social issues. 4 lectures/problem-solving. Prerequisite:
CS 241 with a grade of C or better, or consent of instructor.
Textbook
Raghu Ramakrishnan & Johannes Gehrke, Database Management Systems, Third Edition.
Boston MA: McGraw-Hill, 2003. ISBN 0-07-246563-8
References

Course Goals
Theoretical foundations of database systemboth schema design and data manipulation. Use
of a current relational database system. Familiarity with SQL. Interfacing of a general-purpose
computer language to a database management system.
Prerequisites by Topic
Programming in a modern general-purpose language.
Data structuresinterfaces and implementations.

Page 170 of 224


C3 CS 12/14/04

CS 435

Database Systems

Major Topics Covered in the Course


Review of discrete math (2 hours)
ER model (4 hours)
The relational model (4 hours)
SQL (4 hours)
Relational algebra (4 hours)
Relational calculus (2 hours)
Interfacing Java with Access (2 hours)
Functional Dependencies (6 hours)
Normalization (6 hours)
Optimization (4 hours)
Tests (2 hours)
Laboratory projects (specify number of weeks on each)
Define and populate some tables in Microsoft Access using the GUI. (1 week)
Use interactive SQL queries on an Access database. (1 week)
Write a Java program that interfaces with an Access database. Manipulate tables and execute
queries. (1.5 weeks)
Write a Java program which checks for complicated constraints on a database. (1.5 weeks)
Write a Java program that uses the COMMIT and ROLLBACK commands to enforce
complicated constraints on a database. (1.5 weeks)
Write a Java program that computes the closure of a set of attributes given a set of functional
dependencies. Discuss how you have represented the conceptual entities in your program.
(1.5 weeks)
Compute the candidate keys of a set of attributes under a given set of functional dependencies.
(1.5 weeks)
Experiment with a database to determine the time penalty paid for insertions with and without
a primary key constraint. (1.5 weeks)
Estimate Curriculum Category Content (Quarter hours)
Area

Core

Theoretical Foundations
Algorithms
Data Structures
Software Design
Concepts of Programming Languages
Computer Organization and Architecture

Advanced
1
1
1
1

Page 171 of 224


C3 CS 12/14/04

CS 435

Database Systems

Oral and Written Communications


Every student is required to submit at least 1 written reports (not including exams, tests,
quizzes, or commented programs) of typically 3 pages and to make 0 oral
presentations of typically
minutes duration. Include only material that is graded for
grammar, spelling, style, and so forth, as well as for technical content, completeness, and
accuracy.
Social and Ethical Issues
Please list the topics that address the social and ethical implications of computing covered in
all course sections. Estimate the class time spent on each topic. In what ways are the students
in this course graded on their understanding of these topics (e.g., test questions, essays, oral
presentations, and so forth)?
Students must research and write a short paper concerning social and ethical issues raised
by databases.
Theoretical Content
Please list the types of theoretical material covered, and estimate the time devoted to such
coverage.
Relational model (4 hours)
Relational algebra (4 hours)
Functional dependencies (6 hours)
Normalization (6 hours)
Optimization (4 hours)
Problem Analysis
Please describe the analysis experiences common to all course sections.
N/A
Solution Design
Please describe the design experiences common to all course sections.
Homework projects require that students examine a problem description, design the I/O of
a program, and design an implementation for that program.

Page 172 of 224


C3 CS 12/14/04

CS 445

Computer Graphics
COURSE DESCRIPTION

Dept Number: CS 445


Course Title: Computer Graphics
Quarter hours:
4
Course Coordinator: Dr. Robert W. Kerbs
URL (if any):
Current Catalog Description
Basic concepts in 2D and 3D graphics. Graphics hardware. Drawing concepts in 2D and 3D
graphics. Geometric transformations. Windowing and clipping algorithms. Simple hidden line
and surface removal. Color models and applications. 3D modeling. Animation. OpenGL
libraries. 4 lectures/problem-solving. Prerequisites: CS 241 and CS 256 with grades of C or
better, or consent of instructor.
Textbook
Edward Angel, OpenGL: A Primer, Second Edition. Boston: Pearson Addison-Wesley, 2005.
ISBN 0-321-23762-5
References

Course Goals
A solid foundation of 2D and 3D graphics drawing concepts and geometric transformations.
Understanding of windowing and clipping algorithms. Comprehension of hidden line and
surface removal techniques. Appreciation of the role of color models in applications. Basic
understanding of animation techniques. Experience programming with OpenGL.
Prerequisites by Topic
Abstract data types
Trees
Graphs
Sorting
Hashing and searching
File concepts: byte I/O, character I/O, object I/O, random access
Primitive types in C/C++
Class and Method design
Variables, literals, and expressions
Control statements
Functions and parameter passing

Page 173 of 224


C3 CS 12/14/04

CS 445

Computer Graphics

Recursion, function overloading and default arguments


Pointers
Arrays (static and dynamic)
Strings and input/output
Inheritance
Polymorphism
Major Topics Covered in the Course
Hardware and software principles (2 hours)
Color models (1 hour)
Geometric transformations (2 hour)
Animation (2 hours)
2/3-Dimensional coordinate system (1 hour)
Advanced Graphics libraries and tool kits (5 hours)
3D Computer Graphics pipeline (2 hour)
Curved line generation (Hermite, Bezier, b-spline, Overhouser) (1 hour)
Hidden Surface Removal Algorithms (2 hours)
Object/Image space algorithms (2 hours)
Clipping (2 hours)
Shading, Lighting, and Color (5 hours)
Texture Mapping (5 hours)
Fractal surfaces (1 hour)
Modeling Hierarchies (2 hours)
Ray Casting/Tracing (2 hours)
CAD/CAM (1 hour)
Testing (2 hours)
Laboratory projects (specify number of weeks on each)
Create an OpenGL world that utilizes the keyboard for traversing your environment. Use
perspective projection and double-buffering. (2 weeks)
Create an OpenGL world that utilizes the function keys to control the look of various elements
in the scene. Lighting should be able to be turned on/off. Include diffuse, specular, and
ambient light sources. Your project should be able to switch between Gouraud and flat shading
models. (2 weeks)
Create an OpenGL world that utilizes the function keys to control the look of various elements
in the scene. Lighting should be able to be turned on/off. Include diffuse, specular, and
ambient light sources. One object should be animated while another object should emit light.
One rectangular and one cylindrical object should be texture-mapped. (3 weeks)

Page 174 of 224


C3 CS 12/14/04

CS 445

Computer Graphics

Estimate Curriculum Category Content (Quarter hours)


Area
Theoretical Foundations
Algorithms
Data Structures
Software Design
Concepts of Programming Languages
Computer Organization and Architecture

Core

Advanced
1
1
1
1

Oral and Written Communications


Every student is required to submit at least 0 written reports (not including exams, tests,
quizzes, or commented programs) of typically
pages and to make 0 oral
presentations of typically
minutes duration. Include only material that is graded for
grammar, spelling, style, and so forth, as well as for technical content, completeness, and
accuracy.
Social and Ethical Issues
Please list the topics that address the social and ethical implications of computing covered in
all course sections. Estimate the class time spent on each topic. In what ways are the students
in this course graded on their understanding of these topics (e.g., test questions, essays, oral
presentations, and so forth)?
Not addressed in this course.
Theoretical Content
Please list the types of theoretical material covered, and estimate the time devoted to such
coverage.
Color models (1 hour)
Geometric transformations (2 hours)
Animation (2 hours)
2/3-Dimensional coordinate system (1 hour)
3D Computer Graphics pipeline (2 hours)
Curved line generation (Hermite, Bezier, b-spline, Overhouser) (1 hour)
Hidden Surface Removal Algorithms (2 hours)
Object/Image space algorithms (2 hours)
Clipping (2 hours)
Shading, Lighting, and Color (5 hours)
Texture Mapping (5 hours)
Fractal surfaces (1 hour)
Modeling Hierarchies (2 hours)
Ray Casting/Tracing (2 hours)

Page 175 of 224


C3 CS 12/14/04

CS 445

Computer Graphics

Problem Analysis
Please describe the analysis experiences common to all course sections.
Students are expected to associate algorithms with the problems they solve and to
recognize when particular algorithms (e.g. Gouraud shading) are appropriate.
Students should be able to examine a problem domain and devise a hierarchy appropriate
to represent it using OpenGL and C/C++.
Solution Design
Please describe the design experiences common to all course sections.
Given a word problem involving a graphics virtual world, students should be able to
design and implement appropriate classes, data structures, and algorithms to realize that
virtual world.
Students should be able to examine a problem domain and devise a hierarchy appropriate
to represent it using OpenGL and C/C++.

Page 176 of 224


C3 CS 12/14/04

CS 450

Computability
COURSE DESCRIPTION

Dept Number: CS 450


Course Title: Computability
Quarter hours:
4
Course Coordinator: Dr. Craig A. Rich
URL (if any):
Current Catalog Description
Abstract models of computation, including Turing machines. Church-Turing thesis.
Decidability. Theoretical and practical capabilities and limitations of computing machines.
4 lectures/problem-solving. Prerequisite: CS 311 with a grade of C or better, or consent of
instructor.
Textbook
Hopcroft, John E., Motwani, Rajeev, and Ullman, Jeffrey D., Introduction to Automata
Theory, Languages, and Computation, Second Edition, Addison-Wesley, 2001.
References
Lewis, H. R., and Papadimitriou, C., Elements of the Theory of Computation, Prentice-Hall,
1981.
Rich, Craig A., Computability. CS 450 lecture notes.
Course Goals
An understanding of abstract formal models of computational problems and algorithms and
ability to use them in order to obtain practical results about the inherent difficulty of
computational problems and the inherent limitations of algorithms.
Prerequisites by Topic
Set theory
Logic
Formal grammars
Finite automata
Pumping theorem
Pushdown automata
Closure properties

Page 177 of 224


C3 CS 12/14/04

CS 450

Computability

Major Topics Covered in the Course


Models of computation (3 hours)
Turing machines and computers (3 hours)
Computation, enumeration, acceptance, decision problems (2 hours)
Recursively enumerable languages (2 hours)
Recursive languages (2 hours)
Diagonalization (2 hours)
Paradoxes and undecidable problems (4 hours)
Rice's theorem (2 hours)
Church-Turing thesis (2 hours)
Recursive functions (2 hours)
Phrase structure grammars (2 hours)
Formalizing relative computability (6 hours)
Hardness and completeness (4 hours)
Tests (4 hours)
Laboratory projects (specify number of weeks on each)
There are not necessarily computer projects assigned in this course, although some classes
implement Turing machine simulators.
Estimate Curriculum Category Content (Quarter hours)
Area
Theoretical Foundations
Algorithms
Data Structures
Software Design
Concepts of Programming Languages
Computer Organization and Architecture

Core

Advanced
3
0.5
0.5

Oral and Written Communications


Every student is required to submit at least 0 written reports (not including exams, tests,
quizzes, or commented programs) of typically
pages and to make 0 oral
presentations of typically
minutes duration. Include only material that is graded for
grammar, spelling, style, and so forth, as well as for technical content, completeness, and
accuracy.

Page 178 of 224


C3 CS 12/14/04

CS 450

Computability

Social and Ethical Issues


Please list the topics that address the social and ethical implications of computing covered in
all course sections. Estimate the class time spent on each topic. In what ways are the students
in this course graded on their understanding of these topics (e.g., test questions, essays, oral
presentations, and so forth)?
Rices theorem establishes the undecidability of nontrivial semantic questions about
software, which has socially significant impact on software developers who must build
reliable software. 2 hours spent, graded by test questions requiring application of Rices
theorem.
Theoretical Content
Please list the types of theoretical material covered, and estimate the time devoted to such
coverage.
Almost all of the content in the course is theoretical, as the course focuses on abstract
representation of problems as languages, abstract models of computation, and the
classification of and relationships between problems induced by various models of
computation. About 80% of the course time is devoted to theoretical content.
Problem Analysis
Please describe the analysis experiences common to all course sections.
Read, understand and verify the correctness of formal mathematical proofs.
Determine the language accepted or function computed by a given Turing machine.
Classify a given problem or language.
Show that a given problem is complete or hard for a given class of problems.
Solution Design
Please describe the design experiences common to all course sections.
Design Turing machines to accept a given language or compute a given function.
Design a many-one or Turing reduction from a given language to another.
Apply Rices theorem.

Page 179 of 224


C3 CS 12/14/04

CS 460

Secure Communication
COURSE DESCRIPTION

Dept Number: CS 460


Course Title: Secure Communication
Quarter hours:
4
Course Coordinator: Dr. Craig A. Rich
URL (if any):
Current Catalog Description
Public-key systems, digital signatures, ciphers, the Advanced Encryption Standard, access
security, control of information flow. 4 lectures/problem-solving. Prerequisite: senior standing
in Computer Science and CS 241 with a grade of C or better, or consent of instructor.
Textbook
William Stallings, Cryptography and Network SecurityPrinciples and Practices, Fourth
Edition, Pearson Prentice Hall, 2006, ISBN 0-13-187316-4
References
Bruce Schneier, Applied Cryptography, John Wiley & Sons, 1996.
Craig Rich, CS 460 Lecture Notes, unpublished.
Course Goals
Students should learn cryptographic communication protocols for key exchange,
authentication, and resource access control, and understand their use in practical secure
communication mechanisms. Students should be able to identify the weakest security link in a
networked system. Several leading cryptographic systems, including AES and RSA will be
analyzed and discussed. Graduating students who have taken this elective should be
considered relatively expert by employers seeking computer security specialists.
Prerequisites by Topic
Discrete Structures
Programming Proficiency
Worst-Case Running Time Analysis
Boolean and Propositional Logic
Basic Probability
Basic Computer and Network Architecture
Ability to Analyze Problems and Devise Solutions

Page 180 of 224


C3 CS 12/14/04

CS 460

Secure Communication

Major Topics Covered in the Course


Secret Key Cryptography
Shannon Secrecy Theory
Key Distribution Protocols
The Data Encryption Standard (DES)
The Advanced Encryption Standard (AES)
Public Key Cryptography
Rivest-Shamir-Adleman Encryption (RSA)
Digital Signatures
Pretty Good Privacy (PGP)
Secure Sockets Layer (SSL)
Quantum Cryptography
Zero-Knowledge Interactive Proofs
Laboratory projects (specify number of weeks on each)
Cryptanalyze ciphertexts produced using single and multiple substitution ciphers. (1 week)
Implement an AES cryptosystem from scratch. (3 weeks)
Implement an RSA cryptosystem from scratch. (3 weeks)
Build a PGP-integrated community for secure communication among classmates. (1.5 weeks)
Estimate Curriculum Category Content (Quarter hours)
Area
Theoretical Foundations
Algorithms
Data Structures
Software Design
Concepts of Programming Languages
Computer Organization and Architecture

Core

Advanced
1
2
0.5
0.5

Oral and Written Communications


Every student is required to submit at least 0 written reports (not including exams, tests,
quizzes, or commented programs) of typically
pages and to make 0 oral
presentations of typically
minutes duration. Include only material that is graded for
grammar, spelling, style, and so forth, as well as for technical content, completeness, and
accuracy.

Page 181 of 224


C3 CS 12/14/04

CS 460

Secure Communication

Social and Ethical Issues


Please list the topics that address the social and ethical implications of computing covered in
all course sections. Estimate the class time spent on each topic. In what ways are the students
in this course graded on their understanding of these topics (e.g., test questions, essays, oral
presentations, and so forth)?
Living in a surveillance society (.5 hours)
Constitutional right to privacy (.5 hours)
Social tendencies toward security through obscurity (.5 hours)
Governments who advise citizens to use marginally weak security (.5 hours)
Historical uses of cryptography and cryptanalysis (1 hour)
Who and how do you trust? (2 hours)
Theoretical Content
Please list the types of theoretical material covered, and estimate the time devoted to such
coverage.
Shannons information and secrecy theory (4 hours)
Formalization of encryption/decryption functions (1 hour)
Proof of unique decryption theorem for AES and RSA (2 hours)
Proofs of basic properties about uncertainty and conditional uncertainty (3 hours)
Definition and proofs of perfect secrecy (3 hours)
Galois field theory (2 hours)
Problem Analysis
Please describe the analysis experiences common to all course sections.
Cryptanalyze ciphertext produced by substitution ciphers.
Measure the uncertainty in given discrete probability distributions.
Solution Design
Please describe the design experiences common to all course sections.
Every student implements a complete AES cryptosystem, supporting standard 128-bit
block size and 128-, 192-, and 256-bit key sizes, as well as more flexible parameters
allowed in the original Rijndael cryptosystem. Every student implements a complete RSA
cryptosystem, including key generation, encryption/decryption and signatures.

Page 182 of 224


C3 CS 12/14/04

CS 463

Undergraduate Seminar
COURSE DESCRIPTION

Dept Number: CS 463


Course Title: Undergraduate Seminar
Quarter hours:
2
Course Coordinator: Dr. Lan Yang
URL (if any):
Current Catalog Description
Technical presentations by students on current developments in computer science. Seminar
discussions of ethical, social and economic impacts of technology. Essays on seminar topics.
2 lecture discussions. Prerequisite: senior standing in computer science and a passing score on
GWT.
Textbook
None.
References
Baase, S., A Gift of Fire: Social, Legal, and Ethical Issues for Computing and the Internet, 3rd
Edition, Prentice-Hall, 2008.
Johnson, D. G. and Nissenbaum, H. (eds.), Computers, Ethics & Social Values, Prentice-Hall,
1995.
Course Goals
Independent, in-depth research of a specific topic in Computer Science. Heightened student
awareness of ethical, social, and economic issues in computer science. Develop students oral
and written communications abilities.
Prerequisites by Topic
Experience in oral communication as provided by general education courses
Competence in written communication
Maturity in computer science
Major Topics Covered in the Course
Each student selects a computer science related topic for presentation. The instructor selects
one or more topics for sample presentation as well as a presentation on computer ethics.
Writing assignments cover additional topics. Each topic covered receives approximately
1 hour of class time.

Page 183 of 224


C3 CS 12/14/04

CS 463

Undergraduate Seminar

Laboratory projects (specify number of weeks on each)


There are generally no computer projects assigned in this course.
Estimate Curriculum Category Content (Quarter hours)
Area

Core

Advanced

Theoretical Foundations
Algorithms
Data Structures
Software Design
Concepts of Programming Languages
Computer Organization and Architecture
Oral and Written Communications
Every student is required to submit at least 3 written reports (not including exams, tests,
quizzes, or commented programs) of typically 5 pages and to make 1 oral
presentations of typically 40 minutes duration. Include only material that is graded for
grammar, spelling, style, and so forth, as well as for technical content, completeness, and
accuracy.
Social and Ethical Issues
Please list the topics that address the social and ethical implications of computing covered in
all course sections. Estimate the class time spent on each topic. In what ways are the students
in this course graded on their understanding of these topics (e.g., test questions, essays, oral
presentations, and so forth)?
Introduction to computer ethics (0.5 hour)
Privacy and responsibility (0.5 hour)
Reliability (0.5 hour)
Security (0.5 hour)
Intellectual property (0.5 hour)
Computer crime (0.5 hour)
One essay on computer ethics is graded.
Theoretical Content
Please list the types of theoretical material covered, and estimate the time devoted to such
coverage.
None.

Page 184 of 224


C3 CS 12/14/04

CS 463

Undergraduate Seminar

Problem Analysis
Please describe the analysis experiences common to all course sections.
None.
Solution Design
Please describe the design experiences common to all course sections.
None.

Page 185 of 224


C3 CS 12/14/04

CS 480

Software Engineering
COURSE DESCRIPTION

Dept Number: CS 480


Course Title: Software Engineering
Quarter hours:
4
Course Coordinator: Dr. Salam Salloum
URL (if any):
Current Catalog Description
Models of the software development process and metrics. Software requirements and
specifications. Methodologies, tools and environments. Human-computer interaction. Software
design and architecture. Project management. Cost estimation. Testing and validation.
Maintenance and evolution. 4 lectures/problem-solving. Prerequisite: CS 331 with a grade of
C or better, or consent of instructor.
Textbook
Roger S. Pressman, Software Engineering: A Practitioner's Approach, 6th Edition, McGrawHill, 2005.
References
Ian Sommerville, Software Engineering, 7th Edition, Addison-Wesley, 2006.
Stephen Schach, Object-Oriented and Classical Software Engineering, 5th Edition, McGrawHill, 2005.
Course Goals
Understanding of software engineering principles and methodologies.
Detailed coverage of software process.
Survey and familiarize CASE tools.
In-depth view of contemporary approaches.
Prerequisites by Topic
Understanding data structures
Familiarity with different programming approaches
Programming maturity
Ability to work with others in teams

Page 186 of 224


C3 CS 12/14/04

CS 480

Software Engineering

Major Topics Covered in the Course


Introduction and overview of software process models (4 hours)
CASE tool (1 hour)
Teamwork principlesdiscussion (2 hours)
Software project planning (3 hours)
Requirement engineering (5 hours)
Software design methods (6 hours)
Program coding methods (2 hours)
Software testing methods (5 hours)
Agile methods (2 hours)
Documentation and presentation (8 hours)
Testing (2 hours)
Laboratory projects (specify number of weeks on each)
Formation of team (1 week)
Teamwork for one complete software project (chosen from list of over 60 potential projects)
Estimate Curriculum Category Content (Quarter hours)
Area

Core

Theoretical Foundations
Algorithms
Data Structures
Software Design
Concepts of Programming Languages
Computer Organization and Architecture

Advanced
1
2
1

Oral and Written Communications


Every student is required to submit at least 4 written reports (not including exams, tests,
quizzes, or commented programs) of typically 30 pages and to make 2 oral
presentations of typically 2030 minutes duration. Include only material that is graded for
grammar, spelling, style, and so forth, as well as for technical content, completeness, and
accuracy.

Page 187 of 224


C3 CS 12/14/04

CS 480

Software Engineering

Social and Ethical Issues


Please list the topics that address the social and ethical implications of computing covered in
all course sections. Estimate the class time spent on each topic. In what ways are the students
in this course graded on their understanding of these topics (e.g., test questions, essays, oral
presentations, and so forth)?
Some aspects of social impact of software are discussed at the start of quarter. It lasts
about 30 minutes.
Theoretical Content
Please list the types of theoretical material covered, and estimate the time devoted to such
coverage.
Theory is peripheral to this course.
Problem Analysis
Please describe the analysis experiences common to all course sections.
This class is teamwork-oriented and students will develop software by software process
phase more like a waterfall model.
Solution Design
Please describe the design experiences common to all course sections.
As a team, each student performs software requirement analysis, architectural and detail
design and extensive software testing.

Page 188 of 224


C3 CS 12/14/04

2. Course display for the visit. The course outline for each required or elective computer
science course must also be included in a display of course materials that is available for study at
all times during the evaluation visit. The course material display must include at least the
following for each course that can be counted in the computer science segment of the curriculum
being evaluated.

Course name and number, number of credits, meeting times, etc.


Textbook and other required material (e.g. manuals, reference booklets, standards and
documents)
Instructors name and contacts
Syllabus/schedule (provide hardcopy and URL if only available on-line)
Introductory pages that include course objectives, pedagogical approach, assessment
methods (and how these relate to the program objectives if appropriate)
Course policies
Introductory sheet that indicates course locations or sites that show evidence of writing,
presentations, ethics etc. as appropriate
Assignments and projects, tests, exams and important handouts
Student work (examples of graded high/medium/low quality work as well as tests/exams
etc.)
Any feedback mechanisms/examples to students that might be on-line
Any substantive electronically posted communication, threaded discussion, or teamwork
etc.
Course evaluations (measures of success that include, for example, the results of student
surveys and the achievements of students in current or subsequent courses)
Proposed or changes as a result of formative surveys

If a course is taught wholly on-line by a non-resident faculty member then data about that faculty
member must be included in the Self-Study or provided in separate documents for credentialing
purposes. In addition, for wholly on-line courses or a complete degree program, the results of an
electronic CAC survey to that group of students regarding their experiences in the program
(comparative to the usual on-site class visit) should be made available to the visiting team.
If available, please provide the location of URLs on a CAC-visit Website or site containing a set
of URL links that would allow an evaluator to retrieve specific data directly (if not provided in
hardcopy) as indicated above. These should be available before the time of the visit.
Note: In addition to the display materials, it would be very helpful to the visiting team if all
assessment documentation could be available in the same location as the display materials. It is
also very helpful if the display room contains computers with network connections.

Page 189 of 224


C3 CS 12/14/04

V. Laboratories and Computing Facilities


Intent: Laboratories and computing facilities are available, accessible, and adequately
supported to enable students to complete their course work and to support faculty
teaching needs and scholarly activities.
In Section VI you will be asked to describe the planning and acquisition processes for laboratory
equipment. Please do not repeat any of that information here; simply refer to that section, if
necessary, to avoid duplication.
A. Computing Facilities
1. Describe the computing facilities used by students in the program. Indicate the types of
software available in each category. Specify any limitations that impact the quality of the
educational experience.
Institutional computing facilities:
The university provides computing facilities and services through the Division of Instructional
and Information Technology (I&IT). Centrally-provided services include a full range of
identity management, messaging, web publishing, multimedia development, institutional data
and file sharing services with single sign-on and role-based authorization for faculty, staff,
students and applicants. The I&IT Support staff provide a Help Desk and tier 1 support to the
whole community, and escalate requests as necessary to appropriate technical staff in I&IT's
Systems, Applications, Web Development and Learning departments. The Computer Science
Department has a good working relationship with I⁢ its Vice President Debra Brum is a
former Chair of Computer Science, and some of its lead technical staff have B.S. and M.S.
degrees in Computer Science from Cal Poly Pomona.
All network infrastructure is managed by I&IT, providing a class B IP range (134.71.*.*),
high-speed wired connectivity (1 Gb/sec fiber to switches, 100 Mb/sec copper to desktops),
and secure wireless connectivity that covers all laboratories and classrooms used by Computer
Science. All lecture classrooms used by Computer Science have Technology-Enhanced
Learning Spaces (TELS) equipment so instructors are network-connected and can project
online or paper learning materials.
The I&IT Faculty Laptop Initiative provides laptop computers to all faculty on a three-year
refresh cycle.

Page 190 of 224


C3 CS 12/14/04

Program computing facilities:


The Computer Science Department operates four laboratory rooms (8-51, 8-52, 3-2636 and
3-2642), two of which (those in building 3) are brand new and have all new equipment. 8-51 is
a Software Engineering Laboratory with 10 Windows XP Pro workstations accommodating
4 students/workstation in a group development configuration. 8-52 is a Windows Workstation
Laboratory with 35 Windows XP Pro workstations designed for individual student use. 8-2636
is a Linux Laboratory with 35 new workstations designed for individual student use. 8-2642 is
a flexible research laboratory with 14 Linux workstations, a server rack, and an isolated
networking setup with numerous switches and routers for student coursework and projects.
All of the Windows workstations have a full suite of office productivity applications,
Microsoft and open-source software development tools and applications, and a VMWarebased Linux image. All of the Linux workstations have a full suite of open-source software
development tools and applications. The department also has a small robotics workspace
housing a collection of robots (mostly Lego Mindstorm) for collaborative projects and
research. Computer Science has a full-time information technology consultant, who primarily
supports Unix-based operating systems, and secondarily supports Windows operating systems.
Other computing facilities:
The College of Science provides backup, web publishing and file sharing services to faculty
and staff in the College, and also operates the College IT Help Desk staffed by a full-time
information technology consultant and five student assistants (many of who are Computer
Science students). They support faculty and staff office workstations, and have primary system
administration support for Windows workstations in the Computer Science Department. The
College and Department IT staff are co-located in the Computer Science Laboratory 8-51 and
work closely together, so we benefit from a cooperative support arrangement. The Associate
Dean Mandayam Srinivas, who is also a former Chair of the Computer Science Department,
oversees College IT support.

Page 191 of 224


C3 CS 12/14/04

2. Describe the computing facilities planning, acquisition, and maintenance processes and their
adequacy. Include discussion of these topics for university-wide computing facilities
available to all students (if used by your majors), your own laboratories and equipment (if
applicable), and facilities controlled by other departments and/or schools (if used by your
majors).
Network acquisition and maintenance
The network infrastructure is acquired and maintained by the CSU and our I&IT Division. The
connection to campus, core routers, building routers, LAN switches and cabling are first rate.
I&IT Systems has an adequate budget to regularly upgrade switches, and has overseen two
major overhauls of the core network.
Hardware acquisition and maintenance
I&IT has an adequate budget to regularly upgrade server hardware. The I&IT Systems group
operates a substantial Windows forest (win.csupomona.edu) on hardware that was first
acquired in 2002, and much of which is newer. They also operate a substantial Unix server
farm, which is being completely transitioned from older hardware running Sun Solaris to 50+
new servers running Linux. That transition is about 75% complete, with file sharing and web
publishing remaining to transition.
There is no regular provision in the College of Science or Computer Science Department
budgets for acquisition or upgrade of computing hardware, which means it must always be
done by ad hoc means. Those means have been minimally sufficient to maintain Computer
Science Department laboratories in the past, but Windows workstations therein are past
midlife and there are no identifiable funds for replacement. On the upside, the renovation of
building 3 included capital funds for equipment, and that budget held up throughout the
planning of that renovation, leading to a recent purchase of $87,550 in computing equipment
and $98,860 in new furniture.
Software licensing
We are well-served by a combination of CSU-wide and University-wide software licensing
agreements, as well as the Microsoft Developer Network (MSDN) Academic Alliance (AA),
and open source developments, which provide the necessary software to conduct our program.
Site licenses provide the Windows and MacOS operating systems, Microsoft Office suite,
McAfee virus protection, Mathematica and Oracle products for faculty and staff. MSDN
provides all Microsoft operating systems and software development tools for faculty, staff and
students. The MSDN AA licensing terms are very generous to students, allowing them to
freely acquire (using their BroncoName and BroncoPassword), install and retain Microsoft
software tools on their personal computers. Of course, open source software is very popular
with the Computer Science community and is readily available.

Page 192 of 224


C3 CS 12/14/04

3. Discuss how you assess the adequacy of your laboratory and computing support.
The College of Science IT Help Desk system tracks all requests for hardware and software
support, and all maintenance work done by College and Department IT staff. The Computer
Science Department Chair has management-level privileges in the Help Desk system, and can
monitor all activities. It provides a thorough log of ongoing needs, and also documents
responsiveness in terms of what was done and how long it took. Critical and security
patches/upgrades are applied when needed, and discretionary software installations/upgrades
are routinely done during quarter breaks. All faculty and staff have user-level access to the
Help Desk system, which is closely monitored by IT staff. This system has been in place for
about a year and a half, and has improved the quality and surety of support.
4. Please attach any equipment replacement plans to this report.
Standard V-1. Each student must have adequate and reasonable access to the systems needed
for each course.
B. Student Access
State the hours the various facilities are open. State whether students have access from
dormitories or off campus by direct access, modem, etc., and describe this access quantitatively.
The Computer Science laboratories in building 8 are regularly open and staffed Monday
through Friday, 8 a.m. to 5 p.m. Faculty and staff have key and alarm code access, and can use
the laboratories under their supervision at any time. The new laboratories in building 3 are
entered using Broncocard swipe access, managed by the College of Science IT staff. The
access system is integrated with I&IT's identity management system, so is aware of all
individuals and a rich set of groups (e.g. by department, college, class, major, etc.). This
should allow access to authorized users and groups as needed.
Network-based services are available through the Internet around the clock. If security needs
restrict access to on-campus users, then those services are available from off-campus to
authorized users through the I&IT-provided VPN. All buildings on campus, including
dormitories, have wired 100 Mb/sec network connectivity.

Page 193 of 224


C3 CS 12/14/04

Standard V-2. Documentation for hardware and software must be readily accessible to faculty
and students.
C. Documentation
Describe documentation for hardware and software systems available to students and faculty in
the computer science program. Explain how students and faculty have adequate and timely
access to the documentation.
All documentation of hardware and software systems is available through the web. Paper
documentation is no longer kept or made available. I&IT documents its facilities and services
at
http://www.csupomona.edu/~ehelp/,
the College of Science documents its facilities and services at
http://sci.csupomona.edu/it/,
and the Computer Science Department documents its facilities and services at
http://www.csupomona.edu/~cs/department/labs/.
Documentation and manuals for specific hardware and software are readily available from the
vendors' web sites. It is fair to say that the amount, availability and quality of documentation
available in 2008 is fantastic compared to decades past.

Standard V-3. All faculty members must have access to adequate computing facilities for class
preparation and for scholarly activities.
D. Faculty Access
Describe the computing facilities available to faculty for class preparation and for scholarly
activities. Include specifics regarding resources in faculty offices.
All faculty have an individual office with two 100 Mb/sec data ports, a workstation and laptop
running the operating system of their choice, and an LCD monitor. CSU-wide, Universitywide, and MSDN software licenses allow faculty to have software they need and want
installed from a rich suite of commercial and open-source offerings. Every classroom has an
instructor workstation provided by I&IT and sufficient ports so the instructor can connect their
own laptop while teaching. In either case, instructors can use and demonstrate any activities in
the classroom that they can do in their office. If the class is meeting in a laboratory equipped
with workstations (e.g. in 8-51, 8-52 or 3-2636), all students can participate in computing
activities during class. All of the classrooms and laboratories have secure wireless access, and
the software faculty use is almost all available to students, so those who bring their own laptop
to class can participate in activities along with the instructor during class.

Page 194 of 224


C3 CS 12/14/04

Standard V-4. There must be adequate support personnel to install and maintain the
laboratories and computing facilities.
E. Support Personnel
1. What support personnel are available to install, maintain, and manage departmental
hardware, software, and networks?
The Computer Science Department has one full-time IT Consultant, who works closely with a
full-time College of Science IT Consultant and five student assistants. This level of support is
sufficient to manage department hardware and software in offices and laboratories. Hardware
and software in lecture classrooms (i.e. the TELS equipment) is managed by I&IT staff, and
all networking infrastructure is managed by I&IT. In total, faculty, staff and students are
adequately supported.
2. Describe any limitations due to this level of support?
There are no significant limitations caused by the IT support staffing arrangements.
3. Are any faculty members expected to provide hardware, network, or software support? If so,
describe this expectation including how such expectations are addressed in evaluation,
tenure, promotion, and merit pay decisions, and indicate what, if any, released time is
awarded for this effort.
Faculty and staff are not expected to provide their own support. Hardware support is provided
by College and Department staff. Network support is provided by I&IT. Each faculty and staff
member may choose to administer their own operating system and applications, or to have
support staff do it. About half of the Computer Science faculty prefer to administer their own
software, and half are happy to have somebody else do it.

Page 195 of 224


C3 CS 12/14/04

Standard V-5. Instructional assistance must be provided for the laboratories and computing
facilities.
F. Instructional Assistance
Describe the nature and extent of instructional assistance available to students in the laboratories.
The Computer Science laboratories in 8-51 and 8-52 are staffed during working hours by two
full-time staff and a College of Science IT Help Desk student assistant. They provide support
to students on how to use the hardware and some basic support on how to use the software, but
no instructional assistance relating to course projects or homework. This is an area where
support has recently declined. Until Fall 2007, the Computer Science Department provided an
additional student assistant to function as a tutor for lower division CS classes, but those
student assistant tutors were eliminated by budget cuts.

Page 196 of 224


C3 CS 12/14/04

VI. Institutional Support and Financial Resources


Intent: The institutions support for the program and the financial resources available to the
program are sufficient to provide an environment in which the program can achieve its
objectives. Support and resources are sufficient to provide assurance that an accredited
program will retain its strength throughout the period of accreditation.
Standard VI-1. Support for faculty must be sufficient to enable the program to attract and retain
high-quality faculty capable of supporting the programs objectives.
Standard VI-2. There must be sufficient support and financial resources to allow all faculty
members to attend national technical meetings with sufficient frequency to maintain
competence as teachers and scholars.
Standard VI-3. There must be support and recognition of scholarly activities.
A. Faculty Stability
1. Evidence of the long-term stability of a program is provided by its ability to both attract and
retain high quality faculty. Describe how your program does this. Some topics the
description might address are sabbatical and other leave programs, salaries, benefits,
teaching loads, support for and recognition of scholarly activity (including financial support
for attendance at professional meetings), departmental and institutional ambiance, etc.
Faculty are eligible to apply for professional leave once every six years. Sabbatical leave may
be granted for 13 quarters, with a one quarter leave funded at full pay, a two quarter leave
funded at 75% pay and a three quarter leave funded at 50% pay. Sabbatical leaves may or may
not be funded by the college; for example, the Computer Science Department had one faculty
member on sabbatical leave during Spring 2008, and received no funds to hire replacement
lecturers. Difference-in-pay leaves auto-fund replacement lecturers. An elected campus-wide
committee reviews professional leave applications against published criteria and recommends
awards. After returning from leave, the faculty member must document accomplishments
during the leave period. Faculty may also apply for leave without pay, which must be
approved by the department and the Dean.
Faculty are members of the Public Employees Retirement System (PERS). The employees
monthly contribution is five percent of gross salary minus $513; the state contributes about
twelve percent of gross salary. The employees portion of the retirement contribution is not
included in taxable income. Employees are eligible for retirement at age 50 with a minimum of
five years of PERS-credited service. A Faculty Early Retirement Program is also available; the
program allows faculty to retire while returning to teach on a reduced time basis for a period of
up to five years.

Page 197 of 224


C3 CS 12/14/04

Medical: A wide variety of plans are available; the CSU provides a large contribution toward
the premiums; some plans are fully subsidized.
Dental: Two plans are offered; premiums are fully paid by the CSU.
Vision: One plan is provided; the premium is fully paid by the CSU.
Life Insurance: A $50,000 life insurance policy is fully paid for by the CSU. Additional
voluntary life insurance is available at the employees expense.
Holidays: The university observes 13 holidays per year, including one personal holiday.
Sick leave: Cumulative sick leave is accrued at the rate of one day per month of service.
Disability: Non-industrial disability insurance, workmans compensation insurance and
industrial disability leaves are fully paid by the CSU.
Other benefits include: sabbatical leave; voluntary life, disability, auto insurance; home loans;
deferred compensation and tax sheltered annuity programs; training workshops; leaves of
absence; maternity/paternity leaves; unemployment insurance; educational fee waiver
program; catastrophic leave donation program.
It is important to note that Computer Science is a department with a high level of mutual
respect and affability. Vigorous discussions take place with regard to curriculum issues and
governance from time to time, but always without rancor. The departments faculty generally
agree that their jobs are difficult, but rewarding, and that this is a good place to work.

Page 198 of 224


C3 CS 12/14/04

2. Give counts of the total number of faculty and the number of resignations, retirements, and
new hires for each of the last five years. Indicate whether there are significant problems
attracting and retaining faculty, and if so, the causes.
Year
200304

Total Faculty
17

Resignations
1 (Jiang)

200405

16

1 (Kuang)

200506
200607
200708

13.5
13.5
11.5

1 (Srinivas)
2 (Laszlo, Park)

Retirements

New Hires

1.5 (Lee, Przymusinska,


Riley)
1 (Tang)
.5 (Hillam)

Resignation notes: Dr. Srinivas was appointed as Associate Dean of the College of Science,
and has return rights. Dr. Laszlo passed away. Dr. Park was not granted tenure.
Retirement notes: Retirees may opt to participate in the Faculty Early Retirement Program
(FERP), which allows them to continue teaching half-time for up to five years. Therefore,
retirements have occurred .5 at a time, whenever one enters FERP (Dr. Lee and
Dr. Przymusinska) or completes FERP (Dr. Riley and Dr. Hillam).
The department was approved to conduct searches for one additional faculty member in 2006
07 and two additional faculty members in 200708. The positions were advertised,
applications were taken, and each search was subsequently cancelled for lack of funds. These
aborted searches attracted a sufficiently large and diverse pool of applicants, as did a
successful search in 200506, but the institutions inability to fund the positions and faculty
attrition (from 17 down to 11 faculty members) over the last six years are a cause for concern.
B. Faculty Professional Activities
Summarize the professional activities of your faculty, attendance at meetings, university and
professional honors won by individuals, etc. Just summarize here; details should appear in
individual faculty vitas.
The faculty have been involved in many research and professional activities: publishing
journal articles, writing and presenting conference papers, giving invited talks and seminars,
conducting funded research and professional development through grants, supervising
masters theses, engineering software, consulting for industry and the I&IT Division, serving
on editorial boards, and reviewing journal and conference papers.
Every faculty member has been involved in some of these activities, and almost all have been
actively involved during the last year and the recent past, above and beyond their teaching
duties. We are proud of the variety of professional activities, and the breadth and depth of
computer science knowledge covered. The details of each faculty members research and
professional development are included in their curriculum vita.

Page 199 of 224


C3 CS 12/14/04

Standard VI-4. There must be office support consistent with the type of program, level of
scholarly activity, and needs of the faculty members.
C. Office Support
Describe the level and adequacy of office support. The description should address secretarial
support, office equipment, and the total group supported by this equipment and staff.
The department has a full-time administrative support coordinator and a half-time
administrative support assistant. The programs operating budget is barely adequate for
running the office and providing supplies and services for the instructional program. The
department office is well-equipped for the business of the department; there is a sizeable
conference room for meetings and presentations, and a preparation/mail room including
reproduction facilities.
The office support staff has recently shrunk from 2 full-time staff persons down to one, and the
operating budget for supplies and services has been cut to less than half of what it was six
years ago, so there is pressure to operate with declining office support.
Standard VI-5. Adequate time must be assigned for the administration of the program.
D. Time for Administration
Describe the adequacy of the time assigned for the administration of the program.
Program administration is done primarily by the Department Chair, with the assistance of the
Graduate Coordinator, the Assessment/Accreditation Coordinator and chairs of several
committees. 70% of the Department Chairs time is devoted to administration; sometimes up
to 100% using additional assigned time. The Graduate and Assessment/Accreditation
Coordinator have each been given 4 WTUs assigned time per quarter, which reduces their
teaching load by one course per quarter. Chairs of department committees (RTP, Laboratory,
Curriculum) are not given additional assigned time.
There is pressure to eliminate assigned time for the Assessment/Accreditation coordinator,
which would be detrimental to the program. The Computer Science Department has been held
up as an example of best practice for how it conducts its ongoing assessment program, and this
is largely due to the hard work of our Assessment/Accreditation coordinator.

Page 200 of 224


C3 CS 12/14/04

Standard VI-6. Upper levels of administration must provide the program with the resources and
atmosphere to function effectively with the rest of the institution.
E. Adequacy of Resources
Describe the adequacy of the resources and the atmosphere provided by the upper administration
for the program to function effectively with the rest of the institution.
The budget provided by the College of Science has been shrinking and the state-provided nonpersonnel budget is now inadequate to operate the program. During the 200708 fiscal year,
the department operated with no visible budget for the entire year. From July 1, 2007 (the first
day of the fiscal year) to November 30, 2007, the department received no budget allocation.
This is unfortunately typical, since the state legislature never passes the State of California
budget on time. Since an academic department cannot operate for five months without any
expenses, it spends slowly and without guidance, incurring an unavoidable deficit. On
November 30, 2007, The department budget was allocated its only funds for the year equal
to the amount of the deficit on that date. That left $0 to use for non-personnel expenses for the
remaining seven months of the fiscal year. Unfortunately, the department was forced to spend
from irreplaceable Foundation funds that it had accumulated over many years.
In addition, the budget for part-time lecturers and student assistants has been significantly
reduced for all departments in the College of Science. In Fall 2007, the Computer Science
Department was asked to lay off all student assistants (who worked as graders and tutors) and
to replace its full-time administrative support assistant with a part-time student assistant. In
Spring 2008, the department was asked to operate without part-time lecturers for the first time
in its history. There is little hope that any of these lost resources will be recovered in the 2008
09 fiscal year. The department has been told it will have $0 for part-time lecturers in the 2008
09 fiscal year. This will put tremendous pressure on the tenured and tenure-track faculty to
teach all classes and grade all assignments, and will detract from the time faculty have to do
research and professional development.
The Computer Science Department is concerned that its declining resources may no longer be
adequate to function effectively.

Page 201 of 224


C3 CS 12/14/04

F. Leadership
Positive and constructive leadership at the college/school level and within the program's
department are especially important to the program's quality. Evaluate this leadership and the
interaction between these levels of administration.
The leadership of the college and department collaborate effectively, and the rapport between
the Dean, Associate Dean and Department Chair is comfortable. Dr. Donald O. Straney has
been a long-serving and effective Dean of the College of Science. Associate Dean Mandayam
Srinivas is a former Chair of the Computer Science Department and a long-serving faculty
member, so the department benefits from that relationship. The leaders have a good working
relationship, strained only by the heavy budget cuts that the College of Science has necessarily
imposed.
Standard VI-7. Resources must be provided to acquire and maintain laboratory facilities that
meet the needs of the program.
G. Laboratory and Computing Resources
Briefly describe the resources available for the program to acquire and maintain laboratory
facilities. Include information on how the institution determines the adequacy of these resources.
Much of the computing infrastructure (e.g., networking, file storage, web publishing) used by
the program is provided by the Division of I&IT, and funded by the university. Since this is
the same centrally-provided computing environment that provides campus email, access to
student records and other administrative data, it is assured of continued funding and support.
The department classroom laboratories consist primarily of client workstations with office
productivity and software development applications installed, which are used to access
centrally-provided services. The departments equipment budget has been adequate for this
purpose. During 200708, a capital renovation of building 3 has provided a significant budget
for new equipment, which will be installed in Summer 2008 and available for the 200809
academic year.

Page 202 of 224


C3 CS 12/14/04

Standard VI-8. Resources must be provided to support library and related information retrieval
facilities that meet the needs of the program.
H. Library Resources
Briefly describe the resources available for the support of the library and related information
retrieval facilities. Include information on how the institution determines the adequacy of these
resources.
The Dean of the Library has a baseline budget just as do the Deans of the Colleges. These
baseline budgets grow in proportion to the growth in student population. The University
Library is also just finishing a major renovation, which will significantly expand space and
facilities (see Appendix VII.A).
Standard VI-9. There must be evidence that the institutional support and financial resources will
remain in place throughout the period of accreditation.
I.

Continuity of Institutional Support

Discuss and show evidence of continuity of institutional support for the program in the past, and
problems that have existed or are anticipated in this area, if any.
Funding for permanent faculty is built into the budgeting process. Funding for additional parttime faculty is provided to meet FTES targets that go beyond what the permanent faculty can
meet. Additional funding for equipment and supplies is a variable, but as the campus
infrastructure improves and the cost of equipment decreases, the departments requirements in
this area have become modest.

Page 203 of 224


C3 CS 12/14/04

VII. Institutional Facilities


Intent: Institutional facilities, including the library, other electronic information retrieval
systems, computer networks, classrooms, and offices, are adequate to support the
objectives of the program.
Standard VII-1. The library that serves the computer science program must be adequately
staffed with professional librarians and support personnel.
A. Library
1. Library Staffing.
Assess the staffing of the library (or libraries) that serves the computer science program. Is the
number of professional librarians and support personnel adequate to support the program?
Supply documentation if possible.
The Computer Science program is served by the University Library, the central library on
campus. Staffing for the Library is summarized here:
Category
Faculty (degreed Librarians)
Support staff
Part-time student assistants

FTE
12.35
35.39
7.6

Julie Shen is the Library Subject Specialist for Computer Science. She also has responsibility
for the Computer Information Systems (CIS) program in the College of Business
Administration. The Engineering Librarian (Ann Morgan) and Science Librarian (James Koga)
have both had responsibility for Computer Science at various times in the past and are very
familiar with resources supporting the department.
The Librarys Reference Desk is staffed most hours the building is open. Librarians and
experienced Library Assistants are available to answer questions and provide research
assistance. Referrals are made to the Computer Science Librarian and other Subject Specialists
as needed. Members of the Librarys IT staff are also available for technical assistance.
Students and faculty are encouraged to contact librarians by phone or email and questions are
answered as quickly as possible. The Library also participates in a consortium providing 24/7
Reference service via interactive chat. Librarians from multiple institutions participate and the
service is staffed 24 hours a day.

Page 204 of 224


C3 CS 12/14/04

Standard VII-2. The librarys technical collection must include up-to-date textbooks, reference
works, and publications of professional and research organizations such as the ACM
and the IEEE Computer Society.
2. Library Technical Collection
Assess the adequacy of the librarys technical collection and of the budget for subscriptions, as
well as new acquisitions. The library must contain up-to-date textbooks, reference works, and
publications of professional and research organizations, such as the ACM and the IEEE
Computer Society. It should also contain representative trade journals. Supply documentation, if
possible. Assess the process by which faculty may request the library to order books or
subscriptions.
From 20022006 the budget devoted to Computer Science averaged about $36,000/year. In the
200607 academic year the Library developed a new funding model and now most
expenditures for databases and electronic journal packages are paid from a central electronic
resources fund. Subject areas are then allocated funds to purchase books, serials, and journals
not covered by the central funding. In the last 2 years $15,911 has been the average allocation
to Computer Science. Note that most of the Computer Science journals are in e-journal
packages and are now funded from the central e-resources fund.
Examples of Computer Science resources supported by the e-resources fund:

ACM Digital Library. Our subscription includes:


o Core Package of magazines and journals, with archive to the 1950s
o Digital SIG Package of newsletters and conference proceedings with available archive
o Online Guide to Computing Machinery

IEEE Xplore. We have the complete package including:


o IEEE journals and conference proceedings
o IEEE standards
o IET (formerly IEE) journals and conferences.

ebrarys Computers and IT Collection


o 3000+ ebooks on computing and information technology topics

Electronic journal packages from publishers such as Wiley, Springer, and Elsevier

The Computer Science budget supports a range of trade and peer-reviewed journals not
available in publishers packages. Handbooks, reference books, etc. (print and electronic) are
also purchased from this budget. The percentage of the budget spent on e-books is growing.
About 50% of the books purchased this year were in electronic editions. We expect this trend
to continue. E-books seem popular with Computer Science students, probably because of the
24/7 remote access.

Page 205 of 224


C3 CS 12/14/04

The Library has an approval plan with its major book vendor. Books are selected from
notifications generated from subject profiles. The profiles are periodically revised to meet the
changing needs of the program. Librarians are not limited to selecting from the approval plan,
however, and are free to use publishers catalogs or any other source of publishing
information.
The Computer Science Librarian consults with faculty on a regular basis about needs of the
program. Faculty are encouraged to submit requests for purchase and their requests are usually
honored. An online request form is available, but faculty are encouraged to use whatever
method they choose: email, campus mail, or personal conversation.
The 23-campus California State University system maintains an office for the system-wide
(discount) purchasing of electronic materialsSEIR (Systemwide Electronic Information
Resources). Many times products too expensive for individual campuses have been made
affordable by volume deals. Some core products are completely funded by SEIR and ejournal packages receive a 10% subsidy from SEIR. Examples of SEIR subscriptions
supporting Computer Science include the ACM Digital Library and e-journal packages from
major publishers such as Wiley, Springer, Elsevier (ScienceDirect), and the American Institute
of Physics.
The following table summarizes the Librarys holdings:
Category
Books (hard copy)
Books (electronic)
Total Books
Journals

Numbers
Includes
(est.)
9,000
volumes
3,500
volumes
12,500
volumes
475
titles

Ebrary Computers & IT collection, NetLibrary


collections, individually selected ebooks
Individual subscriptions, plus titles in ejournal
packages

Page 206 of 224


C3 CS 12/14/04

Standard VII-3. Systems for locating and obtaining electronic information must be available.
3. Library Electronic Access
Assess the librarys systems for locating and obtaining electronic information.
The Library has a fully developed website with features and capabilities that are expected from
a university library: http://www.csupomona.edu/~library/.

The Library Catalog is fully searchable via the Library Website and not only tracks the
librarys physical collection (the traditional job of a library catalog), but also offers an
access point to electronic books and journals.

End user searching of over 100 contracted library databases (bibliographic and full text)
available via the Library's website. Full text of the journals, journal articles, and books are
also made available in this manner

We have implemented a link resolver (SFX from ExLibris), a product that links from
database citations to articles in e-journals

Extensive help pages to guide the user in finding information. There is also a detailed
tutorial for using the website for research.

Library Tutorial for Computer Science: http://www.csupomona.edu/~jshen/cs/.


The tutorial will be revised on a regular basis in consultation with department faculty. A
new tutorial focusing on resources for software development is planned for later in 2008.

Faculty can put scanned copies of materials or other electronic documents on Electronic
Reserve. The materials are then accessible from the Library Catalog, and thus accessible
via the web.

Websites by Subject is a collection of freely available web content selected by subject


specialist librarians. These websites are organized by subject and updated on a regular
basis.
o Websites by Subject
http://www.csupomona.edu/~library/websites/
o Websites by Subject: Computer Science
http://www.csupomona.edu/~library/websites/computer.html

Document Delivery (formerly called interlibrary loan) for obtaining materials not available
at Cal Poly Pomona. Patrons submit requests using a web based form. In addition, many
databases allow for generating requests within their websites. Patrons do not pay any fees
for Document Delivery.
All online services and electronic resources are accessible 24/7 from anywhere in the
world. We have a user authentication system to limit access to Cal Poly Pomona students,
faculty, and staff.

Page 207 of 224


C3 CS 12/14/04

Library Building Project


Since 2005 the Library has been impacted by a major renovation and construction project.
Three floors were undergoing extensive renovation and were unavailable to the public, thus
limiting student study space. Much of our bound periodical collection and many older books
were in storage. The project will be complete by Fall 2008. All of the new and renovated space
will be open to the public and most of the stored materials will be back on shelves.
Features of the new Library include:

A total of 307,277 gross square feet, including approximately 100,000 square feet in the
addition
Seating for about 3,700; including table seating, lounge seating, workstation seating, and
study carrels
23 additional group study rooms, some with audio/visual equipment for multimedia
presentations
5 group listening/viewing rooms
12 listening/viewing stations
2 instructional spaces equipped to support the Librarys Information Literacy program
24 hour study lab with 78 computers and seating for 102
215 additional public workstations total plus 22 express stations
49 person multipurpose room for special events
Wireless access throughout the building
3 service desks; including a Reference Desk combined with a Technology Help Desk,
Circulation Desk, and a Media/Reserve Desk.
A caf (Starbucks) featuring wireless accessibility with indoor and outdoor seating

Standard VII-4. Classrooms must be adequately equipped for the courses taught.
B. Classroom Equipment
Describe the equipment typically available in classrooms where you teach your courses. Assess
its adequacy for the purpose.
Each of the classrooms we use is a smart classroom, including whiteboards, a multimedia
podium, a ceiling-mounted projector, an overhead transparency projector, and a screen. The
multimedia podium includes a computer, a document camera (for projecting from paper
originals), a DVD player, and an input for a laptop. Any of these information sources can be
projected onto the screen. Many faculty members use their laptops as sources for projection on
an every-class basis.

Page 208 of 224


C3 CS 12/14/04

Standard VII-5. Faculty offices must be adequate to enable faculty members to meet their
responsibilities to students and for their professional needs.
C. Faculty Offices
Discuss and assess the adequacy of faculty offices.
Permanent faculty all have ample individual offices with desk, bookcases, filing cabinets, and
table space. Part-time faculty share offices similarly equipped.
Each faculty member has a PC or a workstation in his or her office, and each has chosen the
type of platform they find most useful for their work. These computers are upgraded
periodically as funds permit, and are generally near the state of the art in terms of performance.
Software is normally upgraded on request. All are connected to the campus network and to the
internet.
The offices are quite adequate and comfortable for faculty to meet with students individually
or in small groups, and to pursue their course preparation and research activities.

Page 209 of 224


C3 CS 12/14/04

Appendix I. Information Relative to the Entire Institution


A. General Information
Institution
Department
Street
City
State
Zip
URL

California State Polytechnic University, Pomona


Computer Science Department
3801 W Temple Ave
Pomona
CA
91768
http://www.csupomona.edu/

Name and Title of Chief Executive Officer of Campus (President, Chancellor, etc.)
Dr. J. Michael Ortiz
(Name)

President
(Title)

B. Type of Control
Private, non-profit
Private, other
Federal
State
Municipal
Other (specify)
Affiliation, if private

Check more than one, if necessary. If the above classifications do not properly apply to the
institution, please describe its type of control.
The university is part of the 23-campus California State University (CSU) system, which is
funded by the State of California.

Page 210 of 224


C3 CS 12/14/04

C. Regional or Institutional Accreditation


Name the organizations by which the institution is now accredited, give dates of most recent
accreditation. Attach a copy of the most recent accreditation action by any organization
accrediting the institution or any of its computer-related programs.
The university is accredited by the Western Association of Schools and Colleges (WASC).
The university was first accredited by WASC in 1970 and remains accredited as a result of its
last evaluation visit in October 2003. Evidence of WASC accreditation is available at
http://www.wascsenior.org/institutions/affiliation.aspx?accessID=26.
The B.S. in Computer Science program is accredited by ABET CAC. The program was first
accredited in 1994 and remains accredited as a result of its last evaluation visit in 2002.
Evidence of ABET CAC accreditation is available at
http://www.abet.org/accreditcac.asp.
The B.S. in Computer Engineering program is accredited by ABET EAC. The program was
first accredited in 2004. Evidence of ABET EAC accreditation is available at
http://www.abet.org/accrediteac.asp.
The B.S. in Business Administration program, with an option in Computer Information
Systems, is accredited by the American Assembly of Collegiate Schools of Business
(AACSB). Evidence of AACSB accreditation is available at
http://www.aacsb.edu/accreditation/accreditedmembers.asp.
D. Enrollment
Total enrollment for the entire institution (FTE)
Total faculty for the entire institution (FTE)

16,987 (Fall 2007)


874 (Fall 2007)

E. Funding Process
Describe the process for allocating institutional funds to the computer science program.
Funds are apportioned annually by the State of California to the California State University
(CSU) system, which apportions funds to California State Polytechnic University, Pomona
(one of 23 campuses), which apportions funds to its Division of Academic Affairs (one of
5 divisions), which apportions funds to the College of Science (one of 8 colleges), which
apportions funds to the Computer Science Department (one of 6 departments).

Page 211 of 224


C3 CS 12/14/04

F. Promotion and Faculty Tenure


Summarize the promotion and tenure system and the system for merit salary adjustments. (Give
an overview of actual practice; do not reproduce an entire section from the faculty handbook.)
The Retention, Tenure, and Promotion (RTP) policies follow the CSU policies as negotiated
between the CSU and the California Faculty Association (CFA) under a collective bargaining
agreement. Normal service as an untenured Assistant Professor is six years; up to two years
service credit may be granted toward the six year probationary period at the time of hire.
Promotion to Associate Professor and then to Professor are based on criteria described in the
department RTP document.
Criteria for retention, tenure, and promotion take into consideration:
1) Teaching performance as measured by student evaluation and peer review.
2) Research and scholarly activity as demonstrated by publications.
3) Service to the department, college, university and community.
Untenured faculty members prepare an RTP document every year; tenured faculty members
are evaluated every five years. In both cases, a package describing and documenting the
candidates performance in each of the three areas above is prepared by the candidate. The
format of the package is prescribed, to some degree, by the CSU and the CFA. During the time
period for the preparation of the package, input is solicited from the University community
(faculty, students, and administrators). RTP criteria and ways of demonstrating performance
are detailed in the department RTP criteria. The Computer Science Department RTP Criteria
document is attached.
A candidates RTP package is reviewed by a department RTP committee. The committee
prepares a recommendation. The Dean of the College also reviews and recommends. A
University RTP committee provides a campus-wide review and recommends to the Vice
President for Academic Affairs. The President, with the counsel of the Vice President, decides
matters of retention, tenure, and promotion.
Salary adjustments are given only as contractually provided in the collective bargaining
agreement. General salary increases (GSIs) occur in some years and not in others. The last
contract provides for three years of GSIs following four years without. Some service step
increases (SSIs) are provided on the basis of length of service up to a salary limit; however,
Computer Science faculty usually have starting salaries exceeding the limit. Faculty may apply
for salary increases based on equity or market considerations, subject to the approval of the
Provost. There is no provision for salary adjustments based on merit.

Page 212 of 224


C3 CS 12/14/04

Appendix II. General Information on the Unit Responsible for the Computer Science
Program
If you are having more than one program evaluated, particularly if the programs are on separate
campuses, the answers to these questions may vary from one program to another. If this is the
case, please use separate copies of this section for each program, and clearly delineate which
program is being described.
A. Computer Science Program Unit
Name
URL

Computer Science Department


http://www.csupomona.edu/~cs/

If the computer science program unit is not a department reporting to an administrative officer
(e.g., Dean of College of Arts and Sciences) who in turn reports to president, provost, or
equivalent executive officer, describe the unit.
The Computer Science Department reports to the Dean of the College of Science, who reports
to the Provost (a.k.a. Vice President of Academic Affairs), who reports to the President.
B. Administrative Head of Computer Science Program Unit
Dr. Craig A. Rich
(Name)

Department Chair
(Title)

Page 213 of 224


C3 CS 12/14/04

C. Organization Chart
Attach an organization chart showing how the unit fits into the administrative structure of the
institution.

Page 214 of 224


C3 CS 12/14/04

D. Computer-Related Undergraduate Degree Programs


List all undergraduate computer-related degree programs offered by the institution, beginning
with the program(s) being evaluated.
Degree
Awarded

Administrative
Unit

If
accredited,
by whom

Program Title

Years
Required

Computer Science

B.S. Computer
Science

Computer Science
Department

ABET
CAC

Computer
Engineering

B.S. Computer
Engineering

Electrical and Computer


Engineering Department

ABET
EAC

Computer
Information
Systems

B.S. Business
Administration

Computer Information
Systems Department

AACSB

Are these programs adequately differentiated in all university information? Explain how.
Yes, they are offered by three separate academic departments (Computer Science, Electrical
and Computer Engineering, Computer Information Systems), which are part of three separate
colleges (Science, Engineering, Business Administration).

Page 215 of 224


C3 CS 12/14/04

Appendix III. Finances


A. Finances Related to the Computer Science Program(s)
For the computer science program, indicate below the funds expended during the fiscal year
immediately preceding the visit 1.
Institutional
Funds
Administrative Salaries
Faculty Salaries
Non-teaching Professionals' Salaries2
Support Personnel Salaries and Wages
Secretarial
Technician
Other (specify) (student assistants)
Graduate Students
Operating Expenditures
(Excluding research operations and travel)
Capital Equipment Expenditure:
(Including value of allocated time for
teaching and research):
Teaching
Research
Computer Expenditures: (total, including
value of allocated computer time for
teaching and research)
Hardware
Software
Allocated time
Travel Expenditures (non-research funds)
Scholarship Awards (if administered by the
Computer Science Program Unit)
Library (if administered by Computer
Science Program Unit)
Research (if separately budgeted)
Other (specify) (recruitment)
Total

Non-recurring or
Outside Funds

$1,251,570
43,056
60,160
75,936
6,670
13,575
4,208

$10,245

87,550

4,500

1,609

4,201
21,000

5,720
$1,557,146

$32,854

It is understood that some of the data may have to be estimated to cover the entire fiscal year. In
such case, unless the differences are insignificant, an updated report should be provided for the
evaluation team at the time of the visit.

Non-teaching professionals would include research professors, faculty members on paid


sabbatical leave, post-doctoral research associates, and other degreed professionals.

Page 216 of 224


C3 CS 12/14/04

B. Operating and Computing Expenditures for the Five Fiscal Years Immediately
Preceding that Reported in III A
1. Operating expenses for the computer science program unit.
Fiscal Year
Institutional Funds
Outside Funds

200203
10,245
2,664

200304
11,492
665

200405
12,340
1,374

200506
15,035
1,095

200607
9,902
13,781

2. Computer hardware/software capital expenditures (excluding equipment used primarily for


research) for the computer science program unit.
Fiscal Year
Institutional Funds
Outside Funds

200203
32,740

200304
11,140

200405
49,188

200506
16,818

200607
13,654

C. Additional Funding
If additional funds, other than those listed in Table A above, are available to faculty to support
scholarly activities such as travel to technical meetings, e.g., consulting support, give the number
of faculty for whom this type of support is appropriate and an estimate of the amount of support
available.
All expenditures flow through either state-funded accounts, which are the Institutional
Funds above, or through Cal Poly Pomona Foundation accounts, which are the Nonrecurring Outside Funds above.

Page 217 of 224


C3 CS 12/14/04

Appendix IV. Computer Science Program Personnel and Policies Towards Consulting,
Professional Development, and Recruiting
A. Term of Appointment of Administrative Head
9 month:

12 Month:

Other (specify): add Summer contract

B. Number of Personnel Associated with Program


Full-time
Number
Faculty
Non-teaching Professionals
Administrative
Computer Lab Personnel:
Professionals
Technicians
Secretarial, Accounting, etc.
Graduate Teaching Assistants
Graduate Research Assistants
Graduate Students
Undergraduate Students

11.5
1

Part Time
Number
FTE
5
1.3

Total
FTE
12.8
1

1
1

0.5
0.1

1.5
0.1

29
440

18
65

9
32.7

38
472.7

C. Policies
Provide a brief description to give an overview.
1. Describe policy toward private consulting work, sponsored research projects, and extra
compensation.
The University and the College of Science are supportive of sponsored research projects.
Consulting has not been a common activity in the department. Consulting is encouraged and
supported as long as ones commitment to Cal Poly Pomona and to the department come first.

Page 218 of 224


C3 CS 12/14/04

2. State the standard teaching, administrative, research, and other loads on the faculty, in
general terms.
University policy is that faculty members are required to teach 36 WTUs (weighted teaching
units) per academic year, and have an additional requirement of 9 WTUs per academic year of
assigned duties. A weighted teaching unit is equivalent to a credit unit for lecture courses.
Assigned duties include: student advising; department, college, and university committee
work; and research. The Department Chairs time is designated to be 70% administrative work
and 30% teaching.
Faculty are released from teaching duties in a variety of ways. New faculty have generally
been given 4 WTUs of assigned time per quarter during their first year of service. The
Graduate Coordinator and the Assessment/Accreditation Coordinator each receive 4 WTUs
assigned time per quarter from the department. The department also provides assigned time for
additional administrative time for the Chair. Assigned time may also be purchased through
on-campus grants or through outside funding.
3. Describe policies and procedures for recruiting faculty for the computer science program.
Describe any barriers to hiring the appropriate faculty.
The department must justify to the Dean the need for an additional faculty member, and the
corresponding augmentation of its budget. Generally, the Dean must in turn justify the need to
the Vice President for Academic affairs and to the University Budget Committee, so that the
College budget is increased to cover the additional position.
Once a department has decided to recruit a new faculty member and has been given permission
to do so, university policy guides the process of the search. The Office of Diversity and
Compliance provides a checklist of activities, provides guidance in the placement of
advertisements, and ultimately approves a pool of candidates selected by the department
search committee. The department recommends the appointment of a candidate; the Vice
President for Academic Affairs is empowered to actually offer an appointment to a candidate.

Page 219 of 224


C3 CS 12/14/04

Appendix V. Computer Science Program Enrollment and Degree Data


If you are having more than one program evaluated, particularly if the programs are on separate
campuses, the answers to these questions may vary from one program to another. If this is the
case, please use separate copies of this section for each program, and clearly delineate which
program is being described.
Give below enrollment figures for the first term of the current and five previous academic years
and the number of undergraduate and graduate degrees conferred. (The current year is the year in
which this report is being prepared.) List data beginning with the most recent year first. If parttime students are involved, give the number as FTE/actual number, e.g., 10/40.
Institution as a Whole
AY
2002-03
2003-04
2004-05
2005-06
2006-07
2007-08

Frosh
3,946
/ 4,537
3,956
/ 4,500
3,466
/ 3,904
4,247
/ 4,782
4,691
/ 5,298
4,787
/ 5,518

Enrollment
Soph
Junior
2,236
3,313
/ 2,516 / 3,821
2,163
3,209
/ 2,405 / 3,642
2,280
3,268
/ 2,523 / 3,752
1,905
3,929
/ 2,082 / 4,520
1,886
3,684
/ 2,066 / 4,255
2,312
3,617
/ 2,555 / 4,178

Senior
5,505
/ 6,529
6,028
/ 6,987
5,838
/ 6,750
5,636
/ 6,591
6,073
/ 7,005
6,271
/ 7,318

Total
UG
14,999
/ 17,403
15,355
/ 17,534
14,853
/ 16,929
15,717
/ 17,975
16,334
/ 18,624
16,987
/ 19,569
*

Total
Grad
1,448
/ 2,418
1,402
/ 2,270
1,257
/ 2,074
1,152
/ 1,910
1,192
/ 1,886
1,190
/ 1,908

Degrees
BS
MS PhD

3,008

340

3,304

328

3,280

367

3,400

382

3,784

431

1,923

150

Excludes degrees granted in Spring 2008

Page 220 of 224


C3 CS 12/14/04

Unit offering Computer Science Program(s)give total enrollment even if not all students are in
the program for which accreditation is requested.
AY
2002-03
2003-04
2004-05
2005-06
2006-07
2007-08

Frosh
100
/ 113
195
/ 223
151
/ 168
142
/ 166
148
/ 170
168
/ 186

Enrollment
Soph
Junior
124
141
/ 142
/ 154
53
125
/ 61
/ 143
71
97
/ 75
/ 114
64
102
/ 72
/ 118
56
81
/ 64
/ 97
58
67
/ 66
/ 79

Senior
303
/ 354
274
/ 316
210
/ 243
187
/ 218
170
/ 190
157
/ 188

Total
UG
669
/ 763
646
/ 743
528
/ 600
494
/ 574
455
/ 521
449
/ 519
*

Total
Grad
26
/ 50
40
/ 67
41
/ 69
21
/ 47
16
/ 39
19
/ 39

BS

Degrees
MS PhD

144

157

112

17

99

17

89

67

Excludes degrees granted in Spring 2008

Page 221 of 224


C3 CS 12/14/04

Appendix VI. Admission Requirements


A. Admission of Students
1. Describe the criteria and procedures used for admitting students to the computer science
program(s).
The California State University (CSU) requires graduation from high school and a minimum
15-unit pattern of high school courses for admission as a first-time freshman. Each unit is
equal to a year of study in a subject area. The required subjects are History and Social Science
(2 units), English (4 units), Mathematics (3 units), Laboratory Science (2 units), Language
other than English (2 units), and Visual and Performing Arts (1 unit). A grade of C or higher is
required for each course used to meet any subject requirement.
The CSU uses a calculation called an eligibility index (EI) that combines high school GPA
with the score earned on either the SAT or ACT tests:
EI = 800*GPA + (SAT I Total)
EI = 200*GPA + 10*(ACT Comp)
California residents must have a minimum EI of 2900 using SAT I scores or 694 using ACT
scores. California nonresidents must have a minimum EI of 3502 using SAT I scores or 842
using ACT scores. The Computer Science Department does not impose any additional criteria
other than those used by the CSU.

Page 222 of 224


C3 CS 12/14/04

2. Describe procedures, including the evaluation of transfer credits, for students admitted to the
program as transfer students.
a. From within the institution
Transfer from within the institution occurs when a student changes major, either from
Undeclared status or from another academic program. The transfer must be approved by the
Chair of the department to which the student is transferring. A necessary condition for
changing major to Computer Science is eligibility to take MAT 114Analytic Geometry and
Calculus I, i.e. a student must not need remedial mathematics coursework.
b. From another institution
Currently, transfer applications are not accepted from lower division transfers who have
completed less than 90 quarter units of transferable college coursework. Upper division
applicants must have completed coursework equivalent to ENG 104105Freshman
English III, COM 100Public Speaking, and MAT 105College Algebra. Many transfer
students will have completed most of their general education coursework.
The Evaluations Office of the university assesses the students record to establish credit to be
given toward the computer science major. Credit given is determined by articulation
agreements between Cal Poly Pomona and various community colleges. The student generally
needs to review with an academic advisor the credit given by the evaluator. Evaluators
generally give credit conservatively; they do not give credit unless a written agreement of
equivalence is in place. The department resolves other cases in the following way: the advisor
looks at a course description with the student; if courses appear to be equivalent, the advisor
and the student prepare a petition; the petition requires the approval of the Department Chair.
3. Explain the policy of the institution in admitting students with conditions and state how the
conditions must be made up.
Pursuant to California Executive Order No. 665, the California State University System admits
students who may need preparatory work in English or Mathematics. To determine whether a
student requires remedial coursework, new students admitted into Cal Poly Pomona must take
placement tests in English and Mathematics. Students are only exempt from a placement test if
they obtain a satisfactory score on their SAT/ACT or if they have already taken a college level
course in English or Mathematics. After testing, students who are not placed into a college
level course are required to take preparatory courses. Students must enroll in the appropriate
preparatory courses in their first quarter of attendance and each subsequent quarter. All
remedial coursework must be completed by the end of a students first year in attendance.
Failure to meet these requirements will result in administrative disqualification based on lack
of satisfactory progress toward the degree.

Page 223 of 224


C3 CS 12/14/04

4. Describe the general policy and methods of the unit offering computer science program(s) in
regard to admission with advanced standing.
The Computer Science Department has no formal advanced standing status. As described
above, transfer credits are evaluated by a university office. Students work with academic
advisors to petition courses or other experiences for which they were not given credit by the
university evaluators. Transfer students often receive credit for CS 210Computer Logic and
CS 264Computer Organization and Assembly Programming. It is less common for them to
receive credit for the entire introductory sequence of courses (CS 140141240241), since
we teach them in Java and some community colleges are not using Java. However, a student
who has taken introductory programming and data structures courses in another language can
receive credit for those courses by successfully taking a suitably more advanced course here.
5. Describe any special admission requirements for entry into the upper division in the
computer science program(s).
The only requirement for entry into upper division (300- or 400-level) courses is completion of
the prescribed prerequisite courses. Upper-division courses have prerequisites that must be
satisfied in order to achieve success in the course. As shown in the prerequisite flow chart in
section IV.C, CS 241Data Structures and Algorithms IIis either directly or indirectly
prerequisite to almost all of the upper division courses. Our prerequisites require that students
pass the prerequisite course(s) with at least a grade of C.

Page 224 of 224


C3 CS 12/14/04

Potrebbero piacerti anche