Está en la página 1de 229

ABET

Self-Study Report
for the

Bachelor of Science
in

Computer Science
at

California State University, Fullerton


800 North State College Boulevard
Fullerton, CA 92834

June 30, 2014

CONFIDENTIAL

The information supplied in this Self-Study Report is for the confidential use of ABET and its
authorized agents, and will not be disclosed without authorization of the institution concerned,
except for summary data not identifiable to a specific institution.

BACKGROUND INFORMATION ................................................................................... 4


A. ContactInformation.............................................................................................................4
B. ProgramHistory....................................................................................................................4
C. Options.................................................................................................................................4
D. ProgramDeliveryModes......................................................................................................5
E. ProgramLocations................................................................................................................5
F. Deficiencies,WeaknessesorConcernsfromPreviousEvaluation(s)andthe
ActionsTakentoAddressThem.................................................................................................5
CRITERION 1. STUDENTS ............................................................................................. 6
A. StudentAdmissions..............................................................................................................6
B. EvaluatingStudentPerformance.........................................................................................7
C. TransferStudentsandTransferCourses............................................................................10
D. AdvisingandCareerGuidance...........................................................................................12
E. WorkinLieuofCourses......................................................................................................16
F. GraduationRequirements..................................................................................................17
G. TranscriptsofRecentGraduates........................................................................................19
CRITERION 2. PROGRAM EDUCATIONAL OBJECTIVES ..................................... 20
A. MissionStatement.............................................................................................................20
B. ProgramEducationalObjectives........................................................................................21
C. ConsistencyoftheProgramEducationalObjectiveswiththeMissionofthe
Institution..................................................................................................................................21
D. ProgramConstituencies.....................................................................................................21
E. ProcessforReviewoftheProgramEducationalObjectives..............................................22
CRITERION 3. STUDENT OUTCOMES ...................................................................... 23
A. StudentOutcomes..............................................................................................................23
B. RelationshipofStudentOutcomestoProgramEducationalObjectives...........................23
CRITERION 4. CONTINUOUS IMPROVEMENT ....................................................... 25
A. StudentOutcomes..............................................................................................................25
B. ContinuousImprovement..................................................................................................67
C. AdditionalInformation.......................................................................................................71
CRITERION 5. CURRICULUM..................................................................................... 72
A. ProgramCurriculum...........................................................................................................72
Table51Curriculum.................................................................................................................73
2

B. CourseSyllabi.....................................................................................................................79
CRITERION 6. FACULTY .............................................................................................. 80
A. FacultyQualifications.........................................................................................................80
Table61.FacultyQualifications..............................................................................................81
B. FacultyWorkload................................................................................................................84
Table62.FacultyWorkloadSummary....................................................................................85
C. FacultySize.........................................................................................................................89
D. ProfessionalDevelopment.................................................................................................89
E. AuthorityandResponsibilityofFaculty.............................................................................90
CRITERION 7. FACILITIES1......................................................................................... 92
A. Offices,ClassroomsandLaboratories................................................................................92
B. ComputingResources.........................................................................................................94
C. Guidance.............................................................................................................................97
D. MaintenanceandUpgradingofFacilities...........................................................................97
E. LibraryServices...................................................................................................................98
CRITERION 8. INSTITUTIONAL SUPPORT ............................................................ 102
A. Leadership........................................................................................................................102
B. ProgramBudgetandFinancialSupport...........................................................................103
C. Staffing..............................................................................................................................106
D. FacultyHiringandRetention............................................................................................106
E. SupportofFacultyProfessionalDevelopment.................................................................106
PROGRAM CRITERIA ................................................................................................. 109
Appendix A Course Syllabi ......................................................................................... 110
Appendix B Faculty Vitae ........................................................................................... 171
Appendix C Equipment................................................................................................ 215
Appendix D Institutional Summary ............................................................................. 216
1. TheInstitution..................................................................................................................216
2. TypeofControl.................................................................................................................221
3. EducationalUnit...............................................................................................................221
TableD1.ProgramEnrollmentandDegreeData.................................................................227
TableD2.Personnel..............................................................................................................228
SignatureAttestingtoCompliance.........................................................................................229

Program Self-Study Report


for
CAC of ABET
Accreditation or Reaccreditation

BACKGROUND INFORMATION

A. Contact Information
Shawn X. Wang, Ph.D., Professor and Chair
Department of Computer Science
California State University, Fullerton
P.O. Box 6870, Fullerton, CA 92834-6870
Telephone: (657)278-3556
Fax: (657)278-7168
Email: xwang@fullerton.edu

B. Program History
The computer science program started in the 1970s and was administrated as
interdisciplinary until July 1, 1976, at which time a Department of Computer Science was
formed in the School of Mathematics, Science, and Engineering. The Program was first
accredited in 1988. It has been continuously accredited since then. The last general review
was in 2008. Here is a summary of new improvements. To improve assessment of program
outcomes, a three year assessment plan was developed and implemented. Six new courses
were developed. Four new tenure track faculty members were hired. The total enrollment
grew from 341.5 in 2009 to 698.5 in 2013. That is a 104.5% increase.
The Computer Science Department has also a Master of Science in Computer Science and a
Master of Science in Software Engineering programs.

C. Options
After the students complete all required courses they will take five more elective courses.
These elective courses can be one of the four elective tracks that are based on the area of
specialties. They are Multimedia and Digital Games, Internet and Enterprise Computing,
Software Engineering, and Scientific Computing. The students may also choose a customized
track that is composite of five elective courses of their choices. The customized track is
subject to approval of the Undergraduate Advisor.
4

D. Program Delivery Modes


The lower division core courses have a lecture section and a laboratory section. These
courses include CPSC 120 Introduction to Programming, CPSC 121 Programming Concepts,
CPSC 223 Object-Oriented Programming Language, CPSC 240 Computer Organization and
Assembly Language, and CPSC 254 Software Development with Open Source Systems.
CPSC 223 has four options, Java Programming, C# Programming, Python Programming and
Visual Basic Programming. Most of the core courses have at least one evening section. We
started offering Saturday classes in fall 2013 for a couple of core courses.

E. Program Locations
The program is only offered at the California State University, Fullerton main campus.
Address: 800 N. State College Boulevard, Fullerton, California 92831

F. Deficiencies, Weaknesses or Concerns from Previous Evaluation(s)


and the Actions Taken to Address Them
The 2008 general review uncovered a weakness in student outcome assessments and a
concern in student support. To address the weakness we developed and implemented a three
year assessment plan. The concern in student support is related to course offering. Due to the
decline in enrollment and budget crisis between 2002 and 2008, we offered each core course
only once per year in either fall semesters or spring semesters. This might cause delay in a
students progress to graduation. To address this concern we developed a regular schedule for
the core courses so that the student can plan ahead. An interim report was submitted in 2012.
The final report in the 2012 2013 cycle found no deficiencies, weaknesses or concerns.
The assessment plan and data are included in this report. Fortunately, the growth in
enrollment made it possible for us to offer more classes. Starting from spring 2014 we are
offering all core courses both in the fall and spring semesters. Almost all core courses have
more than one section. In addition we also offer six upper division core courses in summer
2014.

GENERAL CRITERIA

CRITERION 1. STUDENTS
A. Student Admissions
Students are admitted through the Office of Admissions and Records. Here are the
requirements for admission. To be eligible for admission, the student must
1. have graduated from high school, have earned a Certificate of General Education
Development (GED), or have passed the California High School Proficiency
Examination; and
2. have a qualifiable eligibility index; and
3. have completed for admission with grades of C or better in each of the courses in the
comprehensive pattern of college-preparatory subjects.
4. Subject matter requirements must be met with a C or better and may not be completed
during the summer term immediately preceding fall admission.
The following table lists the admission statistics and enrollment changes over the last six
academic years.
Academic Year
2008 2009
2009 2010
2010 2011
2011 2012
2012 2013
2013 2014

Applied
766
693
762
821
1018
1342

Admitted
400
418
386
431
573
706

Enrolled
117
128
146
141
199
241

% change
9.4%
14.1%
-3.5%
41.1%
21.1%

The freshman enrollment is more than double in the last six years with an increase of 106%.
250
200
150
100
50
0
200809

200910

201011

201112

201213

201314

B. Evaluating Student Performance


Student performance in each course is evaluated by the instructor using homework
assignments, quizzes, examinations, projects, etc. Student progress in the program is
monitored using the Titan Degree Audit system. This is a real time web database system
that keeps track of all student records. It provides convenient interfaces for both advisor and
students to match student records with the degree requirements. There is one template for
each degree objective. The courses in the degree requirements are divided into sections. The
courses in each section are listed out. The student records are matched into the corresponding
section. The degree audit results can be accessed either in PDF or HTML format. It is very
easy to see what courses have been taken and what courses needed to be taken in each
section.
PREREQUISITE CHECK
Some prerequisites are enforced in the registration system so that only students who satisfy
the appropriate prerequisites are allowed to enroll in a specific course. In addition, the staffs
check for prerequisites in the first two weeks of classes and drop students who dont meet the
prerequisites. The following figure illustrates the prerequisite course structure.

Computer Science Core (46 units)


Lower-Division Core (18 units)
CPSC 120 Introduction to Programming (3)
CPSC 121 Programming Concepts (3)
CPSC 131 Data Structures Concepts (3)
CPSC 223H Visual Basic Programming (3)
OR CPSC 223J Java Programming (3)
OR CPSC 223N C# Programming (3)
OR CPSC 223P Python Programming (3)
CPSC 240 Computer Organization and Assembly Language (3)
CPSC 254 UNIX and Open Source Systems (3)
Upper-Division Core (28 units)
Students must take and pass the Examination in Programming Proficiency (EPP) before
taking most upper-division Computer Science courses. Students who do not pass the EPP
will be required to take CPSC 301 Programming Practicum.
CPSC 311 Technical Writing for Computer Science (3)
CPSC 315 Social and Ethical Issues in Computing (1)
CPSC 323 Programming Languages and Translation (3)
CPSC 332 File Structures and Database Systems (3)
CPSC 335 Problem Solving Strategies (3)
CPSC 351 Operating Systems Concepts (3)
CPSC 362 Foundations of Software Engineering (3)
CPSC 440 Computer System Architecture (3)
CPSC 471 Computer Communications (3)
CPSC 481 Artificial Intelligence (3)
CONTINUOUS ATTENDANCE and GPA
Once the students are admitted to the program they are required to maintain continuous
attendance. That is they must enroll either at a California Community College or a CSU
campus for at least one semester or two quarters of consecutive calendar years. The students
performance in the program is evaluated at the end of the semester. The student must
maintain a GPA of at least 2.0. An undergraduate student shall be placed on academic probation if in any semester the cumulative grade point average or the grade point average at
Fullerton falls below 2.0 (grade of C on a four-point scale). An undergraduate student on
academic probation shall be subject to academic disqualification if:
1. as a freshman (fewer than 30 semester hours of college work completed), the student
falls below a grade point average of 1.50 in all units attempted or in all units attempted
at this institution; or
2. as a sophomore (30 through 59.9 semester units of college work completed), the student
falls below a grade point average of 1.70 in all college units attempted or in all units
attempted at this institution; or
3. as a junior (60 to 89.9 semester units of college work completed), the student falls
below a grade point average of 1.85 in all college units attempted or in all units
attempted at this institution; or

4. as a senior (90 or more semester units of college work completed), the student falls
below a grade point average of 1.95 in all college units attempted or in all units
attempted at this institution.
GRADUATION REQUIREMENT CHECK
A candidate for graduation must file an application for a graduation requirements check after
completion of 85 earned units and approximately one year prior to the students anticipated
graduation term.
Three grade point averages, each 2.0 or higher, are required for graduation.
1. An average based on all units attempted, including those attempted at other institutions.
2. An average based on all units attempted at CSUF.
3. An average based on all units attempted in the major.
The Undergraduate Program Advisor checks the students Titian Degree Audit records to
make sure all requirements have been met. Any exception due to special circumstance must
be filed by the Undergraduate Program Advisor to the University Graduation Unit. Such
exceptions include courses that are taken from Community Colleges or other institutions that
are deemed equivalent to courses in the program and elective course from other majors or
institutions that are approved as relevant to the degree.
We developed survey in the department level for assessment of some of the program
outcomes. Surveys were also developed for Program Educational Objectives to collect
feedback from the alumni and employers.

C. Transfer Students and Transfer Courses


TRANSFER REQUIREMENTS
Students who have completed 59 or fewer transferable semester college units (89 or fewer
quarter units) are considered lower-division transfer students. Students who have completed
60 or more transferable semester college units (90 or more quarter units) are considered
upper-division transfer students.
Lower-Division Transfer Requirements
Generally, applicants will qualify for admission as a lower-division transfer student if they
have a grade point average of at least 2.0 (C or better) in all transferable units attempted.
1. will meet the freshman admission requirements (grade point average and subject
requirements) in effect for the term to which they are applying (see Freshman
Requirements section); or
2. were eligible as a freshman at the time of high school graduation except for missing
college preparatory subject requirements, have been in continuous attendance in an
accredited college since high school graduation, and have made up the missing
subject requirements with a 2.0 or better GPA.
Applicants who graduated from high school prior to 1988 should contact the admission office
to inquire about alternative admission programs.
Cal State Fullerton does not accept applications for lower-division applicants.
Upper-Division Transfer Requirements
Generally, applicants will qualify for admission as an upper- division transfer student if they
meet all of the following requirements:
1. they have a grade point average of at least 2.0 (C) or higher in all transferable units
attempted; AND
2. they are in good standing at the last college or university attended; and they have
completed at least 60 transferable semester (90 quarter) units of college coursework with
a grade point average of 2.0 or higher and a grade of C or higher in each course used to
meet the CSU general education requirements in written communication, oral
communication, critical thinking and quantitative reasoning, e.g. mathematics. The 60
semester (90 quarter) units must include at least30 semester (45 quarter) units of courses,
which meet the CSU general education requirements including all of the general
education requirements in communication in the English language(both oral and written)
and critical thinking and the requirement in mathematics/quantitative reasoning (usually 3
semester units) or the Intersegmental General Education Transfer Curriculum (IGETC)

10

requirements in English communication and mathematical concepts and quantitative


reasoning.
EVALUATION OF TRANSFER CREDITS
When a student is admitted, the Office of Admissions and Records will evaluate previous
college work in relation to the requirements of Cal State Fullerton. All undergraduate degree
candidates will be issued a credit summary or a degree audit report (DARS) during the first
semester of attendance that serves as a basis for determining remaining requirements for the
students specific objectives.
ACCEPTANCE OF CREDIT
Credit for work completed at accredited institutions, other than coursework identified by
such institutions as remedial or in other ways as being nontransferable, will be accepted
toward the satisfaction of baccalaureate degree and credential requirements at the University
within limitations of residence requirements and community college transfer maximums.
TRANSFER OF CREDIT FROM A COMMUNITY COLLEGE
Upper-division credit is not allowed for courses taken in a community college. Credential
credit is not allowed for courses in professional occupational education taken in a community
college. This does not invalidate credit for pre-professional courses taken at a community
college, such as introduction to education, art or design, arithmetic, or music for classroom
teachers. After a student has completed 70 units of college credit at a community college, no
additional community college units may be accepted for unit credit.

11

D. Advising and Career Guidance


Mandatory Advising
All students are required to meet a major advisor once every year for class enrollment. The
College of Engineering and Computer Science places a registration hold on all undergraduate
students once a year to ensure the student meets with a department advisor. The department
has a designated Undergraduate Program Advisor who is given assigned time for academic
advising. The Department Chair also allocates three hours per week for academic advising.
The major advising is also available to students during the summer. The University
Academic Advisement Center provides students with General Education advising.
Welcome to Fullerton Day
The University organizes a Welcome to Fullerton Day every spring. The prospective students
and incoming new students visit the campus, often with their parents and friends. Each
department has a couple of tables. The Department Chair and participating faculty members
greet the visitors and answer questions. Representatives from student clubs are there to
introduce their clubs to the visitors. We also provide lab tours to the visitors.
New Student Orientation
In the last three years we have organized multiple sections of New Student Orientation for
both freshmen and transfers. The Department Chair gave presentations to introduce recent
development in computer science, career opportunities, as well as the degree requirements
and curriculum in the program. Advisors from the University Advisement Center advised
students in general education requirements.
We have scheduled seven sessions of New Student Orientation and three sessions of Transfer
Student Orientation in summer 2014.
The University Freshman Programs
The University Freshman Programs offers curriculum and services that create a foundation
for academic success from the first-year through graduation. All Freshman Programs
participants enroll in UNIV 100 Foundations for College Success and Lifelong Learning, a 3credit course where students learn the academic and practical skills for college success.
Topics include time management, learning styles, critical thinking, study and test taking
strategies, research skills and information competency, diversity, and campus services and
resources. Students also benefit from peer mentoring, reserved seats in popular general
education courses, a study and computing lounge, general education advising and academic
field trips.

12

The following tables summarize the retention rates of the freshman classes.
PART 1. 1-Year in-University Retention Rates
PART 1a. 1-Year in-University Retention Rates of All Fall Cohorts (First-Time FullTime):
Total
Cohort
Retention
# of Cohort
# of Retained
Rates
4519
3625
80.2%
Fall 2008
3845
3244
84.4%
Fall 2009
3749
3184
84.9%
Fall 2010
4091
3609
88.2%
Fall 2011
4419
3912
88.5%
Fall 2012
35764
29606
82.8%
Total

PART 1b. 1-Year in- University Retention Rates of ECS Fall Cohorts (First-Time FullTime):
Total
Cohort
Retention
# of Cohort
# of Retained
Rates
353
250
70.8%
Fall 2008
318
265
83.3%
Fall 2009
331
267
80.7%
Fall 2010
344
294
85.5%
Fall 2011
493
430
87.2%
Fall 2012
3071
2386
77.7%
Total

PART 1c. 1-Year in- University Retention Rates of ECS Freshman Program Participants
(First-Time Full-Time):
Total
Cohort
Retention
# of Cohort
# of Retained
Rates
47
40
85.1%
Fall 2008
34
33
97.1%
Fall 2009
35
30
85.7%
Fall 2010
33
29
87.9%
Fall 2011
40
33
82.5%
Fall 2012
298
249
83.6%
Total

13

PART 1d. 1-Year in- University Retention Rates of ECS Scholars (First-Time FullTime):
Total
Cohort
# of Cohort
# of Retained
Retention Rates
44
37
84.1%
Fall 2008
n/a
n/a
n/a
Fall 2009
26
21
80.8%
Fall 2010
129
105
81.4%
Total
PART 1e. 1-Year in- University Retention Rates of ECS Women Engineer (First-Time
Full-Time):
Total
Cohort
# of Cohort
# of Retained
Retention Rates
18
17
94.4%
Fall 2012
PART 2. 1-Year in-ECS Retention Rates
PART 2b. 1-Year in-ECS Retention Rates of ECS Fall Cohorts (First-Time Full-Time):
Total
Cohort
Retention
# of Cohort
# of Retained
Rates
353
184
52.1%
Fall 2008
318
218
68.6%
Fall 2009
331
229
69.2%
Fall 2010
344
244
70.9%
Fall 2011
493
365
74.0%
Fall 2012
3071
1878
61.2%
Total

PART 2c. 1-Year in-ECS Retention Rates of ECS Freshman Program Participants
(First-Time Full-Time):
Total
Cohort
Retention
# of Cohort
# of Retained
Rates
47
32
68.1%
Fall 2008
34
27
79.4%
Fall 2009
35
23
65.7%
Fall 2010
33
24
72.7%
Fall 2011
40
28
70.0%
Fall 2012
298
196
65.8%
Total

14

PART 2d. 1-Year in-ECS Retention Rates of ECS Scholars (First-Time Full-Time):
Total
Cohort
# of Cohort
# of Retained
Retention Rates
44
31
70.5%
Fall 2008
*
*
*
Fall 2009
26
20
76.9%
Fall 2010
129
91
70.5%
Total

PART 2e. 1-Year in-ECS Retention Rates of ECS Women Engineer (First-Time FullTime):
Total
Cohort
# of Cohort
# of Retained
Retention Rates
18
14
77.8%
Fall 2012

The Undergraduate Handbook


The department maintains an Undergraduate Handbook. It is updated every year and when
there are any changes to the policies or curriculum. This handbook is made available both
online and in hard copies for distribution. The handbook contains everything a student needs
to know about the program, including university level regulations and department level
policies.
The Titan Degree Audit System
The Titan Degree Audit system provides a convenient tool for both the advisor and the
student to monitor student progress and check graduation requirements. It has a template for
each major and emphasis. It lists out all requirements as well as options available to the
student.
The University Career Center and the Center of Internships and Community
Engagement
The University Career Center helps students with resume writing and interview tips. It
provides the connection between companies and students. It also helps students in
preparation of graduate school applications.
The Center of Internships and Community Engagement
1) Provides orientations on academic internship and service-learning opportunities,
departmental guidelines, and the registration process.
2) Develops sites and post academic internships and service-learning positions that offer
appropriate learning experiences, a professional environment, academic relevance,
and appropriate supervision.
3) Ensures that all academic internship and service-learning opportunities conform to
established risk management guidelines for meaningful, high quality, and safe
experiences.
15

ECS Week and Professor for a Day


Every spring the College of Engineering and Computer Science organizes an ECS Week and
Professor for the Day. The ECS Week typically includes the following activities:
1.
2.
3.
4.
5.

Preparing for the ECS Career Fair Workshop


Pre-Career Fair Rsum Reviews
ECS Career Fair
ECS Meet the Clubs Day and BBQ
Deans List Lunch

The Professor for a Day invites experts and professionals from the IT industries to give guest
lectures to computer science students. Many of these guest professors are our alumni.
The Student Organizations
The Computer Science Department currently has four students clubs:
1. The ACM Student Chapter
2. The Video Game Design Club
3. The Cybersecurity Club
4. The Upsilon Pi Epsilon Honors Society
These student clubs organize activities regularly to promote involvement and connections.
The ACM Student Chapter holds an on campus programming competition Battle of the
Bits every year. They also participate in the ACM Southern California Regional
Programming Contest. The Video Game Design Club has many members. They recently
participated in the IEEE GameSig - Intercollegiate Computer Game Showcase contest and
won first place.

E. Work in Lieu of Courses


Academic Internship
An academic internship is a work-learning partnership between a student, the university, and
a host company or organization that bears a direct relationship to a students major and
professional goals. As far as the coursework is concerned, all that is required is that students
complete the internship with the company and submit a final report by the end of the
semester.
Credit by Advanced Placement
Cal State Fullerton grants semester units toward its undergraduate degrees for successful
completion of examinations (scores of 3 or better) of the Advanced Placement Program of
the College Board.
Credit by Examination
Students may challenge courses by taking examinations developed at the campus. Credit
shall be awarded to those who pass them successfully.
16

F. Graduation Requirements
The Bachelor of Science in Computer Science degree requires 124 semester units of course
work in the following categories: lower division core courses 18 units, upper division core
courses 28 units, elective courses 15 units, mathematics 18 units, sciences 12 units, and
general education courses 33 units.
Lower Division Computer Science Core (18 units)
CPSC 120 Introduction to Programming
CPSC 121 Programming Concepts
CPSC 131 Data Structures Concepts
CPSC 223 Object-oriented Programming Language
CPSC 240 Computer Organization and Assembly Language
CPSC 254 Software Development with Open Source Systems

Upper Division Computer Science Core (28 units)


CPSC 311 Technical Writing for Computer Science
CPSC 315 Social and Ethical Issues in Computing
CPSC 323 Programming Languages and Translation
CPSC 332 File Structures and Database Systems
CPSC 335 Algorithm Engineering
CPSC 351 Operating Systems Concepts
CPSC 362 Software Engineering
CPSC 440 Computer System Architecture
CPSC 471 Computer Communications
CPSC 481 Artificial Intelligence

Computer Science Track Electives (15 units)


Multimedia and Digital Games (MG)
CPSC 386 Introduction to Game Design & Production
CPSC 484 Principles of Computer Graphics
CPSC 486 Game Programming
CPSC 489 Game Development Project
Any adviser-approved 3 unit 300/400 level Computer Science course
Internet and Enterprise Computing (IE)
CPSC 431 Database and Applications
CPSC 473 Web Programming and Data Management
CPSC 476 Java Enterprise Application Development
Any two adviser-approved 3 unit 300/400 level Computer Science courses
Software Engineering (SE)
CPSC 462 Software Design
CPSC 463 Software Testing or CPSC 466 Software Process
CPSC 464 Software Architecture
Any two adviser-approved 3 unit 300/400 level Computer Science courses
17

Scientific Computing (SC)


Math 250A Multivariate Calculus
Math 250B Introduction to Linear Algebra & Differential Equations
Math 340 Numerical Analysis
Math 370 Mathematical Model Building
Any adviser approved 3 unit 400-level Computer Science course
Custom (CT)
This track provides the students with great flexibility to build your knowledge and skills in
special areas of interest. They may take any adviser-approved combination of 15 units of
upper-division (300/400) courses selected from any elective track or this list:
CPSC 303 Multimedia Concepts
CPSC 322L Introduction to Computer-Aided Design
CPSC 376 Client/Server systems with Java
CPSC 433 Data Security and Encryption Techniques
CPSC 459 Micro-Computer Software Systems
CPSC 477 Introduction to Grid Computing
CPSC 451 Advanced operating Systems
CPSC 483 Data Mining and Pattern Recognition
CPSC 485 Computational Bioinformatics
CPSC 491T Variable Topics in Computer Science
CPSC 499 Independent Study
EGGN 495 Internship in Computer Science
At least 9 units of the selected courses must be 400-level Computer Science courses. No
more than 3 units of the courses can be 490499 courses.
Independent Study
Students may take CPSC 499 Independent Study to fulfill part of their electives. This course
allows them to pursue topics of special interest beyond those of a regular course. The
Independent Study is under supervision of a faculty mentor. The student must submit an
Application for Independent Study to the department office. The application must include a
study plan and objectives, and must be approved by a supervising full-time faculty member
and by the department chair. The students can take up to three units of Independent Study per
semester. A maximum of three units may be applied towards the degree.
Internship
The University and the Computer Science Department maintain an active internship and
service learning program as a service to all students interested in obtaining employment
while still in school. The students are encouraged to use the internship and service learning
program when they reach junior or senior status. The Internship can be used as a three unit
elective course. A maximum of three units may be applied towards the degree.
Mathematics (18 units)
MATH 150A, 150B Analytic Geometry and Calculus (4, 4 units)
MATH 270A, 270B Mathematical Structures (3, 3 units)
18

MATH 338 Statistics Applied to Natural Sciences (4 units)


Science (12 units)
The student must take one of the following biology course and lab combinations:
BIOL 101, 101L Elements of Biology (3, 1 units)
or
BIOL 172 Cellular Basis of Life (5 units)
The student must take one of these physical science series:
PHYS 225, 225L Fundamental Physics: Mechanics (3, 1 units)
PHYS 226, 226L Fundamental Physics: Electricity and Magnetism (3, 1 units)
or
CHEM 120A General Chemistry (5 units)
CHEM 125 General Chemistry for Engineers (3 units)
or
GEOL 101, 101L Physical Geology (3, 1 units)
GEOL 201, 201L Earth History (3, 1 units)
General Education (33 units)
The students are given many options available to fulfill the Universitys general education
requirements. The University Catalog has a chapter devoted to these requirements. An
updated list of approved general education courses is published in the Fall and Spring
registration guides. The University Academic Advisement Center has advisers who help the
students understand and meet these requirements.
Minimum Academic Requirements
A C- (1.7) or higher is required in all courses applied to the core. Exception: up to six units
of credit with grades in the range of D- (0.7) through D+ (1.3) may be earned in elective
tracks, mathematics and science courses only. A mathematics course taken to satisfy GE
category B.4 and the upper-division writing course (CPSC 311) must be passed with a
minimum grade of C.
The Titan Degree Audit system keeps track of student progress in the program. It lists
out all requirements as well as options available to the student. The system is accessible
to faculty/staff and students.

G. Transcripts of Recent Graduates


The program will provide transcripts from some of the most recent graduates to the visiting team
along with any needed explanation of how the transcripts are to be interpreted. These
transcripts will be requested separately by the team chair. State how the program and any
program options are designated on the transcript. (See 2014-2015 APPM, Section II.G.4.a.).

19

CRITERION 2. PROGRAM EDUCATIONAL OBJECTIVES


A. Mission Statement
California State University, Fullerton Mission Statement
Learning is preeminent at California State University, Fullerton. We aspire to combine the
best qualities of teaching and research universities where actively engaged students, faculty
and staff work in close collaboration to expand knowledge.
Our affordable undergraduate and graduate programs provide students the best of current
practice, theory, and research, and integrate professional studies with preparation in the arts
and sciences. Through experiences in and out of the classroom, students develop the habit of
intellectual inquiry, prepare for challenging professions, strengthen relationships to their
communities and contribute productively to society.
We are a comprehensive, regional University with a global outlook, located in Orange
County, a technologically rich and culturally vibrant area of metropolitan Los Angeles. Our
expertise and diversity serve as a distinctive resource and catalyst for partnerships with
public and private organizations. We strive to be a center of activity essential to the
intellectual, cultural and economic development of our region.
College of Engineering and Computer Science Mission Statement
Telephones. Television. Computers. CD players. Can you imagine what your life would be
like without these inventions? And think about how much we have benefited from
technology that allows us to travel thousands of miles in just a few hours, predict earthquakes
and storms, gaze at images of Venus and Jupiter, take X-ray pictures of the human body and
communicate instantly with someone on the other side of the world.
The people who gave us these innovations include engineers and computer scientists who use
their knowledge and imagination to solve problems, expand possibilities, and help humanity.
You can be among those who drive technological progress to shape our world in the 21st
Century. At Cal State Fullerton's College of Engineering and Computer Science, you will
learn, invent and explore possibilities. And when you graduate, you're going to be ready to
take on a challenging and rewarding career. You will be ready to change the world.
Department of Computer Science Mission Statement
WE PROVIDE OUR STUDENTS WITH:
A strong knowledge of computer science fundamentals and computer system technology;
Practical problem-solving skills for creating computer systems applications;
The ability and motivation to adapt as technology advances.
Creative research and professional development by our faculty and our students is essential
to our success.

20

B. Program Educational Objectives


The Computer Science program has established the following Program Educational
Objectives (PEOs):
A. Technical Growth Graduates will be successful in modern computing practice,
integrate into the local and global workforce, and contribute to the economy of
California and the nation
B. Professional Skills Graduates will continue to demonstrate the professional skills
necessary to be competent employees, assume leadership roles, and have career
success and satisfaction
C. Professional Attitude and Citizenship Graduates will become productive citizens
with high ethical and professional standards, who make sound technical or managerial
decisions, and have enthusiasm for the profession and professional growth

C. Consistency of the Program Educational Objectives with the Mission


of the Institution
Our Program Educational Objectives are consistent with the mission statements of the
University with respect to the development of the workforce in California with a global
vision. We prepare our students to participate in technological advancements and economic
prosperity of the state and the nation. Our comprehensive curriculum provide our graduates
with a solid foundation to lifelong learning so that they will be able to adapt to the fast pace
progression as often seen in the IT industries.

D. Program Constituencies
Our program constituents include industries, government agencies, as well as university
graduate programs. Most of our students work for the IT industry or in the IT division of
other industries and the government. Some of our graduates advance to graduate studies
either in our Master degree program or the M.S./Ph.D. program of other universities. We
interact with the constituencies through guest lecturers for our Professor for a Day,
internships for our students in their organizations, and faculty interactions with industry
colleagues. We also solicit feedback from our alumni and guests from industry with respect
to the relevancy and current of the curriculum. Interactions with other universities are
established through faculty participation in workshops, technical meetings, and international
conferences.
We had recently invited three experts for the Program Performance Review of our Master
degree program. One of them was the department chair of the Department of Information
System and Decision Science on campus, another one was the Computer Science Graduate
Program Coordinator from Cal Poly Pomona, and the third was from NASA JPL. They
provided valuable inputs for our Master degree program and at the same time shared
successful practices in their graduate programs.
21

Finally, our students themselves are constituents. Our student population is quite diverse in
terms of cultural and ethnical backgrounds although a majority of them come from the local
region. Many of our students are transfers from Community Colleges. Some students are first
generation college students in their families.
All students are required to meet a major advisor once every year for class enrollment. A
student can also make an appointment to see an advisor or department chair anytime.

E. Process for Review of the Program Educational Objectives


The Undergraduate Committee is responsible for keeping our PEOs relevant and current
based on the feedback from our constituents, to ensure that they remain consistent with the
Universitys mission and the ABET accreditation criteria. All faculty members in the
department are involved in the discussions when revisions of the PEOs are needed. Our
curriculum evolves in response to the rapid change in the IT industry and job market.
PEOs assessment cycle
Year 0

Year 1
Year 2
Year 3
Year 4

Adoption/Review of Program Objectives with consultations with


stakeholders. Development of survey(s), its administration, and report of
results.
Review of survey(s) by stakeholders, discussion of method and content,
discussion on how improvements can be made.
Implementation of any adopted improvement; review of Program
Objectives.
Survey

Since the last ABET visit in 2008 six new courses have been developed. These courses were
developed in response to feedback from our constituencies. They are
1.
2.
3.
4.
5.
6.

CPSC223C C Programming
CPSC223P Python Programming
CPSC353 Introduction to Computer Security
CPSC411 Mobile Device Application Programming
CPSC439 Theory of Computation
CPSC456 Network Security Fundamentals

In addition, one course has the contents and descriptions completely changed. It is CPSC 431
Database and Applications. Details are provided in Criterion 4. B.

22

CRITERION 3. STUDENT OUTCOMES


A. Student Outcomes
We adopt Student Outcomes from ABET Evaluation Criteria 3 including both
General and Program Criteria
General Criteria
(a) An ability to apply knowledge of computing and mathematics appropriate to the
programs student outcomes and to the discipline
(b) An ability to analyze a problem, and identify and define the computing requirements
appropriate to its solution
(c) An ability to design, implement, and evaluate a computer-based system, process,
component, or program to meet desired needs
(d) An ability to function effectively on teams to accomplish a common goal
(e) An understanding of professional, ethical, legal, security and social issues and
responsibilities
(f) An ability to communicate effectively with a range of audiences
(g) An ability to analyze the local and global impact of computing on individuals,
organizations, and society
(h) Recognition of the need for and an ability to engage in continuing professional
development
(i) An ability to use current techniques, skills, and tools necessary for computing practice
Program Criteria
(j) An ability to apply mathematical foundations, algorithmic principles, and computer
science theory in the modeling and design of computer-based systems in a way that
demonstrate comprehension of the tradeoffs involved in design choices
(k) An ability to apply design and development principles in the construction of software
systems of varying complexity

B. Relationship of Student Outcomes to Program Educational


Objectives
Our Program Educational Objectives (described in the section on Criterion 2) are for our
graduates to serve the region, the nation, and the profession, as follows:
A. Technical Growth Graduates will be successful in modern computing practice,
integrate into the local and global workforce, and contribute to the economy of
California and the nation
B. Professional Skills Graduates will continue to demonstrate the professional skills
necessary to be competent employees, assume leadership roles, and have career
success and satisfaction
C. Professional Attitude and Citizenship Graduates will become productive citizens
with high ethical and professional standards, who make sound technical or
managerial decisions, and have enthusiasm for the profession and professional
growth
23

The correlation between our PEOs and the ABET SOs is shown in the following table

PEO A
PEO B
PEO C

(a)
X
X

(b) (c)
X
X
X
X

(d)
X
X
X

(e)
X
X

(f)
X
X

(g)

(h)

X
X

(i)
X
X

(j) (k)
X X

The connection between the Student Outcomes and the Program Educational Objectives
are clear: Outcomes (a)-(d), (f) and (i)-(k) are key to successfully performing job
functions (PEO A). These outcomes stress the fundamental skills as a successful
employee. Outcome (a)-(f), (h) and (i) are important ingredients to reaching PEO B.
Success in each of these outcomes will keep our students employable after graduation
and make them leaders in their employment. Finally, outcomes (d) (e) (g) (h) are explicit
criteria for attaining PEO C.

24

CRITERION 4. CONTINUOUS IMPROVEMENT


Continuous improvement starts with assessment. The assessment process requires an
establishment of purpose and goals such as program objectives and student learning
outcomes for designing and conducting assessments, evaluating findings, and using results
for decision making or improvement.

A. Student Outcomes
The Computer Science Department has established the following assessment plan for student
outcomes.
Assessment Operational plan for Student Outcomes
When

Beginning of
Fall or Spring
Semester

What
Assessment report for previous year
reviewed and any needed changes or
improvement discussed
Review of coming year SOs to be
assessed and performance criteria to
be used for courses
Data collection

Who
All faculty

Undergraduate Committee with


Assessment Coordinator and
course instructors
Instructors of courses with
Assessment Coordinator
During the year
Any changes or improvement to the Undergraduate Committee with
assessment process
Assessment Coordinator
Data analyzed and assessment report Assessment Coordinator
End of Fall or
Spring Semester written
Assessment Methods, Data Collection, and Performance Target for SOs
Direct methods such as questions in exams, assignments, and projects are used. The data
through direct methods can be collected from courses.
Indirect methods such as student surveys, observation of student behaviors and activities
in class, labs, clubs, and employer surveys through Internship and interviews are used.
The data through indirect methods can be collected through student surveys, employer
surveys and interviews, and the number of student activities.
For direct measurements, the Assessment Coordinator requests instructors to collect specific
data relevant to specific SOs. Once the data are collected, the Assessment Coordinator
summarizes the data using the following rubric template to measure students performance.

Rubrics should provide a clear explanation on how to measure students performance.


25

Rubric template
Performance
Indicators\Scale

D:

C:

B:

A:

Unsatisfactory

Developing

Satisfactory Excellent

Indicator1 Sub-indicator Description


Indicator2
Indicator3
.
Performance scales 1, 2, 3, and 4 correspond to letter grades, D, C, B, and A respectively.
In addition to the information specified in rubrics, the following information will be
recorded:
A brief description on the source, nature of data, the collection cycle, and the data
collection process
Analysis results for specific SOs
A brief description on the action taken and time
Data collection
Data are collected from selected courses every year. The selected courses may be changed
for each semester or year. The relevant courses are listed for each student outcome with I
for Introduce, R for Reinforce, and A for Advance to represent the level of subject
coverage.
Performance target
Our long term target for student performance relevant to each SO is 80% or higher of A and
B ratings. Short term (within 4 years) target is 80% or higher of A ~ C ratings.
Assessment Process for Selected Courses
The following process will be used to measure the performance of selected courses. This will
be an important sub-process of the assessment process. The department chair oversees the
overall assessment process.
(1) Instructor integrates SOs as part of the course learning goals and objectives. Student
learning goals should be clearly stated in the syllabus.
(2) Assessment coordinator provides the course instructor with the rubrics along with
recommended measurement method(s) developed through consultation with the
instructor.
(3) Instructor creates specific exam questions, assignments, projects, or surveys reflecting the
performance indicators specified in the rubrics and learning goals to measure the student
performance.
26

(4) Instructor collects a summary of evaluation data and report the data to the Assessment
Coordinator at the end of the semester.
(5) Assessment Coordinator collects the measurement data and analyzes the students
learning performance for each course.
(6) Assessment Coordinator reports the analyzed data to the Undergraduate Curriculum
Committee.
(7) Undergraduate Curriculum Committee reports and discusses the assessment data relevant
to the course and suggests the instructor for improvement on student learning in future
semesters.
(8) Assessment Coordinator and Undergraduate Curriculum Committee evaluate the
performance of the assessment process itself including the metrics, measurement
activities, and rubrics in terms of consistency, effectiveness, and efficiency; make the
corrective actions for the process if necessary; and develop strategies for improvement.
(9) Repeat the above steps.

Frequency of assessment and data collection cycle


The assessment process is easier when a subset of courses that cover the set of eleven student
outcomes are identified, and each year, three or four of those courses become the major focus
of assessment. The choice of courses may not always be fixed, due to course schedule
changes and needs of data to evaluate specific SOs, but every year, six to eight outcomes out
of the eleven are assessed, with all outcomes being assessed at least once over the cycle of
three years. This way, the Assessment Coordinator needs to work with a limited number of
instructors each year to collect data. The choice of courses for each year is determined by the
Assessment Coordinator through consultation with the course instructors.
Maintenance of assessment data
The original data collected from the various sources specified above are maintained in a
central repository provided by dropbox.com by the Assessment Coordinator. The summary
data are recorded in an excel file and also documented in the assessment report.

27

ASSESSMENT OF SOs BY YEAR


Year 2012
During the year 2012, the primary focus was on CPSC 254, Software Development with
Open Source Systems, CPSC 323, Programming Languages and Translation, CPSC 335,
Algorithm Engineering, CPSC 362, Foundations of Software Engineering, CPSC 462,
Software Design, and CPSC 481, Artificial Intelligence. They are all junior- or senior-level
courses.
The Student Outcomes assessed, at least in part, were Outcomes (a) through (d) and (e)
through (k).
Year 2013
During the year 2013, the primary focus was on CPSC 120, Introduction to Programming;
CPSC 131, Data Structures Concepts; CPSC 351, Operating System Concepts; and survey
from students.
Year 2014
During the year 2014, the primary focus will be on CPSC 240, Computer Organization and
Assembly Language; CPSC 301, Programming Practicum; CPSC 335, Algorithm
Engineering; CPSC 362, Foundations of Software Engineering; CPSC 471, Computer
Communications; CPSC 481, Artificial Intelligence; and survey from students.
Year 2015
During the year 2015, the primary focus will be on CPSC 254, Software Development with
Open Source Systems; CPSC 223, Object-Oriented Programming Language; CPSC 301,
Programming Practicum; CPSC 335, Algorithm Engineering; CPSC 362, Foundations of
Software Engineering; and CPSC 481, Artificial Intelligence.
All the Student Outcomes (a) through (k) were assessed at least in part.
The following table illustrates the program course mapping to student outcomes. The
relevant courses are listed for each student outcome with I for Introduce, R for
Reinforce, and A for Advance to represent the level of subject coverage.

28

Program Course Mapping to Student Outcomes

29

(a) An ability to apply knowledge of computing and mathematics appropriate to the


discipline
Core courses relevant to this outcome: CPSC 120: I, CPSC 121: R, CPSC 131: R, CPSC 240:
R, CPSC 301: R, CPSC 351: R, CPSC 323: A, CPSC 335: A
Elective courses relevant to this outcome:
All other Computer Science courses and required math courses are relevant to this outcome.
Assessment Rubric
Performance
Indicators\Scale
Knowledge (a) Understand the
computing
principles, methods,
and techniques
relevant to a
problem to the
discipline
(b) Understand the
related mathematics
to the problem

Application (a) Apply or use the


principles, methods,
and techniques to
solve the problem

(b) Apply or use the


required
mathematical
approaches to solve
the problem

D:
C:
Unsatisfactory Developing

B:
Satisfactory

A:
Excellent

Understands
almost none

Understands
only some
principles,
methods, and
techniques

Has a reasonable
level of
understanding

Has a complete
understanding on
the necessary
principles,
methods, and
techniques

Understands
almost none

Has a reasonable
level of
understanding

No idea about
application or use

Understands
only some of
the relevant
mathematics
Applies or uses
sometimes

Has a complete
understanding of
the related
mathematics
Clearly applies
or uses the
relevant
principles,
methods, and
techniques

No idea about
application or use

Applies or uses
sometimes

Apply or use
most of the
relevant
principles,
methods, and
techniques or
most of the times
Applies or uses
mathematical
approaches most
of the times

Clearly applies
or uses the
necessary
mathematics
when needed

Data collection and analysis


CPSC 351, Operating System Concepts, fall 2013. N = 74. Data was collected from final
exam.
Summary of student performance:
Performance Indicators\Scale
Understanding and application
of computing knowledge

9%

46%

32%

11%

30

Student performance on understanding and application of computing knowledge needs


improvement.

CPSC 335, Algorithm Engineering, spring 2012. N = 67


Sample questions:

Understand Big O notation: Indicate True or False: 3


+ 7
( 2)
3 in closed form and prove efficiency class.
Find Big O of sums: Rewrite
Solve recurrence relation: ( ) = 4 n/2 3n2, 1 1
Find Efficiency class of following code: What is the efficiency of this algorithm in the
worst case?

Alg (A[0n1]):
do:
flag = False
for i from 1 to n1:
if A[i1] > A[i]:
swap(A[i1], A[i])
flag = True
while flag;
return A

CPSC 481, Artificial Intelligence, fall 2011. N = 61


Sample question:
Compute the information gain for each attribute and determine the attribute that must be used for the
root node of the decision tree for the following weather data set. It consists of two attributes,
outlook and temperature, and a class picnic that makes a binary decision.

Picnic
Yes
Yes
No
Yes
Yes
Yes

Outlook
Sunny
overcast
Rainy
overcast
Sunny
sunny

Temperature
Cool
Hot
Mild
Cool
Hot
Mild

CPSC 481, Artificial Intelligence, spring 2014. N = 24


Sample question:
Based on the model, gas price goes up or down due to two major factors, ColdWeather or
GoodEconomy. In other words, according to the model, if the weather is cold, gas price may go up.

31

Good economy may also drive up the gas price because of higher gas consumption. The probabilities
for ColdWeather and GoodEconomy and the conditional probability table for gas price model are
given below. C and E represent ColdWeather and GoodEconomy. T and F represent True or False
for ColdWeather and GoodEconomy. For example, p(C=T) represents the probability of having
ColdWeather as 0.6, p(E=F) represents the probability of not GoodEconomy as 0.3, etc. U and D
represents Up and Down of gas price, G. For example, p(G=U) and p(G=D) represent the probability
of gas price going up and down respectively.
Given the fact that gas price is up now, what is the probability that the cause is due to good
economy or p(E=T|G=U)? Show the detailed process of your answer by (a) identifying the network
connection type discussed in class, (b) identifying the correct joint probability formula, and (c)
showing the probability calculation process and at least a partial calculation result. (You dont need to
complete the calculation.)

p(C=T)p(C=F)

p(E=T)p(E=F)

0.60.4

0.70.3

CEp(G=U)p(G=D)
TT0.90.1
TF0.50.5
FT0.70.3
FF0.20.8

ColdWeath

Econom

GasPric

Summary of student performance:


Performance Indicators\Scale
Understand Big OKnowledge (a) Understand the computing
principles, methods, and techniques notation
relevant to a problem to the discipline
(b) Understand the related
mathematics to the problem
Application (a) Apply or use the principles,
methods, and techniques to solve the
problem
(b) Apply or use the required
mathematical approaches to solve the
problem

7% 18% 19% 55%

Find Big O of sums


4% 10% 4% 81%
Find Efficiency class of
code
30% 34% 6% 30%
Solve recurrence
relations
7% 12% 4% 76%

(a) and (b)

Compute information
gain

(a) and (b)

Compute probability

18% 20% 45% 17%


23% 57% 13% 7%

32

The student performance is summarized in Table 1. As shown in the table, we find that about
80% of students seem to have proper knowledge of the subject matter but lack application
ability, particularly the application of mathematical approaches.
Action taken
The Undergraduate Committee with the Assessment Coordinator met in fall 2013 and spring
2014 and discussed possible ways to improve students performance of application skills.
The consensus of the meetings was to recommend instructors to spend more time on
designing and providing application oriented examples focusing on mathematical thinking
and problem solving.

33

(b) An ability to analyze a problem, and identify and define the computing
requirements appropriate to its solution
Core courses relevant to this outcome: CPSC 120: I, CPSC 311: I, CPSC 121: R, CPSC 131:
R, CPSC 332: R, CPSC 301: A, CPSC 335: A, CPSC 362: A, CPSC 440: A, CPSC 471: A
Generic Rubric
Performance
Indicators\Scale
Analyze a given problem
and determine the
feasibility

D:
Unsatisfactory
Does not
understand the
problem or
identify the
requirements

C:
Developing
Understands
some aspect of
the problem and
identify some
requirements but
does not clearly
determine the
feasibility

B:
Satisfactory
Understands
the problem in
general and
aware of some
potential
solution for
the problem

Identify and define the


necessary computing
requirements

Does not
define any
requirements

Identifies and
defines some
computing
requirements for
some aspect of
the problem but
not clear or
comprehensive
enough to solve
the problem

Defines
mostly
accurate and
comprehensiv
e enough
computing
requirements

A:
Excellent
Not only
understands the
problem but
also
understands the
main issue of
the problem
with a clear
solution in
mind
Defines very
accurate and
comprehensive
requirements to
solve the
problem

Data collection and analysis


CPSC 362, Foundations of Software Engineering, spring 2012. N = 52.
Sample questions from an exam:
(a) Considering the major functions of Youtube (those commonly shown to most people
plus some expected administration functions), draw a UML use case diagram that
illustrates a context of the overall system.
(b) For a user function to upload a video, define a use case including essential elements.
(c) Create a domain (conceptual) model for the use case defined in (b) by showing
necessary concepts, associations, and attributes.

34

(d) For those identified classes (or entities) from the domain model in (c), assign relevant
responsibilities to each class using the CRC modeling approach discussed in class.
Summary of student performance:
D: 11%

C: 13%

B: 41%

A: 35%

The assessment scoring was not broken up into the two indicators because the data for the
first indicator was not available. Students performance relevant to this outcome seems
acceptable.
Action taken
No specific action was taken yet.

35

(c) An ability to design, implement, and evaluate a computer-based system, process,


component, or program to meet desired needs
Core courses relevant to this outcome: CPSC 120: I, CPSC 121: R, CPSC 131: R, CPSC
223H/J/N: R, CPSC 240: R, CPSC 351: R, CPSC 301: A, CPSC 332: A, CPSC 362: A,
CPSC 440: A
Elective courses relevant to this outcome: CPSC 386: R, CPSC 431: A, CPSC 463: A
Generic Rubric
Performance
Indicators \ Scale
Understand and
Design

Implementation

Evaluation

use the key


design
principles and
methods for a
computer-based
system, process,
component, or
program
Implement a
computer-based
system, process,
component, or
program that
meets the
requirements
using the design
principles and
methods
Evaluate
systems,
processes,
components, or
programs in
terms of
requirements
and the quality
of developed
systems,
processes,
components, or
programs

D:
Unsatisfactory

C:
Developing

B:
Satisfactory

A:
Excellent

Lack of
understanding on
any design
principles and
methods

Understands
some design
principles and
methods but
have trouble in
using them

Lack of skills
necessary to
implement the
requirements

Implements
some aspects
of a system but
unable to
complete

Demonstrates
reasonable level
of
understanding
the required
design
principles and
methods and
uses them
Demonstrates
implementation
skills using
appropriate
design
principles and
methods

Demonstrates
clear
understanding
of the key
design
principles and
methods and
uses them when
necessary
Demonstrates
highly skilled
implementation

Unable to
determine the
requirements and
evaluate the
quality of a
developed system

Evaluates some
aspect of a
developed
system but
unable to
determine if it
meets the
requirements

Evaluates a
developed
system, process,
component, or
program in
general

Clearly
evaluates a
developed
system,
process,
component, or
program based
on the
requirements
and quality

36

Data collection and analysis


CPSC 120, Introduction to Programming, fall 2013. N = 30. Data was collected from final
exam.
Summary of student performance:
Performance Indicators\Scale D
Basic programming concepts
3%

C
10%

B
37%

A
50%

Student performance for this indicator is acceptable.

CPSC 131, Data Structures Concepts, fall 2013. N = 26. Data was collected from final exam.
Summary of student performance:
Performance Indicators\Scale
Application and use of programming
methods and techniques

D
27%

C
35%

B
23%

A
15%

The summary of student performance shows a need of further improvement on understanding


and application of basic data structures.

CPSC 254, Software Development with Open Source Systems, spring 2012. N = 27.
Sample question from a project:
Develop a basic Web server using HTTP 0.9 standard as a base using Python.

CPSC 323, Programming Languages and Translation, spring 2012. N = 53.


Three assignments, each to design, implement and evaluate different component of a
compiler.
Assignment1: Construct a Lexical Analyzer (LA) for a small programming language called
RAT11. The LA needs to be created using Finite State Machine with Thompson
Construction Method.
Assignment2: Construct a Syntax Analyzer (SA) for RAT11. The SA can be generated
using bottom-up or top-down parsing technique.
37

Assignment3: Construct an Object Code Generator (OCG) for RAT 11 for a given virtual
machine.
The data was collected in fall 2011 from the course, CPSC 481 Artificial Intelligence by the
instructor. Out of 61 students, student performance is as follows:
Assignment1: Design and implement the MINI-MAX algorithm for 5x5 Tic-Tac-Toe game using any
heuristic function of your choice. Give a summary of game results among these three players.

Assignment2:
Design and implement 5x5 Tic-Tac-Toe game using either genetic algorithms or genetic
programming with any programming language. Give a summary of game results between MINIMAX and the genetic approach.

Summary of student performance:


Performance Indicators \ Scale
Develop a Web server
Design, implement, and
evaluate a computer-based Construct a lexical analyzer
system, process,
Construct an syntax analyzer
component, or program to
Construct an object-code generator
meet desired needs
Implement Tic-Tac-Toe using
evolutionary approach

D
8%
8%
13%
19%
17%

C
11%
13%
9%
2%
37%

B
34%
30%
6%
32%
31%

A
47%
49%
72%
47%
15%

Based on the student performance on types of projects such as development of a simple Web
server, lexical analyzer and syntax analyzer, students seem to perform well in developing
reasonably complex and well understood programs or systems. Student performance on the
development of complex programs or a program that requires non-traditional implementation
approach needs improvement. However, this lower performance may be due to lack of
understanding the problems or the development methods themselves.
Action taken:
No action was taken so far related to this outcome.

38

(d) An ability to function effectively on teams to accomplish a common goal


Core course relevant to this outcome: CPSC 362: A
Elective courses relevant to this outcome: CPSC 462: A, CPSC 463: A, CPSC 464: A, CPSC
466: A, CPSC 473: A, CPSC 489: A, CPSC 495: A
Generic Rubric
Performance
Indicators \ Scale
Understand the
team tasks and
gather
information
related to the task
Understand the
assigned role and
take the
responsibility
Perform assigned
work

D:
Unsatisfactory

C:
Developing

B:
Satisfactory

A:
Excellent

Does not
understand and
collect any
information that
relates to the topic
or task.
Does not perform
any duties of
assigned team role.

Somewhat
understands the team
tasks and collects
some information
relates to the topic
but incomplete.
Inconsistently
performs duties that
are assigned.

Understands the
team tasks and
collects basic
information related
to the topic.

Clearly understands
the team tasks and
collects a great deal
of information which
goes beyond the
basics.
Performs all duties
assigned and actively
assists others.

Always relies on
others to do the
work.

Rarely does the


assigned workoften
needs reminding.

Listen and
respond to others
for collaboration

Never
communicates or
always talking
never allows
anyone else to
speak.

Rarely
communicating with
others or does most
of the talkingrarely
allows others to
speak.

Usually does the


assigned work
rarely needs
reminding.
Discusses with
team members and
listens most of the
time.

Performs duties that


are assigned.

Always does the


assigned work
without having to be
reminded.
Consistently listens
and responds to
others appropriately
through effective
collaboration.

Data collection and analysis


CPSC 362, Foundation of Software Engineering, spring 2012. N = 52. Data was collected by
instructor through class observation and peer-evaluation within each team in a term project.
Summary of student performance:
Performance Indicators \ Scale
D
Able to function effectively on teams to 5%
accomplish a common goal

C
15%

B
45%

A
35%

According to this data, students in general meet our expectation on team work.
Action taken
No specific action was taken.
39

(e) An understanding of professional, ethical, legal, security and social issues and
responsibilities
Core courses relevant to this outcome: CPSC 311: I, CPSC 315: A
Elective courses relevant to this outcome: CPSC 433: R, CPSC 466: R
Generic Rubric
Performance
Indicators\Scale
Understand the
subjects of
professional, ethical,
legal, security, and
social issues and
responsibilities
Analyze the issue
based on the
professional, ethical,
legal, security, or
social perspective
Reach a reasonable
conclusion for the
issue

D:
Unsatisfactory

C:
Developing

B:
Satisfactory

A:
Excellent

Lack of
understanding of
the subjects

Understands some
subjects but mostly
confused with many
others

Has a reasonable
level of
understanding on
the subjects and
issues

Demonstrates
clear evidence of
understanding
the key issue and
related subjects

Unable to analyze
the issue

Tries to analyze some


issues and make a
logical argument but
mostly confused or
misunderstands the
key issue
Reaches a conclusion
but not consistent,
logical, or not based
on supporting
arguments

Analyzes the issue


using relevant
theories and
methods in general

Clearly analyzes
the key issue

Although not
perfect, reaches a
reasonable
conclusion

Reaches a clear
conclusion based
on strongly
supported
arguments and
theories

Unable to reach a
conclusion or reach
a conclusion based
on irrelevant
arguments

Data collection and analysis


The data was collected in fall 2013 through a survey with 221 students participated. The
relevant survey questions and their responses are shown below:
Question 1
Assume that you are working on a software project for your company. The project is
completed satisfying all the requirements and the project manager of your company decided
to deliver the system to the customer. However, later on you find an obscure security hole in
the system. Do you think it is better not to let the customers know about it for the benefit of
your company?
Only 18% of students considered this as an unethical practice while a majority, 82% of
students, answered NO choosing not to tell their customers about the security problem of

40

system that may damage the customers business. One possible reason for this result may be
that students might not consider the damage as serious.
So we rephrased this question and collected the data in spring 2014.
Rephrased question
Assume that you are working on a software project for your company. The project is
completed satisfying all the requirements and the project manager of your company decided
to deliver the system to the customer. However, later on you find an obscure but potentially
very serious defect in the system that may result in a significant amount of financial loss. Do
you think it is better not to let the customers know about it for the benefit of your company?
From this survey with the rephrased question, 37% of students answered yes and 63% of
students answered no. Although the percentage of students who considered this as an
unethical practice increased, the majority of students still seem to believe it as ethical.
Question 2
Many social network or search engine sites such as Facebook or Google collect huge
amounts of data from visitors and customers to analyze and use for business purposes. Do
you think it is a violation of peoples privacy? Yes No

Question 3
Which of the following statements do you think is ethically and legally right?
(a) It is illegal for consumers to make copies of any digitally recorded work for any
purpose.
(b) It is OK to copy a copyrighted CD for my family members since they will not make
any profit out of it.
(c) It may be legally OK to watch copyrighted movies online even if it is an open, free
site that doesnt require registration.
(d) It is definitely OK to copy a copyrighted CD or DVR if it is used for educational
purpose.
Question 4
What is the Heartbleed bug?
(a) It is a Trojan horse type of virus.
(b) It is a Worm type of virus.
(c) It is a security hole on open SSL.
(d) It is a conspiracy without evidence.

41

Summary of student performance:


Performance indicators\Scale

Year 2013, N = 221


NO
YES
82%
18%

Understand professional &


ethical issues and
responsibilities
52%
Understand social issues
47%
Understand legal issues
26%
Understand security issues
*Some students didnt answer questions.

47%
53%
74%

Year 2014, N = 235


NO
YES
63%
37%

43%
58%
16%

53%
42%
84%

The overall student performance indicator for this outcome may be considered as a C grade,
Developing or higher.
Action taken
Although the student performance indicator shows improvement on this outcome, the
department chair and the Assessment Coordinator agree to collect and analyze additional data
in the following semesters before any suggestion of changes for improvement is made.
In addition regarding ethical, social, and legal issues, the department chair and the
Assessment Coordinator agree to discuss it with the instructor of CPSC 315 and with other
CS faculty members in the upcoming department meeting for possible improvement.

42

(f) An ability to communicate effectively with a range of audiences


Core course relevant to this outcome: CPSC 311: A, CPSC 315: A, CPSC 362: A,
Elective courses relevant to this outcome: CPSC 386: R, CPSC 462: R, CPSC 463: R, CPSC
464: R, CPSC 466: A
Generic rubric for communication skills including presentation, writing, and
interpersonal skills
Performance
D:
C:
B:
A:
Indicators\Scale
Unsatisfactory Developing
Satisfactory
Excellent
No goals and
Some goals and
Provides goals
Provides clear
Content Goals and

Message
delivery

objectives

objectives

Supporting
details

No detail about
the topic

Logical
organization

No fluency of
organization

Focus,
clarity, and
consistency

Not focused,
unclear, or
inconsistent
presentation

Conclusion

No conclusion

Time
management

Exceeds the time


limit

objectives are
provided but not
complete, unclear or
missing
Provides some details
but lacks other part of
the subject

and objectives of
the presentation

goals and
objectives

Provides enough
details related to
the subject

Organized but needs


significant
improvement
Focused on some
points, often
ambiguous,
distracted, or
inconsistent
Provides a conclusion
without supporting
evidence

Organization is
acceptable

Provides all the


necessary content
and other related
materials
Organization is
very clear

Meets the time limit


some time

Reasonably
focused and
consistent for
most of the times
Provides a
reasonable
conclusion with
reasonable
evidence or
justification
Meets the time
limit in general

Always focused
on the key issue
and deliver the
message clearly
and consistently
Provides clear
conclusion based
on clear
supporting
evidence or
justification
Always meets the
time limit

Data collection and analysis


CPSC 362, Foundations of Software Engineering, spring 2012. N = 52. Data was collected
by instructor through student presentation.
Summary of student performance:
Performance Indicators \ Scale
Able to communicate effectively.

D
Presentation skills 7%

9%

53% 31%

Student performance on this outcome is acceptable.


Action taken
No action was taken.
43

Generic Rubric for Writing Skills


Performance
Indicators\Scale
Focus
Content

Supporting
details

Organization

Coherence

Transitions

Style

Voice

D:
C:
Unsatisfactory Developing

B:
Satisfactory

A:
Excellent

Demonstrates
little or no focus

Maintain
consistent focus
on the topic

Maintains
exceptional focus
on the topic

Provides
adequate
supporting details

Provides ample
supporting details

Organizational
pattern is logical
and conveys
completeness and
wholeness with
few lapses
Provides
transitions which
serve to connect
ideas
Some sense of the
person behind the
words is evident

Organizational
patterns is
logical, conveys
completeness,
and wholeness

Uses effective
language and
appropriate word
choice for
intended audience
and purpose

Uses affective
language; makes
engaging;
appropriate word
choices for
audience and
purpose

Sentences/phrase
somewhat varied
in length and
structure
Generally follow
the rules for
standards English
for conventions

Sentences/phrases
appropriately
varied in length
and structures
Consistently
follows the rules
of standard
English for
conventions

Includes
inconsistent or
few details which
may interfere with
the meaning of the
text
Little evidence of
organization or
any sense of
wholeness and
completeness
Uses poor
transitions or fails
to provide
transitions
Little or no sense
of the person
behind the words
is evident

Word
choice

Has a limited or
inappropriate
vocabulary for the
intended audience
and purpose

Sentence
fluency

Has little or no
variety in
sentences length
and structure
Does not follow
the rules of
Standard English
for conventions

Conventions

Provides
inconsistent
focus on the
topic
Includes some
details, but may
include
extraneous or
loosely relevant
material
Achieves little
completeness
and wholeness
though
organization
attempted
Provides
transitions
which are weak
or inconsistent
Some sense of
the person
behind the
words is
attempted
Limited and
predictable
vocabulary,
perhaps not
appropriate for
intended
audience and
purpose
Show limited
variety in
sentence length
and structure
Generally does
not follow the
rules of
Standard
English for
conventions

Provides
transitions that
eloquently serve
to connect ideas
Allows the reader
to sense the
person behind the
words

44

Data collection and analysis


CPSC 362, Foundations of Software Engineering, spring 2012. N = 52. Data was collected
by instructor through term project report.
Summary of student performance:
Performance Indicators \ Scale
Able to communicate effectively.

Writing skills

D
11%

C
22%

B
39%

A
28%

The summary of student performance for data collected in spring 2012 for measurement of
writing skills seems acceptable.
Action taken
No action was taken related to this outcome yet but it needs continuous attention due to the
importance of this outcome.

45

(g) An ability to analyze the local and global impact of computing on individuals,
organizations, and society
Core courses relevant to this outcome: CPSC 254: I, CPSC 311: I, CPSC 315: A, CPSC 481:
A
Elective courses relevant to this outcome: CPSC 433: R, CPSC 483: R, CPSC 485: R
Generic Rubric
Performance
Indicators\Scale
Understand the computing
subjects that affect
individuals, organization,
and society

D:
C:
Unsatisfactory Developing

B:
Satisfactory

A:
Excellent

Lack of
understanding on
the related
computing
subjects

Has some level


of understanding
on the related
computing
subjects

Analyze the impact of the


computing subjects in
terms of significance, such
as individuals,
organization, and society
level

No idea on the
necessity and how
to analyze the
impact of the
computing
subjects

Analyzes the
impact of some
of the computing
subjects

Has a reasonable
level of
understanding on
the relevant
computing
subjects
Analyzes the
impact of the
computing
subjects in
general

Demonstrates a
clear
understanding on
the relevant
computing
subjects
Clearly analyzes
the impact of the
computing
subjects in terms
of significance,
such as
individuals,
organization, and
society level

Data collection and analysis


CPSC 481, Artificial Intelligence, fall 2012. N=61. Student answers in mandatory online
discussion on the following subject assessed by instructor in terms of impact analysis based
on the above rubrics.
Do you think it is possible to develop a robot that can learn like an average human being?
If so, what will be the impact of such a robot in our daily life?
Summary of student performance:
Performance Indicators \ Scale
Able to analyze the local and
global impact of computing on
individuals, organizations, and society

Impact analysis

2%

3%

20% 75%

The majority of students seem to understand the global impact of computing on individuals,
organizations, and society.
46

Additional data was collected in fall 2013 through a survey with 221 students having
participated. The relevant survey questions and their responses are shown below:
Question 1
Are you aware that people demand more and more intelligent and ubiquitous computing that
allows people to carry and use it in their daily life?
Yes No
56% of students answered Yes, 36% of students answered No, and 8% of students didnt
answer this question. In general, a majority of students seem to consider future software to be
more intelligent, which may impact our future society.
Question 2
If over 90% of organizations rely on cloud computing in the future, how do you think it may
impact the IT industry?
(a) Webhosting companies will lose the market.
(b) Information storage and sharing will be much easier than before without physical
limitations.
(c) Cloud computing will create new business opportunities.
(d) I dont think it will impact the current IT industry much.
The distribution of student answers was 4% for (a), 39% (b), 48% (c), and 7% (d).
Summary of student performance:
Performance
indicators\Scale
Able to analyze the local
and global impact of
computing on individuals,
organizations, and society

Year 2012, N = 61
NO
YES
5%

95%

Year 2013, N = 221


NO
YES
7%

93%

Year 2014, N = 235


NO
YES
6%

91%

*Some students didnt answer questions.


The majority of students seem to understand the local and global impact of computing.
Action taken
No action was taken.

47

(h) Recognition of the need for and an ability to engage in continuing professional
development
Core courses relevant to this outcome: CPSC 254: I, CPSC 440: A, CPSC 471: A, CPSC
481: A
Elective courses relevant to this outcome: CPSC 386: R, CPSC 433: R, CPSC 464: A, CPSC
466: R, CPSC 473: R, CPSC 474: R, CPSC 476: R, CPSC 477: A, CPSC 483: A, CPSC 485:
A, CPSC 486: R, CPSC 489: A, CPSC 495: A
Generic Rubric
Performance
Indicators\Scale

D:
Unsatisfactory

C:
Developing

B:
Satisfactory

A:
Excellent

Read the current technology


news, articles, or books

Rarely read the


technology or
computing related
materials

Read some
technology or
computing
related materials

Always read all


the necessary
materials on the
relevant subjects

Understand the nature,


importance, and potential of the
technology advancements and
enormous amount of subjects to
study and master

Shows lack of
understanding of the
importance and
potential of the
technology
advancements.
Accordingly doesnt
recognize the need
for professional
development
Shows no intention
to engage in
professional
development

Shows some
level of
understanding on
the importance
and potential and
occasionally
recognizes the
need for
professional
development
Tries to engage
in professional
development
sometimes

Read the
necessary
materials on the
technology or
computing
subjects
Understands
and recognizes
the need for
professional
development in
general

Puts reasonable
amount of effort
for professional
development

Always tries to
improve
knowledge and the
needed skills for
professional
development

Accordingly recognize the need


for continuing professional
development
Engage in continuous
improvement in terms of
knowledge and skills related to
the subjects or tasks

Clearly
understands and
recognizes the
need for
professional
development

Data collection and analysis


CPSC 362, Foundations of Software Engineering, spring 2012. N = 52. Data was collected
through the following two survey questions through mandatory online discussion given in the
class by instructor.
Question 1 (informally asked in class):
How many of you think that your programming skills learned from basic programming
courses are not enough in developing a large scale of commercial software?

48

Question 2 (informally asked in class):


How many of you are actually trying to learn the needed skills and technologies not
covered in typical computer science classes for your career?
Summary of student performance:
Performance Indicators\Scale
Recognize need for
continuing professional
development
Engaged in continuous
improvement
*No response from 5%.

No (D, C)

Yes (B, A)

Understand skill level needed


in developing large-scale commercial
software

10%

85%*

Going beyond class to gain


skill and knowledge

90%

10%

Based on this data, most students recognize the needs of continuing professional
development but dont actually engage in their professional development beyond class.
Additional survey data was collected in fall 2013 and in spring 2014. The relevant survey
questions and their responses are shown below:
Question 1:
Have you tried to learn new technologies on your own regardless of the classes you are
taking?
Question 2:
As a future professional computer scientist or software engineer, do you feel you need to
improve your skills as technologies advance?
Student performance:
Performance indicators\Scale
Recognize need for
continuing professional
development
Engaged in continuous
improvement

Year 2013, N = 221


Yes
No
100%

Year 2014, N = 235


Yes
No
100%

91%

98%

9%

2%

Although data collected in 2012 shows inconsistency, based on the assessment of this
outcome by data collected from 2013 through 2014, we find that most students understand
the need for continuing professional development and actually try to engage in improvement.
Action taken
Although further data collection and analysis may be needed for this outcome, the
Undergraduate Committee and the Assessment Coordinator informally met during the regular
lunch meeting and had a discussion on how to motivate students to engage in their
professional development beyond class. Some of the ideas were to support student clubs and
encourage their participation in various Computer Science related activities.
49

(i) An ability to use current techniques, skills, and tools necessary for computing
practice
Core courses relevant to this outcome: CPSC 120: I, CPSC 121: R, CPSC 131: R, CPSC
223J/H/N: R, CPSC 254: A, CPSC 301: A, CPSC 323: R, CPSC 471: A
Elective courses relevant to this outcome: CPSC 386: R, CPSC 431: R, CPSC 463: R, CPSC
466: R, CPSC 473: A, CPSC 474: A, CPSC 476: A, CPSC 477: A, CPSC 483: A, CPSC 484:
A, CPSC 485: A, CPSC 486: A, CPSC 489: A, CPSC 495: A
Generic Rubric
Performance
Indicators\Scale
Understand the fast
technology changes and
advancements and learn
new techniques, skills, and
tools to maintain the
currency
Adapt to the changes of
new computing practices
and use them

D:
Unsatisfactory

C:
Developing

B:
Satisfactory

A:
Excellent

Shows lack of
understanding the
nature of technology
advancements and
therefore does not
learn new techniques,
skills, and tools
Does not use new
techniques, skills, and
tools

Understands
the technology
advancements
but does not
learn them

Understands the
technology
advancements
and tries to learn
them in general

Clearly
understands the
technology
advancements
and always
learns them

Rarely adapts
to the changes
or uses new
approaches for
computing
practices

Tries to adapt to
the changes and
uses new
approaches for
computing
practices most of
the times

Always adapts to
the changes and
uses new
approaches for
computing
practices

Data collection and analysis


CPSC 362, Foundations of Software Engineering, spring 2012. N = 52.
Data was collected from two survey questions by instructor:
Question 1 (informally asked in class)
How many of you know how to develop a mobile application?
Question 2 (informally asked in class)
How many of you already installed the most recent version of Visual Studio or other
software development environment such as Eclipse?
Summary of student performance:
Performance Indicators\Scale

Learn new techniques, skills,


and tools to maintain currency

Learn how to develop new


type of software application

85%

15%

Adapt to the changes of new


computing practices and
use them

Install latest development


Environment

80%

20%
50

Additional data was collected in fall 2013 through a survey with 221 students having
participated. The relevant survey questions and their responses are shown below:
Question 1
When you develop software, have you used any Agile or iterative software development
process such as Scrum, XP, Test-Driven Development (TDD), or Unified Process?
Question 2
Do you use the latest tools such as Visual Studio, Eclipse, or other Open source software
tools whenever necessary?
The distribution of student answers was 61% for Yes and 39% for No for Question #1,
and 93% for Yes and only 7% No for Question #2. The results vary depending on the
type of questions asked. However, the majority of students show interest in learning new
techniques, technologies, and tools in order to improve their skills. The overall performance
indicator for this outcome may be in the range of Satisfactory and Excellent.
Action taken
The assessment results indicate that we may still need to discuss with all faculty members
about this student outcome and come up with some improvement strategies

51

(j) An ability to apply mathematical foundations, algorithmic principles, and computer


science theory in the modeling and design of computer-based systems in a way that
demonstrate comprehension of the tradeoffs involved in design choices
Core courses relevant to this outcome: CPSC 131: I, CPSC 240: I, CPSC 323: A, CPSC 332:
A, CPSC 335: A, CPSC 440: A, CPSC 471: A, CPSC 481: A
Elective courses relevant to this outcome: CPSC 433: A, CPSC 484: A, CPSC 485: A
Generic Rubric
Performance
Indicators\Scale

D:
Unsatisfactory

C:
Developing

B:
Satisfactory

A:
Excellent

Understand
fundamental
mathematics,
algorithmic principles,
and computer science
theories

Lack of understanding
on related mathematics,
algorithms, and
computer science
theories in modeling or
designing a computerbased systems

Understands
some related
mathematics,
necessary
algorithms,
and computer
science
theories

Apply or use the


necessary mathematical
approaches, algorithms,
and computer science
theories for modeling
and designing computerbased systems

Lack of background or
skills necessary to apply
or use the necessary
mathematics, algorithms,
and computer science
theories in modeling and
designing computerbased systems
Unable to consider the
tradeoffs in different
modeling or designs to
develop a quality system

Applies some
mathematics,
algorithms, or
computer
science
theories
sometimes

Demonstrates
reasonable level
of
understanding
the required
mathematics,
algorithms, and
computer
science theories
Applies the
necessary
mathematics,
algorithms, or
computer
science theories
in general

Demonstrates a clear
understanding of the
fundamental
mathematics, the
best algorithms, and
computer science
theories related to
the computer-based
system development
Always
demonstrates the
application of the
necessary
mathematics,
algorithms, and
computer science
theories
Clearly evaluates the
choices of design or
models and
determines the best
design choice from
other alternatives

Evaluate tradeoffs of
possible designs or
models

Evaluates
tradeoffs of
some model or
design
alternatives
sometimes

Evaluates
tradeoffs of
possible design
or models in
general

Data collection and analysis


CPSC 362, Foundations of Software Engineering, spring 2012. N = 52.
Question:
Assume that you are in the process of developing an online shopping site for a small
company that sells health products. As an important function among others, you are to
design and develop shipping methods. Currently, the company only uses FedEx but if the
business grows in the future, the company plans to support other shipping methods such
as UPS or other companies. Considering this scenario, give two possible design and
52

implementation approaches to this design problem for the shipping methods (not the
whole website), and draw a class diagram for each approach that explains your design
solutions considering the design tradeoffs.

Summary of student performance:


Performance Indicators \ Scale
Evaluate tradeoffs of different designs
or models

D
Design tradeoffs

13% 11% 41% 35%

According to the summary of student performance, most students seem to be able to evaluate
tradeoffs of different designs.

Action taken
No action was taken. However, further data collection and analysis are needed.

53

(k) An ability to apply design and development principles in the construction of


software systems of varying complexity
Core courses relevant to this outcome: CPSC 120: I, CPSC 121: R, CPSC 131: R, CPSC 362:
A,
Elective courses relevant to this outcome: CPSC 462: A, CPSC 464: A, CPSC 473: A, CPSC
476: A, CPSC 486: R, CPSC 489: A
Generic Rubric
Performance
Indicators\Scale
Understand Different scale
and complexity
of software
systems and
needed
development
processes
Design and
architecture
principles and
methods

Apply
use

Develop

or Design and
architecture
principles and
methods

Varying scales
of software
systems using
right design and
architecture
approach in a
wellestablished
development
process

D:
Unsatisfactory

C:
Developing

B:
Satisfactory

A:
Excellent

Unaware of
varying scale of
systems or unable
to understand and
recognize the
importance of
development
process
Lack of
understanding of
design and
architectural
methods

Understands the
varying scale and
complexity of
systems and some
development
process models

Understands the
varying scale
and complexity
of systems and
modern
development
process models

Understands some
design and
architectural
methods but show
a lack of
confidence of
them

Understands
major design
and architectural
methods

Rarely uses design


and architecture
principles and
methods

Applies some
design and
architectural
methods, not
necessarily the
best option
Develops software
systems following
a poorly
established
development
process

Applies
reasonably good
design and
architectural
methods

Understands the
varying scale
and complexity
of systems and
the best
development
process model
for the project
Understands
major design
and architectural
methods and
know the pros
and cons of
design
alternatives
Applies the best
design and
architectural
methods from
other design
alternatives
Develops quality
systems
successfully
using following
a wellestablished
process

Unable to develop
or develop systems
using poor design
or architectural
approaches
Follows
unorganized
development
process

Develops
systems
successfully
following an
acceptable
process

Often unable to
complete the
development

Data collection and analysis


CPSC 362, Foundations of Software Engineering, spring 2012. N = 53.
Data was collected from a semester-long group project for application development.
54

Application Scenario:
A company, PYProducts.com, plans to develop a B2B web application to help many retail
stores promote their products to their customers and establish better communication with
them. The companys business cases are briefly described in the following:
Each store should register the website, PYProducts.com to receive a service. The required
information for registration includes store name, address, phone, and email.
As soon as the store finished the registration, the store is led to MyStore page.
PYProducts.com provides a marketing function (or tool), called product announcement
for stores. The function allows the store to post their product information including product
name, description, pictures (potentially multiple pictures for one product) on the stores
MyStore page.
As soon as the product is posted on MyStore page, the product information is
immediately sent to their customers via email.
If their customer is interested in buying the product, the customer clicks the link. When
the customer clicks the link, the customer is led to the stores MyStore page.
From the stores MyStore page, the customer can purchase the product going through the
typical online shopping procedure. However, if the customer never purchased any product
from the store before, the customer should enter the basic contact information including
name, shipping address, phone number, payment information (e.g., credit card number), and
email.
If the purchase process is done, the customer will receive an order confirmation message
through email.
The store can post existing products, new products (first stored in the database within a
month), promotional products (e.g., buy one and get one free), and sales products (price
discount).
When the customer purchases the promotional products or sales products, the proper
price calculation should be done during the checkout.
The customer can also simply ask a question about the product by sending a message to
the store. The store will respond to the message for the question.
The store needs to properly manage their customers, communicating with their
customers.
The store needs to identify and learn the effectiveness of any promotion or sales
strategies. So the necessary information on any marketing strategies should be retrieved from
the database.
Write a project report including at least the following elements:
Project title
Team member list with individual % contribution to your project. Include at least one
contact persons email
Software development process model and operational plan used throughout your project
The most latest project plan with iteration plan including number of iterations, length of
iteration, clear milestones showing timeline and work products or tasks to be completed
Major SRS elements you included in your project plan. The minimum elements to be
included in SRS are
Vision statement
55

use case diagram that includes all the use cases,


use case definition for each use case, and
an activity or data flow diagram that shows a flow of business
Design model with at least
architectural diagram with proper annotation,
a brief justification of the architecture (compared to other possible alternatives),
a data model,
a domain model,
one or two selected class diagrams if there are too many classes,
one or two selected user interfaces if there are too many pages, and
a deployment diagram that shows file/directory organizations.
Project environment and technologies such as platforms, frameworks, or languages used
to implement your system
Implementation model including source codes. DO NOT include your source code in this
report. Instead, submit one zip file that includes all program files to the Titanium.
A traceability matrix that maps from use cases, architectural elements, user interfaces if
any, and to actual program files, folders, or components if any. For each use case, clearly
indicate the status in three categories Done, Partially Done, and Not done.
Retrospective discussion about the overall project including major issues,
accomplishments, lessons learned, team confidence, and needs of improvement for future
projects
In addition to the above specified artifacts, you are free to add additional information to
show the quality of your system and effort your team put for your project.

CPSC 462, Software Design, fall 2011. N = 69.


Another semester long group project:
Create a design model for your teams selected application including class diagrams,
interaction diagrams, software architecture diagram, entity relationship diagram for data
model, and design and architectural approach document for major design and architectural
decisions made. The design and architectural document should include elements such as
issue, solution summary (design or architectural decision), factors, motivation, and
alternatives considered if any.
Provide implementation model including source codes for class definition, user
interfaces. All source codes should be compiled in a language of your teams choice.
Create a traceability matrix that shows links from your teams business requirements, use
cases, functional requirements, design elements, architectural elements, data model elements,
and implementation elements.
Provide retrospective discussion about the overall project including major issues,
accomplishments, lessons learned, team confidence, and needs of improvement for future
projects.
Include any other artifacts your team wish to add if any

56

CPSC 362, Foundations of Software Engineering, spring 2014. N = 32. Data were collected
from exam questions.
Question 1
Consider the following code snippets written in a C++ style language to define a class
hierarchy. pay() method is for any type of payment. getLatePenalty() is to calculate late
penalty fee. getBillDueDate() method is to calculate and return the due date of a bill that is
only applicable to bill payment but not to credit card or check payment.
interface IPay {
void pay();
float getLatePenalty();
}

class BillPay : IPay {


String billAccNum;
public void pay()
{}
public Date
getBillDueDate(
)
{}
}

class CredPay : BillPay {


int cardNum;
float getCrdLimit ()
{}
int validateCardNum()
{}
}

class CheckPay : BillPay


{
int bnkAccNum;
void float chkBalance()
{}
int validateChkNum()
{}
}

Notations: {} represents a valid code block. Colon : represents inheritance.


Is this class hierarchy valid? If your answer is Yes, write YES and do nothing. If No,
identify problem(s) and write the code with problem(s) fixed.

Question 2
Further assume that you plan to add key Customer Relationship Management (CRM)
functions such as contact management and sales management. However, you quickly realize
that these functions can be quite complex to implement. Fortunately, you remember an open
source enterprise resource planning system called OpenERP that provides all these functions
plus many more. In fact, OpenERP provides a huge number of functions that can be useful
for a large company. You just need the key CRM functions, but most other functions
provided by OpenERP are not necessary for your site. Besides, you dont want the other team
members to deal with OpenERP because they are still inexperienced developers, and it will
take really a long time for them to understand the system.
Considering this scenario, describe the best design and implementation strategy for this
design problem using design patterns and/or principles discussed in class. Justify why your
design strategy is the best to solve this design problem showing a class diagram.

57

Summary of student performance:


Performance Indicators\Scale
Able to apply design and
development principles in the
construction of software of
varying complexity.

D
Develop B2B Web
application
Designing and
implementing a major
business application
Object-Oriented concepts
Design principles

5% 15% 42%

38%

3%

9% 48%

40%

7% 54% 18%

21%

8% 36% 31%

25%

According to the summary of student performance, students seem to perform well when they
work as a group, possible by the contribution made by a few leaders in a group. However, the
results of individual student performance indicators such as Object-Oriented (OO) concepts
and application of design principles show poor student performance in the ability to apply
design and development principles in the construction of software.
Action taken
Further data collection and analysis may be needed to confirm the need of changes in
instruction and course materials in the relevant courses. The Undergraduate Committee chair
and the Assessment Coordinator already had a discussion on the inclusion of CPSC 362 for
the sequence of courses to improve basic programming and design skills. Accordingly, the
data from all programming intensive courses such as CPSC 120, CPSC 121, CPSC 131,
CPSC 301, and CPSC 362 are needed, particularly because of correlation between data from
the courses CPSC 301 and CPSC 362.

58

Assessment and improvement strategies utilizing CPSC 301, Programming


Practicum for fundamental problem solving and programming skills to meet SLOs
(a) An ability to apply knowledge of computing and mathematics appropriate to the discipline
(c) An ability to design, implement, and evaluate a computer-based system, process, component,
or program to meet desired needs, and
(k) An ability to apply design and development principles in the construction of software
systems of varying complexity.
Selected core courses: CPSC 120: I, CPSC 121: R, CPSC 131: R, CPSC 301, and CPSC 362: A
The Undergraduate Curriculum Committee was charged with bringing together the instructors of
the sequence and exploring ways to improve students programming skills. The three-course
sequence: CPSC 120, Introduction to Programming; 121, Programming Concepts; and 131, Data
Structures Concepts covers basic programming skills. CPSC 301, Programming Lab Practicum
verifies the students basic programming skills learned from those three courses through a
programming test. Students who failed the test will be retrained in basic programming through
the programming lab in CPSC 301. Coming up with a clear and consistent standard for each
course was thought to be a major issue since different instructors covered material in different
depths.
Since we found that faculty members were often not very conversant with what others were
doing in their courses, we instituted a Wednesday lunch where all available faculty were invited
to come and discuss matters of interest. Although this was not specifically meant as the regular
meeting of the informal Introductory Sequence Working Group headed by the Undergraduate
Coordinator, it became a de facto meeting when enough interested people were present. Most
concrete proposals were documented through email. The discussions continued through Summer
2011, by the end of which a consensus was reached on the topics to be covered in CPSC 120 and
121 as well as the textbook to be used. Compliance documents and topic outlines with text
references were created for both courses. During Fall 2011, meetings were held with all
instructors of the three courses, including two new part-timers. Unfortunately, the new
instructors were not very receptive to the coordination that was required; we hope that in the
future, whenever possible, only experienced instructors willing to work with the group will teach
in the introductory sequence.
While there was not a completely smooth transition, most sections of CPSC 120 started with the
revised course in Fall 2011 and continued on with CPSC 121 in Spring. Discussion is still
ongoing about CPSC 131 although most of the topics are agreed upon.

59

Data collection and analysis


We collected data for the initial Proficiency Exam, using for each problem the following score
scheme:
Good, program is mostly correct:
2
Program has right idea, but needs work:
1
No program or program incorrect:
0
Summary of student performance measured in Fall 2010:
PerformanceCriteria
Abletotakespecificationforaprogram,design and implement the
program
Abletousearrays,functions,fileI/O

Abletouserecursion

Abletoimplementandusepointersanddynamic variables

Abletotakespecificationforaprogramand design a program to meet the


specs

ScoreDistribution,
Fall2010,N=23
2:8
1:8
0:7
2: 17
1:6
0:0
2:9
1:5
0:9
2: 10
1:7
0:6
2:5
1:11
0:7

good: 35%
fair:35%
poor:30%
good: 74%
fair:26%
poor:0%
good: 39%
fair:22%
poor:39%
good: 43%
fair:31%
poor:26%
good: 22%
fair:26%
poor:31%

Summary of student performance measured in Fall 2013:


PerformanceCriteria
Abletotakespecificationforaprogram,design and implement the
program
Abletousearrays,functions,fileI/O

ScoreDistribution,
Fall2013,N=79
2:39
1:24
0:16
2:53
1:21

Abletouserecursion

0:5
2:53
1:13

Abletoimplementandusepointersanddynamic variables

0:13
2:41
1:18

Abletotakespecificationforaprogramand design a program to meet the


specs

0:20
2:33
1:28
0:18

good: 49%
fair: 30%
poor: 20%
good: 67%
fair: 27%
poor: 6%
good: 67%
fair: 16%
poor: 16%
good: 52%
fair: 23%
poor: 25%
good: 42%
fair: 35%
poor: 23%

60

From the data collected from Fall 2013, of the 79 students in the Initial + Final Exam, 23 passed
the Initial Exam, and did not take the Final Exam, 41 failed the Initial Exam, took the course and
the Final Exam, 5 failed the Initial Exam but did not take the Final Exam, and 10 did not take the
Initial Exam, but did take the Final Exam. For those that took both exams, only the data from the
Final Exam is included.
Summary of student performance measured in Fall 2014:
PerformanceCriteria
Able to take specification for a program, design and implement the
program.
Able to use arrays, functions, file I/O

ScoreDistribution,
Fall2014,N=37
2:12
1:21
0:4
2:21
1:15

Able to use recursion

0:1
2:21
1:10

Able to implement and use pointers and dynamic variables

0:6
2:14
1:19

Able to take specification for a program and design a program to meet the
specs

0:4
2:19
1:13
0:5

good: 32%
fair: 57%
poor: 11%
good: 57%
fair: 40%
poor: 3%
good: 57%
fair: 27%
poor: 16%
good: 38%
fair: 51%
poor: 11%
good: 51%
fair: 35%
poor: 14%

From the data collected from Fall 2014, of the 37 students in the Initial + Final Exam, 9 passed
the Initial Exam, and did not take the Final Exam, 7 failed the Initial Exam, took the course and
the Final Exam, 5 failed the Initial Exam but did not take the Final Exam, and 16 did not take the
Initial Exam, but did take the Final Exam. For those that took both exams, only the data from the
Final Exam is included.
From all aspects of the criteria, there were less than 70% good. However, the combined
performance of good and fair is consistently over 70%. This indicates that our effort works in
improving students basic programming skills.
Action taken
Although we see improvement in student performance, Undergraduate Committee continues to
monitor the performance data and seek curriculum changes for further improvement.
In addition from the informal Wednesday lunch meeting in spring 2014, the Undergraduate
Committee and the Assessment Coordinator agreed to include the course CPSC 362,
Foundations of Software Engineering and possibly CPSC 223, Object-Oriented Programming
Language as the next course sequence to measure students Object-Oriented Programming skills
that is critical for large scale software development. This will eventually meet the outcome (k)
61

An ability to apply design and development principles in the construction of software systems of
varying complexity.
The Undergraduate Committee and the Assessment Coordinator felt that it was important to
spend time improving the introductory sequence before tackling other problems in the program.
Thus any serious deficiencies uncovered in last years assessment may need to wait for another
semester, although any easy fixes will be implemented as soon as possible.

62

Overall Performance for Student Outcomes


The following table is a compilation of the assessment data for the Student Outcomes. Where
more than one set of data was collected for a given outcome, the weighted average was
calculated and is shown.
D. Unsatisfactory, C. Developing, B. Satisfactory, A. Excellent
Student Outcomes
(a) An ability to apply knowledge of computing and mathematics
appropriate to the programs student outcomes and to the discipline
(b) An ability to analyze a problem, and identify and define the
computing requirements appropriate to its solution
(c) An ability to design, implement, and evaluate a computer-based
system, process, component, or program to meet desired needs
(d) An ability to function effectively on teams to accomplish a
common goal
(e) An understanding of professional, ethical, legal, security and
social issues and responsibilities
(f) An ability to communicate effectively with a range of audiences

13% 26% 18% 43%


11%

13% 41% 35%

13% 17% 28% 42%


5% 15% 45% 35%
48%

52%

9% 16% 46% 29%


(g) An ability to analyze the local and global impact of computing
on individuals, organizations, and society
7%
93%
(h) Recognition of the need for and an ability to engage in
continuing professional development
8%
92%
(i) An ability to use current techniques, skills, and tools necessary
for computing practice.
34%
66%
(j) An ability to apply mathematical foundations, algorithmic
principles, and computer science theory in the modeling and design
of computer-based systems in a way that demonstrates
13% 11% 41% 35%
comprehension of the tradeoffs involved in design choices.
(k) An ability to apply design and development principles in the
construction of software systems of varying complexity.
5% 23% 38% 34%
All outcomes that were measured had close to 70% in the Satisfactory or Excellent category
except for (h) and (i).
Retrospectives of Assessment Process for Improvement
Assessment coordinator needs to meet with class instructors earlier and provide specific
guidelines that help them design assessment methods such as creating a relevant exam,
assignment, project, or survey, and collect the proper data that measure student
performance.
Assessment coordinator needs to better communicate with instructors to clarify possible
ambiguities and clearly deliver the purpose of the data collection.
Chair and assessment coordinator may need to convince all instructors who teach core
courses the importance of assessment to improve the quality of our program.
63

Operational Plan for Assessment of PEOs


Educational Objectives

Data Source(s)

Method(s) of
Assessment

1. Technical Growth:
Graduates will be
successful in modern
computing practices,
integrate into the local
and global workforce, and
contribute to the economy
of California and the
nation.
2. Professional Skills:
Graduates will continue to
demonstrate the
professional skills
necessary to be competent
employees, assume
leadership roles, and have
career success and
satisfaction.
3. Professional Attitude
and Citizenship:
Graduates will become
productive citizens with
high ethical and
professional standards,
who make sound technical
or managerial decisions,
and have enthusiasm for
the profession and
professional growth.

Alumni

Survey

Length of
Assessment
Cycle (Yrs)
3 years

Survey

3 years

80%

Survey

3 years

80%

Employers

Alumni

Years of
Data
Collection

Target
Performance
80%
agreement
of
achievement

Employers

Alumni
Employers

PEOs will be assessed every four year as follow:


Year 0 Adoption/Review of Program Objectives from consultations with stakeholders.
Development of survey(s), its administration, and report of results.
Year 1 Review of survey(s) by stakeholders, discussion of method and content, discussion on
Year 2 how improvements can be made.
Year 3 Implementation of any adopted improvements; review of Program Objectives.
Year 4 Survey

64

Alumni Survey for Program Educational Objectives


In 2012, we conducted a survey of graduates from the Computer Science Department from
1969 to 2011. There were 168 completed surveys returned by those who earned a Bachelors
Degree in Computer Science, an estimated 11% response rate. The following table is a
summary of the results.
Program Educational Objective
Technical Growth:*
Graduates will be successful in
modern computing practice,
successfully integrate into the
local and global workforce, and
contribute to the economy of
California and the nation.

Professional Skills:*
Graduates will continue to
demonstrate the professional
skills necessary to be competent
employees, assume leadership
roles, and enjoy a career of
success and satisfaction.

Professional Attitude and


Citizenship:*
Graduates will become
productive citizens with high
ethical and professional
standards, who make sound
technical and managerial
decisions, and have high
enthusiasm for the profession
and professional growth.

Measure

Percent

Employed since graduating with Bachelors*

97.0

Employment in the state of California

83.6

Employment in a Global Organization

64.2

Entering Workforce in Computer Science


Work Assignments That Allow Continued Learning
Graduate Degree*
Technical Presentations

76.7
83.1
27.9
62.5

Progressively Increased Responsibility

86.8

Professional Awards and Recognitions

41.7

Promotions

61.1

Citations of Achievement

88.6

Earned a Professional Certificate

35.1

Graduate Degree in Engineering or Computer Science*


Graduate Degree in Business*
Enrollment in Graduate or Continued Education

19.0
4.8
72.6

Evidence of Project Management*

76.7

Entrepreneurial Activity
Volunteering*

32.7
41.4

Evidence of leadership Roles*

19.2

IEEE Membership

14.5

ACM Membership
Membership in Other Professional Societies
Civic Committee Membership*
Civic Awards*

15.7
30.1
12.6
10.7

* This measure was administered to everyone in the sample. All the other measures were
only administered to the 163 respondents who report being employed since earning their B.S.
As further indication of the career success of our graduates, of the 151 respondents who
reported their annual household income (17 declined to state), more than 60% had $100,000
or greater annual income.

65

The survey also asked the respondents about their satisfaction with the preparation for their
profession received in the Computer Science program. The following table summarizes the
results.
Satisfaction With the Department of
Computer Science's Ability to Prepare
Respondent for Profession
The Development of Technical Skills
Shaping Attitudes Towards
Professional Ethics
The Development of Professional
Skills Needed to be a Competent
Employee
The Development of Professional
Skills Needed to be a Leader
Shaping Attitudes About Civic
Engagement

Not at all
satisfied

Not Very
Satisfied

Somewhat
Satisfied

Very
Satisfied

4.20%

7.10%

42.30%

46.40%

4.20%

11.30%

40.50%

44.00%

2.40%

11.90%

46.40%

39.30%

7.70%

23.80%

40.50%

28.00%

13.80%

24.60%

39.40%

22.20%

From the data, we see that over 80% are more Very Satisfied or Somewhat Satisfied that our
program helps develop technical and professional skills needed for the professional and
shapes attitudes toward professional ethics. We do less well in preparing them for leadership
roles and for civic engagement.

66

B. Continuous Improvement
The following diagram illustrates the continuous improvement process incorporated with the
assessment results.
CSUF Mission &
Mission Statement

ABET and CSAB input


Advisory Committee

Program Educational
Objectives (PEOs)

Employer
Alumni Survey

(ABET) Student Outcomes (SOs)

Courses to Deliver the PEOs and SOs


Student Survey
Implement Changes
by Faculty

Collect and Analyze


Data by ABET

Employer
Student

Analysis Reports
Changes
Suggested to
Faculty

Review by Undergraduate Committee


Review Reports

Act by Faculty

Yes

Need
Change?

NO

Maintain Current Practices

67

The following actions have been taken for continuous improvement since the last ABET
visit.
Strengthening Course Sequence CPSC120, CPSC121, and CPSC131
From the assessment data, the poor performance of students in the initial examination for
CPSC 301 was noted. CPSC 301 Programming Laboratory Practicum is designed to test for
the programming skills of the students after they have completed the course sequence
CPSC120, CPSC121, and CPSC131. The students take an Examination in Programming
Proficiency (EPP) in the first week of the class. If they pass the examination they do not need
to stay in the class. For the students who fail the initial examination they take this class to
improve their programming skills. The EPP examination determines whether the student has
the basic programming skills needed to succeed in upper division courses. EPP or a passing
grade in CPSC 301 is a prerequisite for most of the 300-level and 400-level Computer
Science courses.
The faculty members who were teaching the beginning sequence of programming courses
agreed that this was a problem they were aware of. Part of the problem was due to lack of
consistency from one course to the next. The Undergraduate Committee was charged with
the task to streamline the three course sequence and coordinate the course topics and
materials. This was done in 2011.
Lab Assistants and Tutors
All of our laboratory sections have a limit of 30 students. It was observed that for the
laboratory sections it was difficult for the instructor to provide adequate assistance to 30
students in the lab. The Department hired one lab assistant for each section of CPSC120 and
CPSC121. This was started in 2011. The Department also hired lab assistants in the open lab
to help students. The Department operated a Tutoring Center. Tutors were hired to offer free
tutoring to students in CPSC120, CPSC121, and CPSC131.
Supplemental Instructions
Thanks to budget support from a Chancellors initiative we started supplemental instructions
in spring 2014. The pilot program involved three CPSC120 sections. Three Student
Supplemental Instruction Leaders were hired to help the students in those classes. A faculty
member received 3 unit release time as the Supplemental Instruction Coordinator. The
Supplemental Instruction Coordinator held weekly meetings with the Supplemental
Instruction Leaders to discuss areas that the students had difficulty and needed help. The
Supplemental Instruction Leaders then held lab sessions to help the students.
Moving Biology 101 to Sophomore Year
We observed that some of our students failed the Biology 101 class and dropped from the
Computer Science major in their freshman year. Our freshmen take Mathematics and
Computer Programming courses in the first year. The transition from high school to college
is not easy and these courses add intensity to their pressure. The mathematics and computer
science courses cannot be moved. These courses are prerequisites for all computer science
courses after them. We coordinated with the University Advisement Center to advise
freshmen to delay Biology 101 to the sophomore year so that they can focus and spend more
time on the mathematics and programming courses.
68

Coordination with Mathematics Faculty Members


In Spring 2013, the Department Chair together with the Undergraduate Program Coordinator
and a faculty representative met with a faculty representative from the Mathematics
Department for coordination of the course topics and materials to be covered in MATH 270A
and MATH 270B.
New Student Orientation
In the last three years we have organized multiple sections of New Student Orientation for
both freshmen and transfers. The Department Chair gave presentations to introduce recent
development in computer science, career opportunities, as well as the degree requirements
and curriculum in the program.
All these actions contributed to the growth in enrollment. The following chart shows the
headcount increase in the last six years. The total enrollment grew from 341.5 in 2009 to
698.5 in 2013. That is a 104.5% increase.
700
600
500
400
300
200
100
0
200809

200910

201011

201112

201213

201314

New Course Development


Since the last ABET visit in 2008 six new courses have been developed. These courses were
developed in response to feedback from our constituencies. They are
CPSC223C C Programming
This course was developed in spring 2014 in hopes to establish an Academic Center of
Excellence in Cybersecurity. C programming is a required component of the curriculum.
CPSC223P Python Programming
This course was developed in fall 2012. Python programming is evolving very fast to become
one of the main stream programming languages. Some universities even adopt it as the first
programming language for freshmen in computer science. Python is especially popular in
game programming.
CPSC353 Introduction to Computer Security
This course was first offered as a special course in fall 2012 when our new faculty member
Dr. Mikhail Gofman was hired with specialty in computer security. During a department
meeting in 2011 our department decided that security is a major focus for curriculum
69

development in the next three years. In fall 2012 we hired Dr. Mikhail Gofman. In fall 2013,
we hired Dr. Yun Tian. They both have expertise and research experiences in computer
security. This course covers the following topics: security goals, security systems, access
controls, networks and security, integrity, cryptography fundamentals, authentication.
Attacks: software, network, website; management considerations, security standards in
government and industry; security issues in requirements, architecture, design,
implementation, testing, operation, maintenance, acquisition, and services. The ACM/IEEE
CS Computer Science Curriculum 2013 identifies computer security as a fundamental subject
area. We plan to add this course to the core requirements.
CPSC411 Mobile Device Application Programming
This course was first offered in spring 2013. Mobile device application development is a new
area that has spurred huge interest and benefits in IT industry. This course is an introduction
to developing applications for mobile devices, including but not limited to runtime
environments, development tools and debugging tools used in creating applications for
mobile devices.
CPSC439 Theory of Computation
This course is proposed to be offered in fall 2014. This course is an introduction to the theory
of computation. Topics include automata theory; finite state machines, context free
grammars, and Turing machines; hierarchy of formal language classes, computability theory
and undecidable problems; time complexity; P and NP-complete problems; and applications
to software design and security.
CPSC456 Network Security Fundamentals
This course is proposed to be offered in fall 2014. This course covers principles and practices
of network security. Through hands-on exercises students will learn about vulnerabilities of
network protocols, attacks targeting confidentiality, integrity, and availability of data
transmitted across networks, and methods for diagnosing and closing security gaps.
In addition, one course has the contents and descriptions completely changed. It is CPSC 431
Database and Applications. We used to have a course CPSC 231 for file structures and
another one CPSC 431 for database systems. In 2008, the two courses were combined to
CPSC 332. CPSC 431 was reformed to a project based class. The students work on five small
individual projects and a large team project. The projects were developed using open source
software PHP and MySQL.
New Faculty Hiring
Since the last ABET visit in 2008 we have hired four new Tenure Track faculty members.
We have several more positions approved for hiring in the 2014 - 2015 academic year.
Dr. Kevin Wortman
Dr. Wortman was hired in 2009. He specializes in theoretical computer science; specifically
computational geometry, graph drawing, and cache-efficient algorithms. He is the faculty
advisor for the ACM Student Chapter. He was heavily involved in curriculum development.
He developed three new courses CPSC223C, CPSC223P, and CPSC439. He has taught the
70

course sequence CPSC120, CPSC121, CPSC131 and was involved in the coordination of this
course sequence. He is serving as the Supplemental Instruction Coordinator and the
Undergraduate Program Coordinator.
Dr. Mikhail Gofman
Dr. Gofman joined us in 2012. He is an expert in computer security. He developed the new
courses CPSC353 and CPSC 456. He is serving as the faculty co-advisor for the Computer
Security Club.
Dr. Yun Tian
Dr. Tian joined the department in 2013. She specializes in security and high performance
computing. She taught CPSC120 in her first year and was involved in the Supplemental
Instruction initiative. She is serving as the faculty co-advisor for the Computer Security Club.
Dr. Abhishek Verma
Dr. Verma will join us in fall 2014. His research interest is in pattern recognition, machine
learning, computer vision, image analysis, biometrics, artificial intelligence, and databases.
He will be teaching CPSC120 and software engineering.
Establishment of the Department Personnel Standards
The Department has recently developed the Department Personnel Standards. The
Department Personnel Standards went through two revisions and were approved by all levels
to be commenced from 2014 2015 academic year. These are the first set of standards in the
history of the department. It is the result of collaboration in so many levels.
Computer Lab Improvement
Since the last ABET visit in 2008 all labs have been upgraded. Some of them have been
improved more than once. The oldest computers we have in the labs are about three year old.
This summer we are upgrading two labs.
CS 101 Mac Lab Upgrade
We have placed the order for 34 new iMac 27 inch with the following specifications:
3.2GHz Intel Core i5 Quad-Core, 8GB DDR3, 1TB 7200rpm Hard Drive, NVIDIA GT
755M Graphics (1GB), 27" LED-Backlit IPS Display.
CS 104 Lab Renovation
We are getting 47 PCs with the following specifications: Dell Precision T1700, Intel Core i74770 @ 3.4GHz, 8GB DDR3, Dell 27 P2714T multi-touch display. The computer desks can
hide the monitors so that the lab can be converted to a lecture room.

C. Additional Information
Copies of the assessment instruments and materials referenced in 4.A. and 4.B will be
available for review at the time of the visit.

71

CRITERION 5. CURRICULUM
A. Program Curriculum
5.A.1 Program Curriculum
The program curriculum is presented in Table 5.1 on the following pages.
5.A.2. Alignment of Program Curriculum with Program Educational Objectives
The curriculum aligns with the program education objectives through the structure of the
prerequisites, the core courses and elective tracks of the major. The first three courses in a
sequence CPSC120, CPSC121, and CPSC131 provide students with hand-on programming
training. The students take these courses one by one in three semesters. CPSC120 covers
control structures and fundamental concepts of programming. CPSC121 covers ObjectOriented design framework, functions and procedures in C++. CPSC131 covers data
structures and algorithm design. These three courses are taken in the first three semesters
giving students sufficient time to practice. In the fourth semester the students take the
Examination in Programming Proficiency. If they fail the EPP examination they must pass
CSPC301 to ensure that they have the basic programming skills. The lower division core
courses also include CPSC240 Computer Organization and Assembly Language and
CPSC254 Software Development with Open Source Systems. These courses teach
fundamental hardware and operating system concepts. CPSC254 covers Linux environment.
The upper division core courses provide students with solid and in-depth knowledge in all
major components of a modern computer system from hardware to system software and
application development.
The elective tracks are designed with close observation of the IT job market. The curriculum
has four elective tracks: Multimedia and Digital Games, Internet and Enterprise Computing,
Software Engineering, and Scientific Computing. The Game programming track was
incubated in 2007 with a perception that video games will become a big part of social life
and game programming will be a sought after skill. A tenure track faculty member Dr.
Michael Shafae was hired to develop the curriculum. The sequence of game programming
courses was completed in 2010. The Internet and Enterprise Computing track covers web
database development with three different frameworks: PHP and MySQL, .Net and SQL
Server (Microsoft products), and Java Enterprise web development. The Software
Engineering track includes courses in software design, software architecture, software
process, and software testing. These courses train students for the process of modern
software development and quality assurance. The Scientific Computing track includes four
mathematics courses that teach data modeling and analysis. The curriculum also provides a
customized track allowing the students to pick up different combination of courses of their
interest. Many of our junior or senior start working and have a better idea of what they want
to learn. Elective courses include Computational Bioinformatics, Mobile Device Program
Development, Data mining and Pattern Recognition. We are developing a new elective track
in computer security.
72

Table 51 Curriculum
Program Name Bachelor of Science in Computer Science
Subject Area (Credit Hours)

Course
(Department, Number, Title)
Courses in the first year

Oral Communication (GE A1)


Math 150A Calculus I (GE B.4 & major)
CPSC 120 Introduction to Programming
History 110A (GE C4)
Introduction to the Arts (GE C1)
English 101 (GE A2)
Math 150B Calculus II (GE B.4 & major)
CPSC 121 Programming Concepts
Critical Thinking (GE A3)
Introduction to the Humanities (GE C2)

Indicate Whether
Course is
Required,
Elective or a
Selected Elective
by an R, an E or
an SE.1

E
R
R
E
E
R
R
R
R
E

Computing
Topics
Mark with
an F or A for
Math & Fundamental General
Sciences or Advanced Education

3
4

4
3

3
3
3
4
3
3
3

Other

Last Two
Terms the
Course was
Offered:
Year and,
Semester, or
Quarter

F-13, S-14
F-13, S-14
F-13, S-14
F-13, S-14
F-13, S-14
F-13, S-14
F-13, S-14
F-13, S-14
F-13, S-14
F-13, S-14

Average Section
Enrollment
for the Last Two
Terms the
Course was
Offered2

Various
Various
30
Various
Various
Various
Various
30
Various
Various

73

Subject Area (Credit Hours)


Computing
Average
Last Two
Topics
Section
Terms the
Mark with
Enrollment
Course was
an F or A
Offered:
for
for the Last
Year and,
Fundament
Two Terms the
Course
Semester, or Course was
General
(Department, Number, Title)
Math & al or
Quarter
Offered2
Courses in second year and third year
Sciences Advanced Education Other
F-13, S-14
Various
Math 270A Mathematical Structures I
3
CPSC 131 Data Structures Concepts
3
F-13, S-14
30
American History (GE D3)
3
F-13, S-14
Various
Political Science (GE D4)
3
F-13, S-14
Various
Phys 225+L or Chem 120A or Geol 101+L (GE B1, B3 & major)
4-5
4-5
F-13, S-14
Various
Math 270B Mathematical Structures II
3
F-13, S-14
Various
CPSC 301 Programming Lab Practicum*
EPP
F-13, S-14
Various
CPSC 254 Software Development with Open Source Systems
3
F-13, S-14
30
3
F-13, S-14
Various
Introduction to Social Sciences (GE D1)
3-4
Phys 226+L or Chem 125 Geol 201+L (major)
CPSC 223 Object-oriented Programming Language (Java, C#, or Python)
3
F-13, S-14
30
CPSC 240 Computer Organization and Assembly Language
3
F-13, S-14
30
CPSC 311 Technical Writing for Computer Science
3
F-13, S-14
30
CPSC 351 Operating Systems Concepts
3
F-13, S-14
30
Math 338 (GE B5 & major)
4
4
F-13, S-14
Various
CPSC 315 Social and Ethical Issues in Computing
1
F-13, S-14
30
CPSC 335 Algorithm Engineering
3
F-13, S-14
30
CPSC 362 Software Engineering
3
F-13, S-14
30
CPSC 440 Computer System Architecture
3
F-13, S-14
30
Track Elective 1
3
F-13, S-14
30
Upper Division GE
3
F-13, S-14
Various
*Notes: CPSC 301 is designed for the students who couldnt pass the Examination in Programming Proficiency (EPP). The EPP examination determines
whether the student has the basic programming skills needed to succeed in upper division courses. EPP or a passing grade in CPSC 301 is a prerequisite
for most of the 300-level and 400-level Computer Science courses.
Indicate Whether
Course is
Required,
Elective or a
Selected Elective
by an R, an E or
an SE.1
R
R
E
E
R
R
R
R
E
R
E
R
R
R
R
R
R
R
R

74

Subject Area (Credit Hours)

Indicate Whether
Course is
Required,
Elective or a
Selected Elective
by an R, an E or Math &
an SE.1
Sciences
R
R
R
R
R
4-5
E
R
E
E
E

Course
(Department, Number, Title)
Courses in the fourth year
CPSC 323 Programming Languages and Translation
CPSC 332 File Structures and Database Systems
CPSC 476 Java Enterprise Application Development
CPSC 481 Artificial Intelligence
Biol 101+L or Biol 172 (GE B2, B3 & major)
CPSC 431 Database and Applications
CPSC 471 Computer Communications
CPSC 473 Web Programming and Data Management
Track Elective 2
Upper division GE (C3)

TOTALS-ABET BASIC-LEVEL REQUIREMENTS


OVERALL TOTAL CREDIT HOURS FOR COMPLETION
OF PROGRAM

30

Computing
Topics
Mark with
an F or A
for
Fundament
al or
General
Advanced Education Other
3
3
3
3
4-5
3
3
3
3
3

61

Last Two
Terms the
Course was
Offered:
Year and,
Semester, or
Quarter
F-13, S-14
F-13, S-14
F-13, S-14
F-13, S-14
F-13, S-14
F-13, S-14
F-13, S-14
F-13, S-14
F-13, S-14
F-13, S14

Average
Section
Enrollment
for the Last
Two Terms the
Course was
Offered2
30
30
30
30
Various
30
30
30
30
Various

49

124

Notes: some credits are counted as both GE and major credits. Some credits are counted as both GE and Math & Science credits.

75

5.A.3 How the Curriculum Support Student Outcomes


The programs curriculum is summarized in Table 5.1. The first three semesters consist of
the sequence of programming courses, as well as mathematics and basic sciences, balanced
by general education requirements. Starting from the fourth semester, the students have more
choices of computer science courses. Most of the elective courses have prerequisite courses
in the 200 level. Hence, some courses in the elective tracks can be taken together with the
upper division core courses. Some students start working in their junior year either as interns
or employees. An internship class of three units can be used in place of an elective course.
For students who want to pursue a graduate degree they can also work with a faculty advisor
to undertake an independent study. Three units of independent study can be used in place of
an elective course. The following table maps program courses to student outcomes.
Course
CPSC120
CPSC121
CPSC131
CPSC223
CPSC240
CPSC254
CPSC311
CPSC315
CPSC323
CPSC332
CPSC335
CPSC351
CPSC362
CPSC440
CPSC471
CPSC481
CPSC386
CPSC431
CPSC433
CPSC462
CPSC463
CPSC464
CPSC466
CPSC473
CPSC476
CPSC483
CPSC484
CPSC485
CPSC486
CPSC489
CPSC495

b c

d e

k Required
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y
Y

Y
Y
Y
Y
N
N
N

N
N

N
N

N
N
N
N

N
N

h i

76

5.A.4 Prerequisite Structure of Required Courses

Lower Division Computer Science Core (18 units)


CPSC 120 Introduction to Programming
CPSC 121 Programming Concepts
CPSC 131 Data Structures Concepts
CPSC 223 Object-oriented Programming Language
CPSC 240 Computer Organization and Assembly Language
CPSC 254 Software Development with Open Source Systems
Upper Division Computer Science Core (28 units)
CPSC 311 Technical Writing for Computer Science
CPSC 315 Social and Ethical Issues in Computing
CPSC 323 Programming Languages and Translation
CPSC 332 File Structures and Database Systems
CPSC 335 Algorithm Engineering
CPSC 351 Operating Systems Concepts
CPSC 362 Software Engineering
CPSC 440 Computer System Architecture
CPSC 471 Computer Communications
CPSC 481 Artificial Intelligence
77

5.A.5 How Program Meets Requirements for Each Subject Area


All the students in the program must complete a minimum of 18 semester units of
mathematics courses and 12 semester units of sciences, which totals 30 semester units and
about a year of study. Most of these courses can be taken together with the lower division
core courses. The mathematics courses are taken before the upper division core courses.
According to the classifications in the ACM/IEEE CS Computer Science Curriculum 2013,
our core courses cover a total of 46 semester units of fundamental computer science
knowledge in the following knowledge areas:
AL - Algorithms and Complexity
AR - Architecture and Organization
CN - Computational Science
DS - Discrete Structures
GV - Graphics and Visualization
HCI - Human-Computer Interaction
IAS - Information Assurance and Security
IM - Information Management
IS - Intelligent Systems
NC - Networking and Communications
OS - Operating Systems
PBD - Platform-based Development
PL - Programming Languages
SDF - Software Development Fundamentals
SE - Software Engineering
SF - Systems Fundamentals
SP - Social Issues and Professional Practice
The minimum required core hours in the ACM/IEEE CS 2013 curriculum are 308 while the
core hours in our curriculum total 690. In each of these knowledge areas our curriculum
require more hours than the ACM/IEEE CS 2013 curriculum. The only knowledge area that
is listed in the ACM/IEEE CS 2013 curriculum and is missing from our curriculum is: PD Parallel and Distributed Computing. In each of the four elective tracks in our curriculum, the
five elective courses provide students with solid in-depth knowledge and hands-on
application development skills.
5.A.6. Academic Internship
The Engineering academic internship (professional practice) provides students with
professional work experience in the industry or government. The internship integrates and
supplements the student's academic studies. The course is worth 1 3 units but may be
repeated. A maximum of three units are applicable towards the bachelor degree program.
The prerequisites for the enrollment in the internship are:
Junior or Senior class standing in Computer Science
78

At least a 2.0 GPA for undergraduates.


Obtain verification and signature approval from the College Dean or Associate Dean
to complete registration

A written report is required for successful completion. We solicit employers feedback for
evaluation.
5.A.7. Materials Available for Review During ABET Visit
The materials available for review during the visit will be:
Textbooks and course handout materials
Examples of homework assignments and exams
Examples of student work homework, exams, project reports (high, medium, and
low scores).

B. Course Syllabi

Course Syllabi are included in Appendix A

79

CRITERION 6. FACULTY
A. Faculty Qualifications
All 13 tenure track faculty members hold Ph.D. in computer science. One full time lecturer
holds a Master degree in computer science. There are 23 part time faculty members teaching
undergraduate courses in our program. Six of them hold Ph.D. degrees, 13 hold Master
degrees, and 4 hold Bachelor Degrees in computer science. The four part time instructors,
who have only a Bachelor Degrees in computer science, are enrolled in our Master degree
program. As can be seen from Table 6-1 most of our part time faculty members are working
professionals with over 20 years of industry experience.
The expertise of our faculty members covers all knowledge areas in our undergraduate
curriculum. Our faculty members take their substantial teaching responsibilities seriously.
The University, the Engineering and Computer Science College and the Computer Science
Department set teaching and improving student learning experience at the highest priority.
Classroom teaching performance is considered the most important criterion in the promotion
and tenure processes. At close to the end of the semester, the Department administrates
Student Opinion Questionnaires in every class. These Questionnaires are reviewed by the
Department Chair regularly. They are reviewed by the Department Personnel Committee and
the Dean periodically, either for retention, tenure, promotion, or for any issue arisen of an
instructor.
All tenure track faculty members are actively involved in scholarly and professional
activities. We strive to keep our knowledge up-to-date and make ourselves informed of the
new developments in computer science and information technology. All our part time
instructors have close connections with the industry. Most of them only teach evening or
Saturday classes.
The Department Chair collects student feedback and pays attention to the Student Opinion
Questionnaires. In recent years we have discontinued with one part time faculty member due
to extremely low performance evaluation. We removed another part time instructor from
teaching programming courses.
Table 6-1 summarizes the faculty qualifications.

80

Table 61. Faculty Qualifications

25

1
5
31
27
2

Consulting/summer
work in industry

31
25
2
26
17
15
0.5
1
1
31
1
2

Professional
Development

24

31
25
3
26
25
22

Level of Activity4
H, M, or L

Professional
Organizations

PT
PT
PT
FT
FT
FT
PT
PT
PT
FT
PT
FT

This Institution

NTT
NTT
NTT
T
T
T
NTT
NTT
NTT
T
NTT
TT

Teaching

A
A
A
P
P
P
A
A
A
ASC
A
AST

Govt./Ind. Practice

Ph.D. CS, 2011


M.S. CS, 1998
Ph.D. CS, 2010
Ph.D. EE, 1986
Ph.D. CS, 1988
Ph.D. CS, 1991
M.S. CS, 2013
B.S. CS, 2011
M.A. English, 2012
Ph.D. CS, 1982
M.A. CS, 1988
Ph.D. CS, 2012

FT or PT3

Reza Ahmadnia
Kenytt Avery
Chun-I Philip Chen
Ning Chen
James Choi
Bin Cong
Padideh Danaee
Yasamin Ehteshami
Stephanie Elizondo
David Falconer
Rosa Farre-Torrents
Mikhail Gofman

Type of Academic
Appointment2
T, TT, NTT

Faculty Name

Highest Degree
Earned- Field and
Year
Rank 1

Years of
Experience

Professional Registration/
Certification

Name of Program Bachelor of Science in Computer Science

M
L
H
M
M
H
L
L
L
M
L
H

H
L
M
M
M
M
M
M
M
L
M
H

L
H
M
L
L
M
H
H
L
L
M
L

1. Code: P = Professor ASC = Associate Professor AST = Assistant Professor I = Instructor A = Adjunct O = Other
2. Code: TT = Tenure Track
T = Tenured NTT = Non Tenure Track
3. Code: FT = Full-time PT = Part-time Appointment at the institution
4. The level of activity, high, medium or low, should reflect an average over the year prior to the visit plus the two previous years.

81

15
19
27
2
6
28
3

13
3
29
11
26
11
15
1
1
23
1
23
11
1
15
1
6
1
0.5
1

Consulting/summer
work in industry

37
22
28
20
33

13
3
29
22
26
11
15
1
2
23
1
23
11
10
15
2
6
25
0.5
1

Professional
Development

35

Level of Activity4
H, M, or L

Professional
Organizations

PT
PT
FT
FT
PT
PT
PT
PT
PT
FT
PT
PT
PT
PT
FT
PT
FT
PT
PT
FT

Professional Registration/
Certification

NTT
NTT
NTT
T
NTT
NTT
NTT
NTT
NTT
T
NTT
NTT
NTT
NTT
T
NTT
T
NTT
NTT
TT

This Institution

A
A
L
P
A
A
A
A
A
ASC
A
A
A
A
P
A
ASC
A
A
AST

Teaching

B.S. ICS, 1978


M.S. CS, 2011
M.S. CS, 1984
Ph.D. CS, 1991
Ph.D. CS, 1984
Ph.D. ECE, 1991
B.S. CS, 1986
M.S. CS, 2001
Ph.D. Neuro, 1987
Ph.D. CS, 1990
Ph.D. CS, 2012
M.S. EE, 1992
M.S. CS, 2002
M.S. CS, 2012
Ph.D. CS, 1998
M.S. EE, 2009
Ph.D. CS, 2007
M.S. CS, 1995
M.S. CS, 2013
Ph.D. CS, 2013

Govt./Ind. Practice

Hugh Greenbaum
Sara Bagheri Hariri
Floyd Holliday
Chang-Hyun Jo
Kenneth Kung
Peter Lo
Michael Marcinkevicz
Steve May
William McCarthy
Mariko Molodowitch
Lidia Morrison
Mark Murphy
Nathan B. Niyomtham
Nathan Reed
Christopher T. Ryu
Sara Safari
Michael Shafae
Eric Shulman
Leon Smith
Yun Tian

FT or PT3

Highest Degree
Earned- Field and
Year

Type of Academic
Appointment2
T, TT, NTT

Faculty Name

Rank 1

Years of
Experience

L
L
L
H
H
M
M
L
L
M
M
L
L
M
H
L
H
M
L
H

L
M
M
M
M
M
M
M
L
L
M
M
L
M
H
L
H
L
M
H

H
L
L
M
H
H
H
H
M
L
H
M
H
H
M
H
M
L
M
L

82

14
1
0
13
5

Consulting/summer
work in industry

23
1
1
23
5

Professional
Development

23
6
3

Level of Activity4
H, M, or L

Professional
Organizations

PT
PT
FT
FT
FT

Professional Registration/
Certification

NTT
NTT
TT
T
TT

This Institution

A
A
AST
P
AST

Teaching

M.S. IS, 1987


B.S. CS, 2007
Ph.D. CS, 2011
Ph.D. CIS, 2000
Ph.D. CS, 2009

Govt./Ind. Practice

Vincent Turner
Tom Ward
Ahbishek Verma*
Shawn X. Wang
Kevin Wortman

FT or PT3

Highest Degree
Earned- Field and
Year

Type of Academic
Appointment2
T, TT, NTT

Faculty Name

Rank 1

Years of
Experience

L
M
H
H
H

L
L
H
H
H

M
H
L
L
L

*Note: Dr. Ahbishek Verma will join us in fall 2014.

83

B. Faculty Workload
The workload of all tenure track faculty members are in three categories of teaching,
research, and service. The department chair makes the teaching appointments taking into
consideration of each faculty members teaching history of the previous years, their teaching
preferences, and other factors. Thanks to the growth in enrollment we offer multiple sections
for every core course. Most of the faculty members teach two different courses of multiple
sections. Our normal teaching workload is four classes per semester. However, release time
is provided for research commitments and major service.
The university provides one course release time for each new faculty member in the first
three semesters. We have two new faculty members receiving this reduction in teaching
workload. Each major intramural research grant comes with one course release time. We
have two faculty members received intramural research grants for the 2014 2015 academic
year. The department chair receives two course release time. The Graduate Program
Coordinator and the Undergraduate Program Coordinator each receives one course release
time. The Supplemental Instruction Coordinator receives one course release time. The
Coordinator of the Master of Science in Software Engineering receives two course release
time. The ABET Coordinator received one course release time during the spring semester. A
faculty member will receive one course release time after completing supervision of twenty
Master projects or Independent Research. Faculty members will receive release time for
external research grants.
The department has just got the Department Personnel Standards approved recently. For
retention a probationary faculty member must demonstrate from good to excellent progress in
the three categories for evaluation. To achieve tenure the faculty member must be rated
excellent in either research or teaching and at least good in the other two categories. In our
system the promotion from Assistant Professor to Associate Professor normally is granted
with tenure. To receive promotion from Associate Professor to Professor a faculty member
must achieve excellent in one of the three categories and at least good in the other two.
Table 6.2 lists information for the current academic year.

84

Table 62. Faculty Workload Summary


Name of Program Bachelor of Science in Computer Science
Program Activity Distribution3
Faculty Member (name)

Reza Ahmadnia

PT
or
FT1

Classes Taught (Course No./Credit Hrs.) Term and Year2

Teaching

Research or
Scholarship

Other4

% of Time
Devoted
to the
Program5

CPSC120(2)*, CPSC121(2), CPSC323, fall 2013


100%
0%
0%
50%
CPSC121(2), CPSC131(2), CPSC323, spring 2014
Kenytt Avery
PT CPSC476, fall 2013
100%
0%
0%
30%
CPSC440, CPSC473, spring 2014
Chun-I Philip Chen
PT CPSC332(2), CPSC531, fall 2013
100%
0%
0%
50%
CPSC 531 (2), spring 2014
Ning Chen*
FT CPSC542(2), fall 2013
40%
20%
40%
100%
CPSC440, CPSC597, spring 2014
James Choi
FT CPSC323(2), CPSC541(2), fall 2013
80%
20%
0%
100%
CPSC362, CPSC543(3), spring 2014
Bin Cong
FT CPSC 547(3), fall 2013
60%
20%
20%
100%
CPSC546(3), CPSC589, spring 2014
Padideh Danaee
PT CPSC485, spring 2014
100%
0%
0%
20%
Yasamin Ehteshami
PT CPSC120, fall 2013
100%
0%
0%
30%
CPSC464, spring 2014
*Notes: All courses are 3 credit hours except for CPSC315 which is 1 credit hour. The number in the parenthesis indicates the number
of sections for the same course.
*Dr. Ning Chen is the Coordinator of the Master of Science in Software Engineering Program
1.
2.
3.
4.
5.

PT

FT = Full Time Faculty or PT = Part Time Faculty, at the institution


For the academic year for which the Self-Study Report is being prepared.
Program activity distribution should be in percent of effort in the program and should total 100%.
Indicate sabbatical leave, etc., under "Other."
Out of the total time employed at the institution.

85

Program Activity Distribution3


Faculty Member (name)

PT
or
FT1

Stephanie Elizondo

PT

David Falconer

FT

Rosa Farre-Torrents

PT

Mikhail Gofman*

FT

Hugh Greenbaum

PT

Sara Bagheri Hariri

PT

Floyd Holliday*

FT

Chang-Hyun Jo*

FT

Kenneth Kung

PT

Peter Lo
Michael Marcinkevicz

PT
PT

Classes Taught (Course No./Credit Hrs.) Term and Year2

CPSC311, fall 2013


CPSC311, spring 2014
CPSC121, CPSC463, fall 2013
CPSC311(2), spring 2014
CPSC120, fall 2013
CPSC121(2), spring 2014
CPSC333, CPSC351(2), fall 2013
CPSC471(3), CPSC433, spring 2014
CPSC463, CPSC541, fall 2013
CPSC464(2), spring 2014
CPSC462, fall 2013
CPSC362, CPSC462, spring 2014
CPSC240(2), fall 2013
CPSC240(2), CPSC223N, spring 2014
CPSC544(3), fall 2013
CPSC545(3), spring 2014
CPSC589(2), fall 2013
CPSC440, CPSC589, spring 2014
CPSC483, spring 14
CPSC558, fall 2013
CPSC558, spring 2014

Teaching

Research or
Scholarship

Other4

% of Time
Devoted
to the
Program5

100%

0%

0%

20%

50%

0%

10%

100%

100%

0%

0%

30%

60%

40%

0%

100%

100%

0%

0%

40%

100%

0%

0%

100%

75%

5%

20%

100%

60%

20%

20%

100%

90%

0%

10%

50%

100%
100%

0%
0%

0%
0%

20%
20%

Notes: All courses are 3 credit hours except for CPSC315 which is 1 credit hour. The number in the parenthesis indicates the number
of sections for the same course.
*Dr. Mikhail Gofman is a new faculty member and has received an intramural research grant
*Dr. Chang-Hyun Jo is the Graduate Program Coordinator
*Professor Floyd Holliday is the Undergraduate Program Coordinator

86

Program Activity Distribution3


Faculty Member (name)

PT
or
FT1

Steve May

PT

William McCarthy

PT

Mariko Molodowitch*

FT

Lidia Morrison

PT

Mark Murphy

PT

Nathan B. Niyomtham

PT

Nathan Reed

PT

Christopher T. Ryu*

FT

Sara Safari

PT

Michael Shafae

FT

Eric Shulman

PT

Leon Smith

PT

Classes Taught (Course No./Credit Hrs.) Term and Year2

CPSC120(2), fall 2013


CPSC120, spring 2014
CPSC120(2), CPSC121, fall 2013
CPSC121(2), spring 2014
CPSC301(2), fall 2013
CPSC131, CPSC301, spring 2014
CPSC462, fall 2013
CPSC462(2), spring 14
CPSC120, fall 2013
CPSC254, CPSC315, spring 2014
CPSC121, fall 2013
CPSC121(2), spring 2014
CPSC551, fall 2013
CPSC323, spring 2014
Sabbatical leave, fall 2013
CPSC362, CPSC481, CPSC597, spring 2014
CPSC131, fall 2013
CPSC315(2), spring 2014
CPSC223P, CPSC411, CPSC486, CPSC566, fall 2013
CPSC223P, CPSC411, CPSC484, CPSC489, spring 2014
CPSC131, fall 2013
CPSC240, spring 2014
CPSC120 (2), CPSC301, spring 14

Other4

% of Time
Devoted
to the
Program5

Teaching

Research or
Scholarship

100%

0%

0%

25%

100%

0%

0%

50%

90%

0%

10%

100%

100%

0%

0%

25%

100%

0%

0%

25%

100%

0%

0%

25%

100%

0%

0%

20%

30%

50%

20%

100%

100%

0%

0%

25%

80%

15%

5%

100%

100%

0%

0%

20%

100%

0%

0%

25%

Notes: All courses are 3 credit hours except for CPSC315 which is 1 credit hour. The number in the parenthesis indicates the number
of sections for the same course.
*Dr. Mariko Molodowitch is participating in the Faculty Early Retirement Program and teaches two classes per semester.
*Dr. Christopher Ryu is the ABET Coordinator
87

Program Activity Distribution3


Faculty Member (name)

PT
or
FT1

Yun Tian*

FT

Vincent Turner

PT

Tom Ward

PT

Shawn X. Wang*

FT

Kevin Wortman*

FT

Classes Taught (Course No./Credit Hrs.) Term and Year2

CPSC120 (3), fall 2013


CPSC120(2), CPSC351(2), spring 2014
CPSC254, CPSC311, fall 2013
CPSC254, spring 2014
CPSC386, fall 2013
CPSC386, spring 2014
CPSC332, fall 2013
CPSC332, CPSC431, spring 2014
CPSC131, CPSC481(3), fall 2013
CPSC335(3), spring 2014

Teaching

Research or
Scholarship

Other4

% of Time
Devoted
to the
Program5

60%

35%

5%

100%

100%

0%

0%

30%

100%

0%

0%

20%

30%

20%

50%

100%

Notes: All courses are 3 credit hours except for CPSC315 which is 1 credit hour. The number in the parenthesis indicates the number
of sections for the same course.
*Dr. Yun Tian is a new faculty member
*Dr. Shawn X. Wang is the Department Chair
*Dr. Kevin Wortman is the Supplemental Instruction Coordinator

88

C. Faculty Size
Our faculty size is not as big as we want it to be. We are actively recruiting new faculty
members since the last ABET visit in 2008. We have hired four new tenure track faculty
members since then. At the same period of time one tenure track faculty member left and
one just retired in spring 2014. The faculty member left because he was denied tenure. Two
tenure track faculty members are participating in the Faculty Early Retirement Program. We
have approval to hire at least four more tenure track faculty members in the next two years.

D. Professional Development
The university has a Faculty development Center (FDC) that provides assistance to faculty
members in professional development. Every faculty member in our department has taken
advantage of such services as workshops, brown bag lunch meetings, as well as mini grants.
Two types of grants are most helpful: Undergraduate Research Grant and International
Travel Grant. More details are provided in Criterion 8. E.
The Undergraduate Research Grant allows faculty members to involve students in their
research. The grant money provides assistantship to the students.
International Travel Grant defrays expenses for faculty who are invited to present at, or
participate in, significant international conferences or meetings, or who travel for their
scholarly or creative activities outside of the United States.
The University makes available a variety of grants for faculty development. The following
are some grants that our faculty members have received.
Senior Faculty Research Grant enhances faculty research, creative and scholarly activities
resulting in one or more of the following specific outcomes publications, peer-reviewed
conference presentations, performance/exhibits, pilot project implementation, seed money to
assist in external funding projects, data collection, and professional development. Most of
our senior faculty members have received this grant. One faculty has just received it for 2014
2015 academic year.
Junior Faculty Research Grant is similar to Senior Faculty Research Grant only that it is
awarded to faculty members who have not got tenure yet. Most of our faculty members have
received this grant before they got tenure.
Funding My Research: A Grant-Writing Series (FMR) supports faculty who are at the
beginning to intermediate stages in their grantsmanship (or those more senior faculty who
would like a refresher) and are planning to submit a proposal to an external funding agency.
Three of our faculty members have received this grant in the last six years.
Incentive Grants to Encourage External Funding is awarded to faculty members who are
developing a grant proposal to be submitted to an external funding agency. One of our
faculty members received this grant.
89

University Mission and Goals Initiatives gives all Cal State Fullerton faculty and staff the
opportunity to request one-time funding for special projects that implement the universitys
Mission, Goals and Strategies. We have two faculty members received this grant.
Promoting Undergraduate Research Experience (PURE) Grant provides fund for faculty
members to involve students in their research. We have one faculty member received this
grant.
Sabbatical and Professional Leaves Programs provide faculty members one or more
semesters to perform research and update their knowledge. Every tenured faculty members in
our department have taken advantage of this, except one that recently got tenured.
More details of these grants are given in Criterion 8. E.
Start-up Fund the university provides every newly hired faculty members in our college with
a start-up fund. The following items are appropriate use of the start-up funds:
Establishing labs
Purchasing research equipment or specialized computers (hardware and software)
Leverage it for external research funding for equipment and non-salary support
Hiring of research assistants (not graders or TAs)
Domestic travel for generating research or for conferences where a paper is presented
(only a reasonable fraction may be used for travel)

E. Authority and Responsibility of Faculty


Under the leadership of the department chair all faculty members are engaged in the effective
execution of the undergraduate program. Policies and other decisions that concerned long
term development of the department are made by vote and/or consensus. The department
elects several faculty committees for decision making in different aspects. These committees
include the Executive Committee, the Department Personnel Committee, the Instructional
Resource Committee, the Graduate Committee, and the Undergraduate Committee. In most
of the cases, the administrative decisions are made by the chair in consultation with faculty
and staff. The undergraduate program is coordinated by the Undergraduate Committee,
which consists of four faculty members and the Undergraduate Coordinator. The Committee
provides for direct oversight of the undergraduate program, including curriculum,
requirements, student outcomes, and plans for continuing improvements. The Undergraduate
Committee reports to the faculty during the department meetings with all major issues
relevant to the undergraduate program.
Faculty members are encouraged to develop new courses and update existing courses. A new
course proposal will go through the following steps for approval: the Undergraduate
Committee of the Department, the Department Chair, the College Curriculum Committee, the
Dean, the University Curriculum Committee (the Graduate Education Committee, if it is a
400 level course), and the Associate Vice President for Academic Programs. A course
change will go through the following steps for approval: the Undergraduate Committee of the
Department, the Department Chair, the College Curriculum Committee, the Dean, and the
Associate Vice President for Academic Programs. The Undergraduate Committee of the
90

Department is responsible for major curriculum changes, such as core course structure,
prerequisite course structure, and elective track structure. These changes will go through a
similar procedure for approval. The Department tries very hard to keep the curriculum up-todate and reflect the demands of the job market.
Faculty members are encouraged to select the most current and appropriate textbooks. Long
before a semester begins, a letter is sent from the Department to faculty asking for any
textbook changes. A change of textbook normally starts with a request from a faculty
member and goes through approval of the Undergraduate Committee and the Department
Chair.
The first three major courses CPSC 120 Introduction to Programming, CPSC 121
Programming Concepts, and CPSC 131 Data Structures Concepts set the foundation of
programming skills. There is an Ad Hoc committee coordinating the materials covered in this
course sequence.

91

CRITERION 7. FACILITIES1

A. Offices, Classrooms and Laboratories
The Computer Science Building houses the Computer Science Department. Faculty and staff
offices are on the fourth and fifth floor. Most of the lecture rooms are on the first floor.
Laboratories are on the first, second, third, and fourth floor. There are two large lecture
rooms in the Engineering building that we schedule many classes. Occasionally, we schedule
classes in other buildings on campus.
Offices
Every full time faculty member has a designated office with a desktop computer, a telephone,
an executive chair, a table, file cabinets, book shelves and a couple of chairs for students.
Every full time faculty member also receives a laptop computer and an iPad. All new hired
faculty members are provided with fund for new furniture. The part time faculty members
share offices. Every staff member has a designated office with a little different furniture. The
department has four staff members. Two of them are technicians providing support to the
instructional labs and faculty, staff, and students.
Classrooms and Associate Equipment
Most of our lecture rooms on the first floor have a capacity of 30 seats. All classrooms are
equipped with a Smart Cabinet with multimedia facilities, including a desktop computer, an
overhead projector, as well as cables and adapters for connection to laptop computers and
other equipment. The Computer Science Department is designated as the primary user of a
60 seat lecture room in the Engineering building. The Department also shares another 70 seat
lecture room with the engineering departments in that building. When we run out of available
classrooms for scheduling the university allocates classrooms in other buildings for us. The
growth in recent years made scheduling a tough task. However, we were able to schedule an
additional class whenever needed.
Laboratory Facilities
The Department operates and maintains four teaching laboratories, two open laboratories, a
project laboratory, and a server room. The teaching laboratories are mostly used for lab
sections of programming classes. The open laboratories are used by students at any time.
There are lab assistants on duty to help students. The details of the computing resources in
each of the laboratories are provided in the next section. Several faculty members own their
research facilities either through start-up fund or research grants. Some of them are housed in
the server room. Some of them are located in faculty project rooms. Our students can request
a free copy of Microsoft software for their own computers.

92

The project laboratory is designed for students who are working on some projects. It has six
cubicles that resemble enterprise office settings.

One of the teaching laboratories has tables in the middle of the room where students can hold
group discussion. They can also bring their laptops.

93

B. Computing Resources
Departmental Computing Resources
The following table lists the computing resources in the laboratories. In addition, there is a
server room CS 403 that houses the department servers and faculty research facilities.
Room Number
CS 101
Teaching Lab

Equipment
31 iMac
1 printer server

CS 104
Teaching Lab

1 projector
25 PCs
1 printer server
3 projectors

CS 200
Open Lab

32 PCs

1 printer server

CS 202
Open Lab

1 scanner
29 PCs

1 printer server
CS 300
Teaching Lab

31 PCs

1 printer server
2 projectors

Specifications
Mac OS X 10.6.8 / iMac / Intel Core
i5 / 2.5 GHz / 4GB DDR3
HP LaserJet 4100N w/ Dell
Dimension 4500 / XP
Epson PowerLite 826W
Dell Optiplex 740/Windows 7 / x64 /
AMD Athlom 2.8GHz / 3GB
Hewlett Packard LaserJet 4250n w/
Dell Dimension 4500 / XP
Epson PowerLite 826W
EIKI Still Picutre Projector (Trans)
BUHL 2900 (Trans)
Dell Precision T3500/Windows 7 Pro /
x64 / 6GB / 500GB,320GB SATA
3.0Gb/s" Quad Core Intel Xeon
W3550 3.0GHz, Dell Pro P2412H 24inch Widescreen LED Flat Panel / AD
(ACAD) Domain
Hewlett Packard LaserJet P4015x/Dell
XPS-T450: Windows XP Pro
HP ScanJet
Dell Optiplex 740/Optiplex: AMD
Athlom 2.8GHz / 3GB/Linux (Ubuntu
v11.04 x64)
HP LaserJet P4015x/Dell Dimension
4500 / XP
Dell Precision T1600/Windows 7 Pro /
x64 / Quard Core Xeon E3-1225 /
8GB Memory / 500 GB 7200rpm
SATA HD / 1.0GB NVIDIA Quadro
600 Dual MON Graphic Card / Dell
22" Monitor / AD (ACAD) Domain
Hewlett Packard LaserJet 4250N/Dell
Dimension 4500: Windows XP
HITACHI CP-X444/EIKILCSVGA860

94

CS 401
Project Lab

6 PCs

1 printer

CS 408
Teaching Lab

Dell Precision 690s/Windows 7 Pro /


x64 / 1GB / Intel Xeon 5160 3.0 GHz /
160GB HD, Monitor: 17" Dell Flat
Panel Display, DVD+/- RW, ZIP, 3.5
Inch FD
Hewlett Packard LaserJet 8150N

2 cameras

Provideo VL-650IR/Ceiling mount


video cameras

31 PCs

Dell Optiplex 9010/Windows 7 Pro /


x64 / 3GB / Intel Core i4-3470 /
Monitor: 19" Dell Flat Panel Display,
Hard Drive: 80 GB 7.2k SATA,
DVD+/- RW
HP LaserJet 4100N/Dell Dimension
4500 / XP Pro
Epson PowerLite 826W/Projector, 3M
9100

1 printer server
1 projector

University Computing Resources


The Information Technology Division operates Information and Learning Commons (ILC).
The goal of the ILC is to provide a physical, flexible space that allows students to access
resources (computers, subscription databases, the Web, production software, and statistical
packages), conduct research, write papers, create presentations, and produce projects in one
seamless environment, reflecting our Universitys mission and goals for student learning.
The following table lists the computing resources provided through ILC.
Titan Lab

Oasis North

Oasis South
2nd Floor
4th Floor

213 PCs and 5 Macs; 6 scanner stations; 12 workstations equipped


with headphones; Disabled student workstations; Print-Only/Look-up
stations
133 PCs and 10 Macs; 5 workstations equipped with headphones; 20
laptops and 50 iPads for checkout ; Black/White Laser Printing; Color
Laser Printing; Wireless access and printing from your personal laptop
36 PCs; Black/White Laser Printing
North: 34 PCs; Bridge: 5 PCs; Black/White Laser Printing
51 Macs (located in Audio Visual rooms); Black/White Laser
Printing; Wireless access and printing from your personal laptop

Virtual Computer Lab (VCL) allows CSUF students, faculty, and staff to access universitylicensed computer applications via the Internet. The new Virtual Computer Lab service is
available free of charge to all CSUF students.
Campus Wide Wireless Network allows CSUF students, faculty, and staff to access the
Internet anywhere on campus.

95

Information Technology at California State University, Fullerton


Information Technology at the university level at Cal State Fullerton is abundant, ubiquitous
and cutting-edge. The College of Engineering and Computer Science has an exceptionally
close relationship with Campus IT, as this operation is affectionately called.
Engineering and Computer Science students benefit from such close working relationship.
First, IT helps the college obtain special volume purchase deals from computer and other
IT vendors by making college purchases part of larger orders. Second, IT understands the
special needs of this college and works with faculty and technicians in planning and
operating our laboratories. The Computer Science Department also produces a large portion
of workforce in the Campus IT. Some of them work as interns. Some became full time
employees. Several of them have been promoted to leadership positions.
Academic Technology Center
The Academic Technology Office (ATO) provides strategic leadership and direction for all
campus academic technology applications, initiatives, and support services. The ATO
provides leadership in partnership with Academic Affairs for operational and strategic
planning and policy related to academic computing such as e-learning, instructional
technology, and research and assessment. These efforts ensure that academic technology
issues and requirements are incorporated into the university's overall technology plan. It also
provides real time support to classrooms. The ATO is responsible for all equipment in the
Smart Cabinet in every classroom.
Installation and Break-fix support
IT supports all the software on our PC and Mac "images". What is a computer image? IT
defines a computer image as a set of software packages that it has customized for a certain
hardware platform. IT currently has numerous images for most of the standard campus
hardware IT supports. Here is a list of supported software on CSUF campus images:
Windows 7 Enterprise, Microsoft Office 2010, Internet Explorer, Firefox, Safari, Adobe
Acrobat X Pro, Adobe Flash player, Adobe Reader, Adobe Air, Adobe Shockwave Player,
iTunes, QuickTime, iLife, Java, and FileNet. IT also supports the following software
packages that are not included on the standard campus image: Adobe Creative products,
SPSS, SAS, and iWork.
Home Use Software
The following software titles are available to full-time and part-time faculty and staff for
home use only. Windows 7 Ultimate (Upgrade Only), Window 8 Professional 64-bit
(Upgrade Only),Vista Ultimate, Office 2007, Office 2010, Office 2013, Mac Office 2008,
Mac Office 2011, Adobe Acrobat X Pro, IBM SPSS Statistics 21, SAS Version 6, SAS
Version 9.3, and VPN. These applications are available through the CSU Microsoft Campus
Enterprise Agreement and licensing with SPSS.
To obtain copies of the available at home use software packages an online form needs to be
completed and submitted. When the software is ready, the faculty member (or staff person)
will receive an email confirmation asking him or her for their software pick up. A list of free
or near free software and services available to students that are of particular interest to
engineering and computer science students is given below.

96

C. Guidance
The lab section of a programming class is led by an instructor with a lab assistant. All open
labs have lab assistants on duty to help students. The university operates a Help Desk with a
phone line.
IT Training & Support
IT Training & Support provides documentation, training, and support to campus constituents
on a wide variety of programs.
The team primarily supports PeopleSoft applications and Desktop Applications such as
Microsoft Office. Additional IT applications are also supported. A sample is given below
lynda.com Training
Absence Management Training
Data Warehouse Training
Outlook Anywhere
Common Financial System (CFS) Training
IT Training News & Updates

D. Maintenance and Upgrading of Facilities


All computer laboratories in the Computer Science Department are upgraded about once
every three years. Last year, we upgraded CS300 and CS200. This summer we are upgrading
CS101 and CS104. The university computing labs are upgraded at about the same frequency.

97

E. Library Services
Designed to facilitate the delivery of recorded knowledge and information in support of
instruction and faculty research, the Library serves as the hub of the Universitys information
and instruction network. The Library also participates in the Universitys instruction
programs and shares its commitment to lifelong learning.
The Paulina June and George Pollak Library and a small satellite library located at the Irvine
campus provide a full range of services to faculty, students, and community users. The
Librarys staff includes 29 librarians and 40 paraprofessionals plus approximately 110
student assistants. The Librarys Web site (http://www.library.fullerton.edu) serves as a
gateway to information about library resources and services and is a vital component of the
Librarys extensive instruction program.
I. Equipment and Technology
Pollak Library holds just over 1,350,000 volumes and provides access to a wide variety of
electronic content, including over 200 databases and nearly 200,000 ebooks.
Databases of particular interest to Computer Sciences and Engineering include:
ACM Digital Library
Engineering Village
IEEE Xplore
Web of Science
ScienceDirect
SpringerLink Journals
OmniFile Full Text Mega
Academic Search Premier
Access Science
Compendex
Wiley Online Library
The Library also utilizes the Summon discovery service which can be accessed through our
Basic Search. Summon provides users with access to thousands of journals including many
in the fields of Computer Science and Engineering.
Library Facilities
The Pollak Library has over 500 computers available located throughout the North and South
buildings. The library is also home to the Information & Learning Commons (ILC), a main
hub for research activities. A service desk staffed by the Reference Team (librarians and
library staff) and Information Technology staff is located on the first floor to assist users with
research needs and to provide technical support.
Wireless access and docking stations are available throughout Library North and Library
South. Electronic resources for the visually disabled are also available.

98

II. Library Hours


During the spring and fall semesters the Pollak Library is open roughly 92 hours per week.
The Library has somewhat reduced hours during intersession, summer sessions, and fall and
spring breaks. The Library is closed on some national holidays, including Martin Luther
King Day, Presidents Day, Cesar Chavez Day, 4th of July, Memorial Day, Labor Day,
Veterans Day, and Thanksgiving Day. The Librarys considerable collections of electronic
resources (databases, e-journals and e-books) are available 24/7 from the Librarys Website.
III. Reference and Instruction Services
The Pollak Librarys reference and instruction services are designed to teach students to be
information literate, to be critical thinkers, and intelligent researchers. The mission of the
Librarys Instruction program is to prepare CSUF students to be successful information
seekers in a rapidly changing technological environment.
Reference
The Library provides several types of reference services to students, faculty, and community.
At the Reference Desk, located in the ILC, the Reference Team provides immediate, pointof-need information and research assistance during the Librarys scheduled hours of service.
The Librarys Reference team provides services using a variety of methods, including:

Telephone ReferencePhone service during Library hours.


Chat ReferenceOnline assistance available 24/7.
Library AnswersQuestions answered through email.
IM ReferenceQuestions answered through instant messaging during Library hours.

The Library also offers a research consultation service that provides in-depth, one-on-one
research assistance on a specific assignment, topic, or thesis. The sessions, available by
appointment, are conducted by librarian subject specialists. Virtual consultations are also
available for out distance students.
Instruction
Librarians at the Pollak Library teach between 250 and 350 instruction sessions per semester.
The Library bases its instruction philosophy and practice on Association of College &
Research Libraries (ACRL) Information Literacy Competency Standards for Higher
Education (http://www.ala.org/acrl/standards/informationliteracycompetency). The Library
utilizes a team approach to deliver instruction to all departments and programs of the
University. Librarians on the Engineering and Computer Sciences/Natural Sciences and
Mathematics (ECS/NSM) Instruction Team provide library instruction to students in the
program upon the request of the course instructor. This approach ensures students in need of
research support are served through instruction sessions targeted to their specific course and
delivered to meet the needs of specific research assignments or requirements.
Instruction librarians also often create web portals that are tailored to each individual class
that is brought into the library. These library guides provide information to students that are
relevant to their assignments. A complete list of guides is available here:
http://libraryguides.fullerton.edu/browse.php
To assess and evaluate instruction efforts, surveys are sent to faculty following library
instruction sessions in an effort to gather constructive feedback. Results of the surveys are
confidential, and they provide library faculty with useful input pertaining to student learning,
99

student engagement, and instructional resources. The Program also utilizes peer evaluation
of selected instruction sessions to provide feedback to instruction librarians.
IV. Library Services
Circulation
Students and faculty check out materials using their Titan cards. Most library materials
circulate for 60 days. However, checked out materials are subject to recall after 10 days if
requested by another borrower. Students and faculty can check out up to 150 items. Renewal
of library materials can be done in person, via the telephone or online at the Librarys
Website. For additional details, see
http://www.library.fullerton.edu/about/guidelines/privileges.php
Course Reserves
The Library maintains a course reserves collection of supplementary course materials
provided by faculty in support of course curriculum. The Library accommodates reserves in
several formats. Digitized copies of print or audiovisual materials are accessed using course
management software available to students and faculty via the campus portal site. Digitized
reserves can be accessed at any time. Support for using Titanium, our campus course
management software, is provided by The Faculty Development Center (assistance to
faculty) and IT Help Desk (assistance to students). Reserves in any format (books,
textbooks, sample projects, etc.) can be borrowed from the course reserves desk during the
hours the Library is open. Complete information regarding course reserves can be found on
the Librarys Website at http://www.library.fullerton.edu/services/course-reserves.php
Interlibrary Loan
ILLiad, a web-based interlibrary loan system, allows students and faculty to request articles,
books, and other materials online. ILLiad is used when the requested materials are not in the
library. Interlibrary loan staff may obtain requested items from libraries worldwide. Most
materials can be borrowed free of charge. Detailed information regarding the Librarys
Interlibrary Loan services is maintained at the Librarys Website at
https://www.library.fullerton.edu/services/interlibrary-loan.php
The Library also maintains reciprocal borrowing arrangements that allow CSUF students,
faculty, and staff to go directly to other libraries and borrow the resources they need in
person. Reciprocal arrangements exist among the 22 sister institutions in the California State
University system and with several institutions in the local area, including Biola, Cerritos
College, Hope International University, Marymount College, Santiago Canyon College, and
the Southern California University of Health Sciences.
V. Library Collections
As mentioned in Section I above, the Library has a significant collection of materials that
support the study and research required by the College of Engineering and Computer
Science. The Library welcomes input from faculty on the selection and purchasing of
resources and materials that support the curriculum and, as funds permit, the research needs
of the faculty. Through collaboration with the California State University system as a whole,
as well as local subscription, the Library provides access to resources essential to the study of

100

Engineering and Computer Science, such as the ACM Digital Library, Engineering Village,
IEEE Xplore, Web of Science, and others listed above.
Through an established approval plan, selections by the Engineering librarian, and faculty
requests, books in both print and electronic formats are added regularly. Current book
holdings are as follows:
Pollak Library print and electronic book collections for Engineering and Computer
Science
Current collection holdings
24,099
Engineering: Call numbers T - TP
5,383
Chemistry: Call number QD
22,809
Math & Computer Science: Call number QA
10,494
Physics: Call number QC
1,591
Technology: Call number TS
TOTAL
64,376
The Library also maintains a number of journal subscriptions relevant to Engineering and
Computer Science. As follows:
Pollak Library journal collections for Engineering and Computer Science
Current collection holdings
Engineering and Computer Science
(including all subcategories, some of which are
included below)
7124
Civil Engineering
1004
Information Technology and Computer Science
1797
Electrical Engineering
875
Mechanical Engineering
451

101

CRITERION 8. INSTITUTIONAL SUPPORT


A. Leadership
The Computer Science Department complies with the University Policies and regulations.
The Department established a set of bylaws for governance. The Department values shared
governance and make all important decisions by vote or consensus.
The Department Chair is elected by the faculty, recommended by the Dean, and appointed by
the Provost. The department chair is responsible for leading the department, and also for
representing it. The Department Chair is responsible to ensure that the department is aware
of, and operates effectively within the framework of, the university, college and department
mission and goals. The Department Chair works with the faculty to develop a harmonious,
collegial, and collaborative environment in the department.
In the beginning of the academic year the faculty selects members of several department
committees:
Executive Committee: The Executive Committee recommends procedures for
distributing resources and develops policy statements regarding matters assigned to it
by the department faculty or chair. The Committee is composite of the Department
Chair, a tenured faculty member, a tenure-track (not yet tenured faculty member) and
a lecturer.
Undergraduate Committee: The Undergraduate Committee generates or considers
proposals to alter undergraduate curriculum and policies. The Undergraduate
Coordinator chairs this Committee.
Graduate Committee: The Graduate Committee generates or considers proposals to
alter graduate curriculum and policies. The Graduate Coordinator chairs this
Committee.
Instructional Resources Committee: The Instructional Resources Committee reviews
existing holdings and recommends the acquisition of instructional materials and
equipment for the laboratories and department.
Personnel Committee: The Personnel Committee conducts the University and
Department mandated evaluations and recommendations associated with retention,
tenure, and promotion of faculty. It also initiates changes to procedures, policies, and
criteria governing such actions. Most of these changes need to go through several
levels of review and approval. The selection and responsibility of this Committee is in
compliance with university policies UPS 210.100.
The Department Chair coordinates with these committees, the Deans Office, and the
University to make sure the Department fulfills its duty of education.

102

B. Program Budget and Financial Support


As part of the California State University (CSU) system, the main source of financial support
comes from the State of California.
The budgeting systems in the Cal State system differs from how budgeting is done in several
universities in the east coast, most private universities and all private businesses. In these
institutions, budget process involves the proposal by operating units for funding based on
projected needs for the upcoming year followed by administrative scrutiny of the proposal
and funding decision by central administration.
In the CSU system the funding process may be better described as allocation as opposed to
budgeting. The Governor and the Legislature in Sacramento allocates a certain sum to
operate the Cal State System. Then the Chancellor allocates a certain number to CSUF, one
of the 21 campuses within the system. The allocation is loosely based on the number of FTEs
per campus. The formula for these allocations is complicated and is not uniform. Therefore,
there is some uncertainty about how much funding will be available during each year.
The allocations within CSUF start with historical data and precedence. This means that in a
given fiscal year, the College of Engineering and Computer Science will receive at least what
it received the previous year. There have been, however, variations to such allocation during
the recent recession.
The allocation for each college is negotiated by the respective deans with the Provost/Vice
President and is based on FTES generated. The enrollment number (FTES) divided by the
SFR leads to the number of faculty positions available for a given program. Colleges with
large service courses such as Humanities and Social Sciences and Natural Sciences and
Mathematics manage their operations based on the SFR model. ECS operation tends to be
slightly different.
There are two parts to the budget- baseline budget, a fraction that has recurring obligations to
the college, university and the state and one-time money, funds that are allocated on an as
available basis without any firm legal obligations for payment every year. Salaries for
tenured and tenure track faculty members as well as fulltime staff are in the baseline category
whereas the operational expenses will be categorized as one-time funds. Of the baseline
funds, the most important is the number of faculty positions available in each college.
The Dean of the College makes allocations to each department based on projected number of
FTES, full-time equivalent faculty, and on various other needs and parameters. Fortunately, it
has been recognized by the university administration that education of engineering and
computer science students carries a higher than average cost.

103

Whereas, the university is funded at an SFR of 20.4, the College of ECS is funded at an SFR
of approximately 17.1. Within the college, the distribution of faculty positions is not
formulaic since the needs are vastly different. The dean negotiates with the central
administration for positions based on these factors and distributes faculty positions to
different programs. Such an approach has worked as far as faculty positions are concerned.
Operational expense and equipment (OE&E) budget does not follow the same pattern. It is
also recognized that engineering and computer science disciplines require resources beyond
the standard FTES model, especially to support maintenance and upgrading of laboratories.
In addition, a portion of student fees go to each department each year to help to support
routine, ongoing instructional costs such as equipment repairs and replacement, supplies, and
special enrichment opportunities (e.g., outside speakers, workshops, and seminars). These are
referred to as Miscellaneous Course Fees. Funds from miscellaneous course fee can be used
to purchase laboratory supplies, instructional equipment and classroom materials.
Operationally, the department spends down the miscellaneous course fees first and preserves
the general operating funds (with fewer restrictions on spending) for other purposes such as
faculty travel.
However, with the declining proportion of funding that comes from the State of California, it
has become necessary to seek supplemental funding in other areas. The Director of
Development for ECS, Hart Roussel, has been successful in acquiring external funding and
in-kind equipment donations to help support various student projects. The Deans
discretionary funds have helped major capital projects such as the renovation of classrooms
and laboratories.
The following table lists the budget allocation for the Computer Science Department in the
last five years.
Academic Year
2009-10
2010-11
2011-12
2012-13
2013-14
Total
Grand Total

OE&E
40,000
40,000
30,000
30,000
30,000
170,000

UEE
Equipment/Lab
9,415
35,565
21,000
33,645
61,000
41,243
35,070
77,000
154,938
159,000

Misc Course Fees


39,698
46,789
46,685
51,473
46,879
231,524

$715,462

104

Here is a list of budget items in the Computer Science Department.


Faculty Positions
Due to the growth in enrollment the Department is in need of more tenure-track faculty. The
Dean and University have been very supportive of new faulty recruitment in the Department.
Since the last ABET visit we were able to get new positions approved every year, except
2010 when there was a budget crisis that led to frozen of hiring and furlough of existing
faculty. We hired one new faculty member in 2009, 2012, 2013, and 2014. The search in
2011 was unsuccessful. We have approval to hire more faculty members in the 2014 2015
academic year.
We were given a projected budget for part time positions and we take that into consideration
when hiring. So far we have been able to hire part time faculty members as needed. We
might have difficulty of recruiting qualified candidates. But budget was never an issue.
Lab and Office Assistants
Starting in 2011, the Department hired one lab assistant for each section of CPSC120 and
CPSC121. The Department also hired lab assistants in the open lab to help students. The
Department operated a Tutoring Center. Tutors were hired to offer free tutoring to students in
CPSC120, CPSC121, and CPSC131. There was never a lack of funding.
Graders and Teaching Assistants
The Department has a guideline for faculty members who have more than 60 students in all
his/her classes to hire a grader. It is worth mentioning that almost all of our classes have a
maximal enrollment of 30 students, which is considered a luxury in most of the research
universities. This is not the case in many of other departments on campus either.
Laboratory Improvement
The upgrades of laboratories normally start with the available fund in the Miscellaneous
Course Fees. However, in the last six years the Department was given substantially more
than the Miscellaneous Course Fees. When the Department was in need of a data center the
Deans Office initially awarded $80,862 to that project. The actual cost was more than
$120,000. The data center includes a server room and a project laboratory with six cubicles.
Last year when the Department planned to upgrade the teaching lab CS 300 based on the
available budget, the original idea was to use those old computers to replace the even older
computers in the open lab CS 200. Eventually, the Deans Office allocated additional fund to
upgrade both labs with new computers. At the same time we replaced the old multimedia
station in CS 300 with a cost around $189,854.00. This year with the support of the Dean and
Provost we are renovating CS 104 with an estimated cost of over $223,000. At the same time
we were planning to upgrade CS 101 with new Mac computers with an estimated cost of
$66,569.28. Our Miscellaneous Course Fees has only $45,875.69 left. The Deans Office
again funded the difference.
In summary, we have been able to support all instructional needs to attain the student
outcomes with sufficient funds.

105

C. Staffing
The Computer Science Department currently has two office staff members and two technical
staff members. There are also three office assistants. They are very capable and work well
with the faculty and Department Chair to make sure operation run smoothly.

D. Faculty Hiring and Retention


Here is the process of faculty hiring:
1. Faculty hiring starts with the need of the department. The Dean collects requests from
the departments and negotiates with the upper administration for new positions.
2. After the positions are approved, the department place the advertisement and establish
a search committee to review and screen candidates.
3. The search committee selects a list of candidates for phone interviews in consultation
with the department chair.
4. After the phone interviews the search committee together with the department chair
make recommendations to the Dean for on campus interviews.
5. All faculty members are involved in the on campus interviews. After the on campus
interviews the entire faculty vote and rank the candidates.
6. The department chair in consultation with the search committee chair make final
recommendations to the Dean.
7. The Dean makes the final decision for hiring and submits them to the Provost and
Vice President for Human Resources, Diversity and Inclusion.
8. The Provost and Vice President review and approve the new appointments, making
sure the whole process is in compliance with laws, polices, regulations, as well as the
Collective Bargaining Agreement.
Strategies used to retain current qualified faculty include:
1. Providing the start-up fund and reduced teaching workload for new hired.
2. Making careful consideration for teaching assignments. Details are described in
Criterion 6.B. Faculty Workload.
3. Providing graders and lab assistants for faculty.
4. Providing support for faculty professional development. Details are described in the
next section.

E. Support of Faculty Professional Development


The Faculty development Center (FDC) provides services to faculty members through
workshops, brown bag lunch meetings, as well as mini grants. Most of these activities focus
on enhancing faculty excellence in teaching, improving student learning assessment,
enhancing the effective use of technology in teaching, and promoting scholarly research and
creative activities. http://fdc.fullerton.edu/
The University makes available a variety of grants for faculty development.
106

Senior Faculty Research Grant


Purpose: to support and enhance faculty research, creative and scholarly activities resulting
in one or more of the following specific outcomes publications, peer-reviewed conference
presentations, performance/exhibits, pilot project implementation, seed money to assist in
external funding projects, data collection, professional development. Ideally, funded
activities should lead to competitive externally funded projects.
Eligibility: full-time faculty with eight or more years at CSUF, or with academic rank of
professor regardless of time at CSUF; was not awarded a Junior/Senior grant for the previous
cycle; submitted final reports if previously funded; no FERPs
Award: maximum $2,500 plus 3 WTUs
Junior Faculty Research Grant
Purpose: to support and enhance faculty research, creative and scholarly activities resulting
in one or more of the following specific outcomes publications, peer-reviewed conference
presentations, performance/exhibits, pilot project implementation, seed money to assist in
external funding projects, data collection, professional development. Ideally, funded
activities should lead to competitive externally funded projects.
Eligibility: full-time faculty with less than eight years at CSUF; was not awarded a
Junior/Senior grant for the previous cycle; submitted final reports if previously funded; no
FERPs
Award: maximum $2,500 plus 3 WTUs
Funding My Research: A Grant-Writing Series (FMR)
Purpose: to support faculty who are at the beginning to intermediate stages in their
grantsmanship (or those more senior faculty who would like a refresher) and are planning to
submit a proposal to an external funding agency.
Eligibility: tenured and tenure-track faculty
Award: $1,500 for full participation in one of the three-day Summer Academy sessions and
submitting an external grant proposal
CSUF Bridge Funding Program
Purpose: to support faculty span the gap in critical research programs while seeking
additional external funds.
Eligibility: faculty who has received $100,000 or more in extramural funding, and has
provided evidence to demonstrate efforts to establish or reestablish funding.
Award: 3 WTUs
Several other grants are also available:

107

1. Incentive Grants to Encourage External Funding is offered in the past and, depending
on funding, may be offered again in the future.
2. University Mission and Goals Initiatives
3. Instructionally Related Activity (IRA) Funding form Associated Students
4. Promoting Undergraduate Research Experience (PURE) Grant
Several mini grants are also available through the Center for Internships and Community
Engagement through funding from the Chancellor's Office.
http://www.fullerton.edu/cice/Faculty_MiniGrants.html
2 grants for $1,000 each to either add service-learning to a course or design a new course
with a service-learning component
2 grants for $2,000 each to strengthen a partnership with a community partner and
develop new projects together
2 grants for $500 towards conference/travel to present or learning about service-learning
activities
2 grants for $1,500 each to assess service-learning courses and outcomes
These numbers vary from year to year depending on funding and interest. By way of
supporting these activities, a service-learning course construction workshop through the FDC
is offered 2 times per semester. CICE also provides one-on-one consultation with faculty
and host brownbag lunches where faculty members exchange ideas and experiences on best
practices.
Sabbatical Leave and Difference in Pay Leave
The sabbatical leave and difference in pay leave are for the purpose of individual
professional development that provides a benefit to the CSU, such as research, scholarly or
creative activity, instructional improvement, or faculty retraining. Faculty are eligible for a
sabbatical after having served full time for six years at the campus in the preceding sevenyear period prior to the leave and at least six years after any previous sabbatical leave or
difference-in-pay leave. There are two types of sabbatical leave. The first type provides full
salary and benefit for a one semester leave. The second type provides half salary for a two
semester leave.
A full time Unit 3 employee is eligible for a difference in pay leave if he/she has served full
time for six (6) years at that campus in the preceding seven (7) year period prior to the leave
and at least three (3) years after any previous sabbatical leave or difference in pay leave. A
Unit 3 employee will be eligible for a subsequent difference in pay leave after he/she has
served full time for three (3) years after the last sabbatical leave or difference in pay leave
and has rendered service upon the return from a previous difference in pay leave at the rate of
one (1) term of service for each term of leave. A difference in pay leave may be approved for
one or more semesters as appropriate to the appointment. The salary for a difference in pay
leave for a full time Unit 3 employee shall be the difference between the Unit 3 employees
salary and the Minimum salary of the instructor rank, or its equivalent.

108

PROGRAM CRITERIA
The Computer Science Program has the following program criteria. They are covered in
Criteria 3 together with the general criteria.
(j) An ability to apply mathematical foundations, algorithmic principles, and computer
science theory in the modeling and design of computer-based systems in a way that
demonstrate comprehension of the tradeoffs involved in design choices
(k) An ability to apply design and development principles in the construction of software
systems of varying complexity

109

APPENDICES

Appendix A Course Syllabi


Please use the following format for the course syllabi (2 pages maximum in Times New Roman
12 point font)
1. Course number and name
2. Credits and contact hours
3. Instructors or course coordinators name
4. Text book, title, author, and year
a. other supplemental materials
5. Specific course information
a. brief description of the content of the course (catalog description)
b. prerequisites or co-requisites
c. indicate whether a required, elective, or selected elective (as per Table 5-1) course
in the program
6. Specific goals for the course
a. specific outcomes of instruction, ex. The student will be able to explain the
significance of current research about a particular topic.
b. explicitly indicate which of the student outcomes listed in Criterion 3 or any other
outcomes are addressed by the course.
7. Brief list of topics to be covered

110

CPSC 120, Introduction to Programming


Credits: 3 units
Instructor: Yun Tian, Ph.D.
Office hours: Mon and Wed 7:30pm ~ 9:00pm
Textbook
Walter Savitch. Problem Solving with C++, 8th Edition, Addison Wesley, 2011.
Course Description
This course introduces the theory and practice of computer programming. Lectures cover
terminology, data representation, the roles of hardware and compilers, structured problem
solving, and programming language syntax and semantics. Labs and projects provide hands-on
experience with programming and related skills such as debugging, reading technical
documentation, dealing with ill-specified problems, and teamwork. The course is taught in the
C++ programming language, but the covered concepts apply to all programming environments.
Co-requisite: Mathematics 125
Required/Elective: Required
Student Learning Goals: Students will be able to:
Explain, read, and write fundamental programming constructs: arithmetic, logic,
variables, assignments, iteration, function calls, input, output, and arrays.
List and explain the stages in writing, compiling, and running a computer program.
Distinguish between structure charts, source code, object code, and input/output.
Analyze program requirements, develop a top-down decompositional design, document
that design with a structure chart, implement it in C++, and test it for correctness.
Understand the data representation of bytes, integers, floating point numbers, characters,
and arrays.
Factor data representation considerations into design decisions.
Locate and diagnose bugs using a debugger and the bisection method.
Search, read, and digest technical documentation.
Work in groups against hard deadlines.
Student outcomes addressed by this course
(a) An ability to apply knowledge of computing and mathematics appropriate to the programs
student outcomes and to the discipline
(b) An ability to analyze a problem, and identify and define the computing requirements
appropriate to its solution
111

(c) An ability to design, implement, and evaluate a computer-based system, process, component,
or program to meet desired needs
(k) An ability to apply design and development principles in the construction of software systems
of varying complexity
Topics to be covered
Computer architecture; problem solving; top-down decomposition

Introduction to C++; compilers; testing and debugging

Variables and assignments

Input and output; technical documentation

Data types and expressions; debugging

Simple flow of control (if/else)

Predefined functions

Using Boolean expressions; multiway branches

While and do/while loops

For loops

Introduction to arrays

Programming with arrays

Sorting arrays

Multidimensional arrays

112

CPSC 121, Programming Concepts


Credits: 3 units
Instructor: Nathan Niyomtham, M. S. (2000)
Office hours: Mon and Wed 7:30pm ~ 9:00pm
Textbook
Walter Savitch. Problem Solving with C++, 8th Edition, Addison Wesley, 2011.
Course Description
This course introduces structure of algorithms, functions, strings and data types, pointers and
linked structures, classes and objects, inheritance, polymorphism, recursion, exception handling,
Object-Oriented programming methodology, documentation.
Co-requisite: CPSC 120 or equivalent background.
Required/Elective: Required
Student Learning Goals: Students will be able to:
Understand programming concepts
Understand basic program constructs such as data types, I/O, conditions, loops, arrays,
strings, structures, functions, etc.
Write programs using right programming constructs to solve a problem
Write programs that meet given requirements
Understand Object-Oriented programming methodology
Understand modularization, design and develop well-structured programs
Student outcomes addressed by this course
(a) An ability to apply knowledge of computing and mathematics appropriate to the programs
student outcomes and to the discipline
(b) An ability to analyze a problem, and identify and define the computing requirements
appropriate to its solution
(c) An ability to design, implement, and evaluate a computer-based system, process, component,
or program to meet desired needs
(k) An ability to apply design and development principles in the construction of software systems
of varying complexity

113

Topics to be covered
Overview of programming

Programming methodologies

Data representation

I/O and files

Branching conditions

Loops

Predefined functions

User defined functions

Parameters and scope

Subtask and overloading functions

User defined data types

Namespaces

Arrays

Strings

Structures

Classes

Separate compilation

Inheritance

Polymorphism

Pointers

Templates

Exception handling

Recursion

Nodes and linked lists

Searching

Sorting

114

CPSC 131, Data Structures Concepts


Credits: 3 units
Instructor: Kevin A. Wortman, Ph.D.
Office hours: Tue: 1 ~ 2pm, Wed: 10:30am ~ 11:30am, Thu: 1~2pm
Textbook
Nell Dale. C++ Plus Data Structures. Jones & Bartlett Learning, 5th ed., 2011.
Supplemental materials

Pat Morin. Open Data Structures (in C++), http://opendatastructures.org/


Walter Savitch. Problem Solving with C++. Addison-Wesley, 8th ed., 2011.
Cplusplus.com

Course Description
This course covers classical data structures and their implementation in the object-oriented
paradigm. Data structures are methods of organizing information in computer memory so that it
may be manipulated efficiently. They are fundamental to computer science, and the efficiency of
real-world programs often hinges on the appropriate use of data structures.
Prerequisite: CPSC 121.
Required/Elective: Required
Student Learning Goals: Students will be able to:
Understand the concept of Abstract Data Types, descriptions of their fundamental
operations, and how those operations correspond to concrete steps of C++ programs.
Comprehend asymptotic analyses, big-O bounds, and how to compare them.
Know the name, basic operations, and typical use case for classical data structures: list,
stack, queue, hash table, bineary search tree, balanced search tree, heap, and graph.
Identify opportunities to use specific data structures appripriately when writing programs.
Implement data structures in C++.
Gain some intuition for the performance impact of using data structures appropriately.
Utilize object-oriented design techniques.
Apply abstract and recursive thinking to computer science problems.
Gain some appreciation for the elegance and pragmatism inherent in well-designed data
strcutures.
115

Student outcomes addressed by this course


(a) An ability to apply knowledge of computing and mathematics appropriate to the programs
student outcomes and to the discipline
(b) An ability to analyze a problem, and identify and define the computing requirements
appropriate to its solution
(c) An ability to design, implement, and evaluate a computer-based system, process, component,
or program to meet desired needs
(j) An ability to apply mathematical foundations, algorithmic principles, and computer science
theory in the modeling and design of computer-based systems in a way that demonstrate
comprehension of the tradeoffs involved in design choices
(k) An ability to apply design and development principles in the construction of software systems
of varying complexity
Topics to be covered
Review of C++ classes
ADTs; list ADT; review inheritance and polymorphism
Arrayed list
Asymptotic time complexity (big-O); arrayed list analysis
Stack ADT; arrayed stack
Queue ADT; arrayed queue
Review of linked structures; linked stack
Singly linked list
Review of recursion; recursive list operations
Circular doubly-linked list; linked queue
Unordered set ADT; chained hash table
Hash functions
Sorted set ADT; sorted linked list
Binary search trees
Recursive tree operations
Balanced search trees; 2-4 trees
Priority queue interface; linked list as priority queue
Binary heap
Review graphs; graph ADT
Adjacency list; adjacency matrix
Breadth first search and depth first search
Sorting; selection sort; heap sort
Binary search; sorted array as sorted set

116

CPSC 223P, Python Programming


Credits: 3 units
Instructor: Dr. Michael Shafae
Office hours: Tuesday & Thursday 19:0020:00, and by appointment
Textbook
Required:
Python Documentation, Python Software Foundation, Python Software Foundation ISBN:
http://docs.python.org/
Optional:
A Concise Introduction to Programming in Python, Mark J. Johnson, Chapman and
Hall/CRC Press ISBN: 1439896941

Introduction to Computing Using Python: An Application Development Focus, Ljubomir


Perkovic, John Wiley & Sons ISBN: 0470618469

Python in Practice: Create Better Programs Using Concurrency, Libraries, and Patterns,
Mark Summerfield, Addison-Wesley Professional ISBN: 0321905636

Course Description
Characteristics of Python: portable, robust, secure, object-oriented, functional, high
performance, extensible; types, expressions, and control flow; classes, abstract base classes,
modules, and packages; threads; exceptions; Python standard library; the Python interpreter.
Requisite: CS 131 or by consent of the instructor
Required/Elective: Required
Student Learning Goals: In order to achieve a satisfactory grade in this course the student must
display competency in the following course objectives as measured by assignments, exams,
quizzes, and participation.
1. Navigate and understand the Python documentation, applying system modules to lab
exercises.
2. Proficiency in using Python lists, dictionaries, tuples, etc.
3. Construct meaningful and useful objects to solve laboratory exercises.
4. Create, test, and reuse students own Python module.

117

Student outcomes addressed by this course


(a) An ability to apply knowledge of computing and mathematics appropriate to the programs
student outcomes and to the discipline
(b) An ability to analyze a problem, and identify and define the computing requirements
appropriate to its solution
(c) An ability to design, implement, and evaluate a computer-based system, process, component,
or program to meet desired needs
(k) An ability to apply design and development principles in the construction of software systems
of varying complexity
Topics to be covered
Introductions; Software Development Environment;
Python Tutorial (PT) 1-2
2. Numbers & Strings; Statements, Expressions & Conditions PT 3-4
3. Loops, Lists, Dictionaries, Sets, Tuples, & Classes; Modules; PT 5
4. Trivial I/O; Errors & Exceptions; PT 7-8
5. Classes & Inheritance; PT 9
6. More Classes & Inheritance; PT 9
7. Even More Classes & Inheritance; PT 9
8. Midterm Review & Midterm
9. Iterators & Generators; Distutils; PT 9; Python Standard Library (PSL) 27
10. More Iterators & Generators
11. Spring Recess
12. Databases; Virtual Environment; Django
13. Django
14. A Big Application
15. A Big Application

118

CPSC 240, Computer Organization and Assembly Language


Credits: 3 units
Instructor: Dr. Raze Ahmadnia
Office hours: Tuesday and Thursday 2:00PM 4:00PM
Textbook
Benjamin Ray Seyfarth, Introduction to 64 Bit Intel Assembly Language Programming for
Linux: Second Edition, CreateSpace Independent Publishing Platform,
ISBN-10: 1478119209, ISBN-13: 978-1478119203
Course Description
Digital logic and architecture of a computer system, machine level representation of data,
memory system organization, structure of low-level computer languages; machine, assembly
and macro language programming; principles of assembler operation, input-output programming, interrupt-exception handling. Laboratory programming assignments.
Requisite: CS 131 and MATH 270A or 280
Required/Elective: Required
Student Learning Goals: The objectives of this course are
To give students a broad introduction to the varied aspects of computing, including
digital systems, computer organization, memory and I/O interfacing, operating systems,
and software engineering and

To teach fundamental components of an assembly language register set, instructions,


and the addressing modes of a processor.

Students will gain understanding of the basic computer architecture and organization and
be able to program at the assembly language level and convert higher-level data and
control structures into machine/assembly level constructs.

Using assembly language the course will demonstrate the relationship between a highlevel language and the underlying machine architecture on which it runs.

Student outcomes addressed by this course


(a) An ability to apply knowledge of computing and mathematics appropriate to the programs student
outcomes and to the discipline

119

(c) An ability to design, implement, and evaluate a computer-based system, process, component, or
program to meet desired needs
(j) An ability to apply mathematical foundations, algorithmic principles, and computer science theory in
the modeling and design of computer-based systems in a way that demonstrate comprehension of the
tradeoffs involved in design choices
Topics to be covered

Representing data in computers

Elements of IBM-PC Assembly Language

Branching and looping

Subroutines

Bit manipulation

Arrays

Boolean algebra and logic design

Simplification of Boolean functions

Sequential logic

Registers and counters

Memory and programmable logic

120

CPSC 254, Software Development with Open Source Systems


Credits: 3 units
Instructor: Mike Marchinkevicz, B.S. (1986)
Office hours: Tue and Thu 3:00pm ~ 5:00pm
Textbook

Sumitabha Das. Your UNIX/LINUX: The Ultimate Guide, 3rd edition, McGraw-Hill
Science/Engineering, 2012.
James Lee, Brent Ware. Open Source Web Development with LAMP, Addison-Wesley,
2002.

Supplemental materials
PPT slides, other relevant materials if necessary
Course Description
Introduces the UNIX operating systems, various open source applications and systems, open
source programming languages, and open source software development techniques.
Prerequisite: CPSC 131.
Required/Elective: Required
Student Learning Goals: Students will be able to:
Use basic UNIX commands related to directory, file, permissions, email, file transfers,
various network protocols and other utilities
Use UNIX-based editor (vi/vim/ex)
Write shell programs (using csh, bash, ksh)
Use software development tools for open source
Write open source programming using languages such as Perl and/or php
Administer the system
Student outcomes addressed by this course
(a) An ability to apply knowledge of computing and mathematics appropriate to the programs
student outcomes and to the discipline
(b) An ability to analyze a problem, and identify and define the computing requirements
appropriate to its solution
(c) An ability to design, implement, and evaluate a computer-based system, process, component,
or program to meet desired needs
121

(g) An ability to analyze the local and global impact of computing on individuals, organizations,
and society
(h) Recognition of the need for and an ability to engage in continuing professional development
(i) An ability to use current techniques, skills, and tools necessary for computing practice
(k) An ability to apply design and development principles in the construction of software systems
of varying complexity
Topics to be covered
Introduction to UNIX

Basics of file system

File attributes and editors

The shell

Filters

AWK

Shell programming

Perl programming and data manipulation using Perl

Apache

Open source development

System administration

122

CPSC 311, Technical Writing for Computer Science


Credits: 3 units
Instructor: Stephanie Elizondo, M.S.
Office hours: Wednesday 4:15 pm-5:15 pm (or by appointment)
Textbook
Pfeiffer, William S. and Adkins, Kaye E. Technical Communication: A Practical Approach,
8th edition
Recommended:
A grammar handbook and a collegiate dictionary/thesaurus (available bundled w/ textbook).

Course Description
Practice in developing documentation skills as used in the computer field. Topics include
proposals, feasibility studies, user guides and manuals, business communication and
technical presentation. Case studies in professional ethics. Written and oral reports required.
Requisite: C- or higher in Computer Science 131 and C or higher in English 101
Required/Elective: Required
Student Learning Goals:

CS311 is designed to prepare you for communicating in a professional manner, using appropriate
formats and styles for a variety of audiences.

A significant amount of your time will be spent writing. However, group work and oral
presentations are also a part of the course to help you practice other facets of your
communication skills. These are two key skills that, in addition to writing, you will use in your
professional career. If you cannot communicate effectively, you will likely not advance beyond
an entry-level position.

Student outcomes addressed by this course


(b) An ability to analyze a problem, and identify and define the computing requirements appropriate to its
solution
(e) An understanding of professional, ethical, legal, security and social issues and responsibilities
(f) An ability to communicate effectively with a range of audiences
(g) An ability to analyze the local and global impact of computing on individuals, organizations, and
society
Topics to be covered
Intro to Technical Communication

123

Organizing Information & Document Design

Correspondence Formats

Patterns of Correspondence

Writing Style

In Class Writing-Bad News Message

Patterns of Organization

In Class Writing- Definition & Description

Patterns of Organization

In Class Writing-Process Explanation & Instructions

Reports and Proposals-Assign Research Paper

In Class Writing- Planning Form

Conducting Research

Graphics

Job Search

Rsum and Cover Letter

Job Packet Due

Common Analytical Reports

Equipment Evaluations

Feasibility Reports

124

CPSC 315, Social and Ethical Issues in Computing

Credits: 1 unit
Instructor: Sara Safari, M.S.
Office hours: 5-5:30 and 6:30-7pm on Wednesdays at E413 and by appointment
Textbook
Quinn, Michael J., Ethics for the information Age, Fifth Edition, Pearson
Course Description
The course will cover relevant issues that responsible professionals will face in a complex
technological society. Issues covered are professional ethics, computer control, encryption,
benefits and downside of computers, privacy and computer crimes. Both written and oral
reports are required.
Requisite: CPSC 311
Required/Elective: Required
Student Learning Goals:

To provide students with an informed perspective on ethical and social issues for
computer professionals
To explore case studies and the long term effects of the use of computers.
To study ethical and social problems associated with information teachnology.

Student outcomes addressed by this course


(f) An ability to communicate effectively with a range of audiences
(g) An ability to analyze the local and global impact of computing on individuals, organizations,
and society
(h) Recognition of the need for and an ability to engage in continuing professional development
Topics to be covered

Benefits of computers

Privacy and information

Encryption

The downside of computers

125

Protecting softeare

Cyberspace and related issues

Computer crimes

Computer in the workplace

Impact and control of computers

Issues of professional ethics and responsibility

126

CPSC 323, Programming Languages and Translation

Credits: 3 units
Instructor: James Choi, Ph.D.
Office hours: Mon and Wed 1:45pm ~ 3:45pm
Textbook
Thomas Parson, Introduction to Compiler Construction, W.H. Freeman and Co, 1992
Robert Sebesta, Concepts of Programming Languages, Addison Wesley, 2012
Supplemental materials
PPT slides, other relevant materials if necessary
Course Description
This course is an introduction to the principles of Programming Languages and compiler design.
The course will cover some of the theoretical foundations underlying Programming Languages,
compiler design including study on regular languages, FSM, context free languages and different
grammars. Furthermore, the course will deal with the actual construction of the parts of a
compiler and discus more advanced feature such as optimization.
Prerequisite: EPP.
Required/Elective: Required
Student Learning Goals: Students will be able to:
Understand and recognize the pros and cons of programming languages for different
programming problems
Understand programming language design and development process
Understand compiler construction process and methods
Implement a compiler for a language
Understand language optimization

Student outcomes addressed by this course


(a) An ability to apply knowledge of computing and mathematics appropriate to the programs
student outcomes and to the discipline

127

(j) An ability to apply mathematical foundations, algorithmic principles, and computer science
theory in the modeling and design of computer-based systems in a way that demonstrate
comprehension of the tradeoffs involved in design choices
Topics to be covered
Lexical analysis

Syntax analysis: theorectical background; top-down, recursive-descent parsing, etc.

Bottom-up parsing

Intermediate code generation

Symbol table

Object code generation

Lex, Yacc

Optimization

Programming languages

128

CPSC 332, File Structures and Database Systems

Credits: 3 units
Instructor: Shawn Wang, Ph.D.
Office hours: Tuesdays & Wednesdays 11:00 - 12:00 p.m.
Textbook
Ramez Elmasri & Shamkant B. Navathe, Fundamentals of Database Systems, Sixth Edition,
Addison-Wesley Pub
Supplemental materials
PPT slides, other relevant materials if necessary
Course Description
This course covers the fundamental theories and design of database systems and the
Structural Query Language (SQL). It also covers basic concepts and techniques on data
organization in secondary storage. Topics include ER model, relational model, index
structures, and hashing techniques.
Prerequisite: CPSC 131
Required/Elective: Required
Student Learning Goals:

To provide the theory needed in understanding database management, database design,


and their applications.

To introduce the concepts, notations and techniques of relational database, Structural


Query Language (SQL), conceptual modeling, integrity and normalization, physical
storage and optimization, query and transaction processing.

To introduce the concepts, notations, and techniques of storing and retrieving information
in the secondary storage.

To teach the basic skills of manipulating record files, including searching, sorting,
indexing, and hashing.

To teach database design from the reality. You will learn how to design a database,
starting from the real world, to the conceptual model, to the relational model, and then

129

finally to the underlying tables. You will also learn how to fine tune your design to a
better one.

Student outcomes addressed by this course


(a) An ability to apply knowledge of computing and mathematics appropriate to the programs
student outcomes and to the discipline
(b) An ability to analyze a problem, and identify and define the computing requirements
appropriate to its solution
(c) An ability to design, implement, and evaluate a computer-based system, process, component,
or program to meet desired needs
(k) An ability to apply design and development principles in the construction of software systems
of varying complexity
Topics to be covered

What is a database management system?

A brief history of database management system

Design a database using the Entity-Relationship model

The Relational Data Model

From the ER diagram to Relations

The Relational Algebra and The Structural Query Language (SQL)

Introduction to MySQL

Introduction to PHP

Review of UNIX file system commands

Review of C++ fundamental file processing operations

Secondary storage and system software

Fundamental file structure concepts - how is information organized in files? How to


identify the boundaries of records and fields? E.g. record and field delimiters, length
indicators, fixed length records, and predictable number of fields.

Organizing files for performance - dynamic index structure - binary search trees.

Multilevel indexing and B trees - improve performance by balancing the index structures.
B+ trees and prefix B+ trees.

Hashing techniques.
130

CPSC 335, Algorithm Engineering


Credits: 3 units
Instructor: Kevin A. Wortman, Ph.D.
Office hours: Tue: 1 ~ 2pm, Wed: 10:30am ~ 11:30am, Thu: 1~2pm
Textbook
Anany Levitin. Introduction to the Design and Analysis of Algorithm. Addison-Wesley, 3rd Ed.
2011.
Course Description
The course covers algorithm design and analysis from an engineering perspective. Our main goal
is that, when faced with a resource-constrained computing problem, you will be able to adapt or
design an algorithm that strikes balance between efficiency and programming difficulty.
Prerequisite: EPP, Math 270B, Math 338
Required/Elective: Required
Student Learning Goals: Students will be able to:
Analyze the efficiency of algorithm.
Use asymtotic analysis to make engineering decisions.
Utilize common algorithmic problem-solving strategies.
Reduce new problem to classical problems with known solutions.
Design stratforward algorithms from scratch.
Implement algorithm
Measure code performance empirically.
Understand the meaning of important complexity classes of problems: P, NP, NP-complete,
and undecidable.

Student outcomes addressed by this course


(a) An ability to apply knowledge of computing and mathematics appropriate to the programs
student outcomes and to the discipline
(b) An ability to analyze a problem, and identify and define the computing requirements
appropriate to its solution
131

(j) An ability to apply mathematical foundations, algorithmic principles, and computer science
theory in the modeling and design of computer-based systems in a way that demonstrate
comprehension of the tradeoffs involved in design choices

Topics to be covered
Definitions; efficiency classes; empirical analysis
Standard model of computation; asymptotic notation; properties of O
Review summations; analysis of nonrecursive algorithms
Decreased-and-conquer; sequential search; example analyses
Selection sort, bubble sort
Exhaustive search; generating pairs and tuples; knapsack problem
Review of recurrences; analysis of recursive algorithms; master method
Generating subsets; knapsack by exhaustive search
Generating permutations
Devide-and-conquer; merge sort
Quick sort; expected running times
Reduction; reduction to sorting; quick select; quick median
Greedy strategy; single-source shortest paths; Dijstras algorithm
Minimum spanning trees; Prims algorithm
Spanning trees by reduction; Kruskals algorithm
1D dynamic programming; Fibonacci and Nugget numbers
2D dynamic programming; making change, edit distance
Multidim. Dyn. Prog.; all-pairs shortest paths (APSP); Floyds algorithm
Pseudopolynomial time; knapsack by dynamic programming
Complexity; P; NP
NP-complete; Cook-Levin theorem
NP-complete reduction
Approximation; approximate knapsack
Approximate traveling salesman problem
Undecideability; the halting problem

132

CPSC 351, Operating System Concepts


Credits: 3 units
Instructor: Mikhail I. Gofman, Ph.D.
Office hours: Tue and Thu 3:00pm ~ 5:00pm
Textbook
Silberschatz, Galvin, Gagne, Operating System Concepts, 9th edition, ISBN: 978-1118-06333-0, Wiley, 2012.
Supplemental materials
PPT slides, other relevant materials
Course Description
Resource management, memory management, input/output, control process synchronization and
other concepts as related to the objectives of multi-user operating systems.
Prerequisite: CPSC 254, EPP.
Required/Elective: Required
Student Learning Goals: Students will be able to:
Understand operating systems
Understand concepts of process, thread, process syncrhronization, memory management,
CPU scheduling, security, virtualization, cloud computing
Create virtualization environment
Implement memory management
Implement CPU scheduling
Apply process synchronization to real-world problems
Design and develop file systems

Student outcomes addressed by this course

133

(a) An ability to apply knowledge of computing and mathematics appropriate to the programs
student outcomes and to the discipline
(c) An ability to design, implement, and evaluate a computer-based system, process, component,
or program to meet desired needs
Topics to be covered
Introduction and overview

Processes, threads

CPU scheduling

Process synchronization and deadlocks

Memory management

Design and implementation of file systems

I/O systems

Protection and security

Virtualization

Cloud computing

134

CPSC 362, Foundations of Software Engineering


Credits: 3 units
Instructor: Christopher Ryu, Ph.D.
Office hours: Tue and Thu 3:00pm ~ 4:00pm
Textbook
Roger S. Pressman. Software Engineering: A Practitioners Approach, 7th Edition, McGraw-Hill
Higher Education, 2010.
Supplemental materials
PPT slides, other relevant materials if necessary
Course Description
The course will provide an overview of concepts, principles, methods, techniques, and practices
of software engineering. Students will learn and practice modern software development
processes and activities including requirements modeling, design, implementation, testing,
deployment, and management. In addition, other important software engineering topics will be
discussed.
Prerequisite: CPSC 223, EPP, and CPSC 311.
Required/Elective: Required
Student Learning Goals: Students will be able to:
Understand and apply important software engineering concepts, principles, methods, and
techniques
Understand and practice modern software development processes
Understand and practice major software development activities including requirements
modeling, design, implementation, testing, and deployment
Understand other important software engineering concepts and activities such as project
management, measurements, and process improvement.
Use UML or CASE tools
Document software project
Work with team members to develop a large scale of software system
135

Student outcomes addressed by this course


(a) An ability to apply knowledge of computing and mathematics appropriate to the programs
student outcomes and to the discipline
(b) An ability to analyze a problem, and identify and define the computing requirements
appropriate to its solution
(c) An ability to design, implement, and evaluate a computer-based system, process, component,
or program to meet desired needs
(d) An ability to function effectively on teams to accomplish a common goal
(f) An ability to communicate effectively with a range of audiences
(k) An ability to apply design and development principles in the construction of software systems
of varying complexity
Topics to be covered
An overview of software engineering

Software process

Software requirements analysis and modeling

Object-oriented concepts and programming

Design and architecture

Verification and validation

Project management, measurement, and risk management

136

CPSC 386, Introduction to Game Design and Production


Credits: 3 units
Instructor: Dr. Michael Shafae
Office hours: Tuesday & Thursday 19:0020:00, and by appointment
Textbook

Required:
Half-Real: Video Games between Real Rules and Fictional Worlds, Jesper Juul, The MIT
Press ISBN: 0262101106
Optional:
Luck, Logic, and White Lies: The Mathematics of Games, Jorg Bewersdorff
(Author) and David Kramer (Translator), A K Peters ISBN: 1568812108
Course Description
Current and future technologies and market trends in game design and production. Game
technologies, basic building tools for games and the process of game design, development
and production.

Requisite: CS 131
Required/Elective: Elective
Student Learning Goals: In order to achieve a satisfactory grade in this course the student must
display competency in the following course objectives as measured by assignments, exams,
quizzes, and participation.
Create, control pseudo-random behavior
Identify what a game is
Distinguish between a traditional game and acomputer game
Define games in terms of formal systems
Translate the formal system to a working computer game
Understand and apply discrete math in a computer game

Student outcomes addressed by this course


137

(c) An ability to design, implement, and evaluate a computer-based system, process, component,
or program to meet desired needs
(f) An ability to communicate effectively with a range of audiences
(h) Recognition of the need for and an ability to engage in continuing professional development
(i) An ability to use current techniques, skills, and tools necessary for computing practice
Topics to be covered

Introductions; Random Numbers; Park & Miller

Intro. to Python; What is a Game?; HR chpt. 1

Game Models; HR chpt. 2

Rules; HR chpt. 3

Fiction; HR chpt. 4

Rules & Fiction; HR chpts. 5 & 6

Game Design

Python & Pygame/Cocos2d Topics Images & Sprites

Python & Pygame/Cocos2d Topics Persistent Storage

Python & Pygame/Cocos2d Topics Archiving & Serialization

Python & Pygame/Cocos2d Topics Audio Output

138

CPSC 431, Database and Applications


Credits: 3 units
Instructor: Shawn Wang, Ph.D.
Office hours: Mondays and Wednesdays 8:30 - 9:45 a.m., and by appointment
Textbook
Required:
Luke Welling and Laura Thomson, PHP and MySQL Web Development, Four Edition
Reference:
W. Jason Gilmore, Beginning PHP and MySQL 5: From Novice to Professional, Second or
Third Edition, (The electronic edition of the book is available through the Library website.)
Ramez Elmasri & Shamkant B. Navathe, Fundamentals of Database Systems, Fifth Edition,
Addison-Wesley Pub

Course Description
Database design and application development techniques for a real-world system. Topics
include system analysis, requirement specifications, conceptual modeling, logic design,
physical design and web interface development. Develop projects using contemporary
database management system and web-based application development platform.
Requisite: CPSC 332
Required/Elective: Elective
Student Learning Goals:

To introduce database and web application through open source software - PHP and
MySQL.
To assure you learn something and get the grade you deserve for the work you put in.

Student outcomes addressed by this course


(a) An ability to apply knowledge of computing and mathematics appropriate to the programs
student outcomes and to the discipline
(b) An ability to analyze a problem, and identify and define the computing requirements
appropriate to its solution
(c) An ability to design, implement, and evaluate a computer-based system, process, component,
or program to meet desired needs
(d) An ability to function effectively on teams to accomplish a common goal
139

(i) An ability to use current techniques, skills, and tools necessary for computing practice
(k) An ability to apply design and development principles in the construction of software systems
of varying complexity
Topics to be covered

PHP to Cover:
Installation & Configuration
PHP Basics, Functions, Arrays
Object Oriented PHP
Error and Exception Handling
Strings and Regular Expressions
Working with File and OS
Date and Time
Forms and Navigational Cues
Authentication
Networking
PHP and LDAP
Session Handlers
Secure PHP Programming

MySQL to Cover:

Installation & Configuration


MySQL Storage Engines and Datatypes
Securing MySQL
PHP's MySQL Extension
Stored Routines
MySQL Triggers
Views
Practical Database Queries
Indexes and Searching
Transactions
Importing and Exporting Data

140

CPSC 433, Data Security and Encryption Techniques


Credits: 3 units
Instructor: Dr. Mikhail Gofman
Office hours: Mon 4:00-6:00pm, Tue, Thu 7:00-8:00pm, Thu 1:00-2:00pm, by appointment
Textbook
William Stallings, Cryptography and Network Security Principles and Practice, Fifth/Sixth
Edition. ISBN-10:0-13-187316-2, ISBN-13: 978-0-13-187316-2
Course Description
System security and encryption. Current issues in security, encryption and privacy of
computer based systems.
Requisite: CPSC 311, 351, MATH 270B
Required/Elective: Elective
Student Learning Goals:
After completing this course, students shall be able to:
Define terms cryptography, cryptology, and cryptanalysis.
Explain ITU-T X.800 standard proposed by International Telecommunication
Union for classifying security attacks, mechanisms, and services.
Classify encryption algorithms as symmetric or public key, as stream or block
ciphers, and as substitution, transposition, or product ciphers.
Encrypt and decrypt with and cryptanalyze classical substitution and transposition
ciphers
(e.g. Playfair, Vigenere, Autokey, Row Transposition, and Railfence ciphers).
Explain the principles of block cipher design.
Encrypt and decrypt using DES and AES block cipher
Compare and contrast modes of block cipher operation (ECB, CBC, CFB, OFB,
and CTR).
Describe the principles and applications of public key cryptography.
Encrypt and decrypt using RSA algorithm.
Explain different approaches to key distribution.
Utilize hash functions, message authentication codes, and cryptographic
algorithms in design and implementation of security protocols.
Analyze Cryptography-based security protocols.
141

Develop cryptography-based software.

Student outcomes addressed by this course


(e) An understanding of professional, ethical, legal, security and social issues and responsibilities
(g) An ability to analyze the local and global impact of computing on individuals, organizations,
and society
(h) Recognition of the need for and an ability to engage in continuing professional development
(j) An ability to apply mathematical foundations, algorithmic principles, and computer science
theory in the modeling and design of computer-based systems in a way that demonstrate
comprehension of the tradeoffs involved in design choices

Topics to be covered
Confidentiality, Integrity, Availability

Encryption and decryption techniques

Classicial cryptography and steganagrophy

Cryptoanalysis

Principles of block ciphers

Symmetric block ciphers: Data Encryption Standard (DES) and Advanced Encryption
Standard (AES)

Block cipher modes of operation

Random number generation, stream ciphers, one-time pad, and RC4

Fundementals of number theory

Public key cryptography and RSA

Key management

Digital signatures

Authentication protocols

Web security

Secure online banking

Password management
142

CPSC 440, Computer System Architecture


Credits: 3 units
Instructor: Kenneth Kung, Ph.D.
Office hours: Tue and Thu 3:00pm ~ 4:00pm
Textbook
David A. Patterson & John L. Hennessy, Computer Organization & Design, Fourth Edition,
Morgan Kaufmann Pub.
Supplemental materials
PPT slides, other relevant materials if necessary
Course Description
Computer performance, price/ performance, instruction set design and examples. Processor
design, pipelining, memory hierarchy design and input/output subsystems.
Prerequisite: CPSC 240
Required/Elective: Required
Student Learning Goals:

To provide the theory needed in understanding modern computer architectures and their
performance.

To introduce the concepts, notations and techniques of instruction set design, processor
design, memory hierarchy design, and input/output subsystem design.

Student outcomes addressed by this course


(b) An ability to analyze a problem, and identify and define the computing requirements
appropriate to its solution
(c) An ability to design, implement, and evaluate a computer-based system, process, component,
or program to meet desired needs
(j) An ability to apply mathematical foundations, algorithmic principles, and computer science
theory in the modeling and design of computer-based systems in a way that demonstrate
comprehension of the tradeoffs involved in design choices

143

Topics to be covered
What is computer architecture? Why you need to know computer architecture? How
much computer architecture has changed?
Tell me which architecture is good and show me how you came up with your answer.
Instruction set design - all about what the computer architecture needs to do and what it
needs to do fast.
Processor design - how to deal with different kinds of tasks using a general purpose
architecture?
Pipelining - let's try lower level parallelism.
Memory hierarchy design - large and fast, while still saving you money.

144

CPSC 462, Software Design

Credits: 3 units
Instructor: Christopher Ryu, Ph.D.
Office hours: Mon. and Wed. 3:00pm ~ 5:00pm
Textbook
Larman, Craig. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and
Design and Iterative Development, 3rd Ed., Pearson Education, Prentice-Hall, 2005.
Supplemental materials
PPT slides, other relevant materials if necessary
Course Description
Concepts of software modeling, software process and some tools. Object-oriented analysis and
design and Unified Process will be covered. Some computer-aided software engineering (CASE)
tools will be recommended to use for doing homework assignments.
Prerequisite: CPSC 362, Foundations of Software Engineering.
Required/Elective: Elective
Student Learning Goals: Students will be able to:
Understand and practice modern software development processes
Understand the OO programming concepts and techniques
Understand, practice, and implement various software design concepts and techniques
utilizing OO analysis using UML, OO software design and architecture principles, and
various software design patterns
Analyze, evaluate, choose, and implement right software architecture and design alternative
for a design problem
Trace from requirements, architecture, design, and implementation models
Document design and architecture
Work with team members to develop a large scale of software system

145

Student outcomes addressed by this course


(a) An ability to apply knowledge of computing and mathematics appropriate to the programs
student outcomes and to the discipline
(c) An ability to design, implement, and evaluate a computer-based system, process, component,
or program to meet desired needs
(d) An ability to function effectively on teams to accomplish a common goal
(f) An ability to communicate effectively with a range of audiences
(k) An ability to apply design and development principles in the construction of software systems
of varying complexity
Topics to be covered
Software processes: Iterative development, Unified Process, and Agile Process (XP and
Scrum)

Use cases, Requirements analysis models, and software requirements specification (SRS)

Object-Oriented (OO) concepts, OO analysis, domain modeling, and UML

OO programming techniques

Test-driven development (TDD)

Software design and architecture concepts and responsibility-driven design

OO design principles and coding techniques

Design and architecture

Design patterns

Architecture patterns

Package, component, services for enterprise applications and deployment

146

CPSC 463, Software Testing

Credits: 3 units
Instructor: David Falconer, Ph.D.
Office hours: Mon. and Wed. 3:00pm ~ 5:00pm
Textbook
Paul C. Jorgensen, Software Testing: A craftsmans Approach, fourth edition, CRC Press.
Supplemental materials
PPT slides, other relevant materials if necessary
Course Description
This course explores software testing techniques, reporting problems effectively and
planning testing projects. Students apply what they learned, throughout the course, to a
sample application that is either commercially available or under development.
Prerequisite: CPSC 362, Foundations of Software Engineering.
Required/Elective: Elective
Student Learning Goals: Students will be able to:
Understand the objectives and limits of testing, test types and their place in software
development cycle

Understand software Errors,

Report and analyze bugs

Do test case design

Localize testing and

Write testing user manuals

Use testing tools

Manage testing projects and groups

147

Student outcomes addressed by this course


(c) An ability to design, implement, and evaluate a computer-based system, process, component,
or program to meet desired needs
(d) An ability to function effectively on teams to accomplish a common goal
(f) An ability to communicate effectively with a range of audiences
(i) An ability to use current techniques, skills, and tools necessary for computing practice
Topics to be covered

The objectives and limits of testing, test types and their place in software development
cycle

Software Errors, reporting and analyzing bugs

Test case design

Localization testing, testing user manuals

Testing tools

Managing testing projects and groups

148

CPSC 464, Software Architecture

Credits: 3 units
Instructor: Chang-Hyun Jo, Ph.D.
Office hours: Mon and Wed between 2:00pm ~ 4:00pm
Textbook
Bass, L, Clements, P., and Kazman, R. Software Architecture in Practice, 2nd Ed. SEI Series
in Software Engineering, Pearson Education, Inc., Addison-Wesley, 2003. (ISBN: 0-32115495-9)
References

Shaw, Mary and Garlan, David. Software Architecture: Perspectives On An Emerging


Discipline, Prentice Hall, 1996. (ISBN: 0-13-182957-2)

Clements, R., Bachmann, F., Bass, L., Garlan, D., Ivers, J., Little, R., Nord, R., and
Stafford, J. Documenting Software Architectures: Views and Beyond, SEI Series in
Software Engineering, Pearson Education, Inc., Addison-Wesley, 2003. (ISBN 0-20170372-6)

Clements, P., Kazman, R., and Klein, M. Evaluating Software Architecture: Methods
and Case Studies, SEI Series in Software Engineering, Addison-Wesley, 2002. (ISBN 0201-70482-X)

Rational Software, Rational Software, http://www-306.ibm.com/software/rational/,


2004. (Licensed version available through the department and in labs.)

Microsoft Office Project 2003,


http://www.microsoft.com/office/project/prodinfo/default.mspx, 2005.

Course Description
Basic principles and practices of software design and architecture. High-level design,
software architecture, documenting software architecture, software and architecture evaluation, software product lines, and some considerations beyond software architecture.
Prerequisite: CPSC 362, Foundations of Software Engineering.
Required/Elective: Elective

149

Student Learning Goals: Students will be able to:


Understand architecture Business Cycle (ABC)
Understand Quality Attributes
Design the Architecture (ADD)
Document Software Architectures
Evaluate software Architecture
Understand Software Product Lines
Understand advanced Software Architecture
Student outcomes addressed by this course
(d) An ability to function effectively on teams to accomplish a common goal
(f) An ability to communicate effectively with a range of audiences
(h) Recognition of the need for and an ability to engage in continuing professional development
(k) An ability to apply design and development principles in the construction of software systems
of varying complexity
Topics to be covered

Architecture Business Cycle (ABC)

Quality Attributes, Designing the Architecture (ADD)

Documenting Software Architectures

Software Architecture Evaluation (ATAM)

Software Product Lines

Software Architecture in the Future

150

CPSC 466, Software Process


Credits: 3 units
Instructor: Chang-Hyun Jo, Ph.D.
Office hours: Mon and Wed between 2:00pm ~ 4:00pm
Textbook
Craig Larman. Agile & Iterative Development: A Managers Guide. Addison-Wesley, Pearson
Education, 2004. (11th Printing, Aug. 2009) (ISBN-10: 0-13-111155-8 | ISBN-13: 978-0-13111155-4)
References (not required but useful for doing HWs):
IBM Rational Unified Process (RUP), http://www-01.ibm.com/software/awdtools/rup/ , 2013.
Scott W. Ambler, The Agile Unified Process (AUP),
http://www.ambysoft.com/unifiedprocess/agileUP.html , 2013.
Ivar Jacobson, Applying UML in the Unified Process, http://www.jeckle.de/files/uniproc.pdf ,
2013.
Ivar Jacobson, Case Studies (Agile SW Development Resources),
http://www.ivarjacobson.com/resources/resources/case_studies/ , 2013.
Ecole Polytechnique de Montreal, Unified Process for EDUcation, http://www.upedu.org/ ,
2013.

Course Description
Practical guidance for improving the software development and maintenance process. How to
establish, maintain and improve software processes. Exposure to some common process
models, such as CMM, CMMI, PSP and TSP.

Requisite: CPSC 362


Required/Elective: Elective
Student Learning Goals: Student will be able to:
Understand concepts of Software Process, Maturity Software, maturity framework, and
Software process assessment, The initial process
Manage software organization, Software configuration, and Software quality assurance
Define Software standards, to perform Software Inspections and Software testing
Understand and practice High Mature Software Process, CMM/CMMI/PSP/TSP
151

Student outcomes addressed by this course


(d) An ability to function effectively on teams to accomplish a common goal
(e) An understanding of professional, ethical, legal, security and social issues and responsibilities
(f) An ability to communicate effectively with a range of audiences
(h) Recognition of the need for and an ability to engage in continuing professional development
(i) An ability to use current techniques, skills, and tools necessary for computing practice
Topics to be covered

Concept of Software Process Maturity

Software maturity framework

Software process assessment

The initial process

The Managed Process

Managing software organization

Software configuration management

Software quality assurance

The Defined Process

Software standards

Software Inspections

Software testing

High Mature Software Process

CMM/CMMI/PSP/TSP

152

CPSC 471, Computer Communications


Credits: 3 units
Instructor: Mikhail Gofman, Ph.D.
Office hours: Mon 4:00-6:00pm, Tue, Thu 7:00-8:00pm, Thu 1:00-2:00pm, by appointment
Textbook
Kurose, James F.; Ross, Keith W., Computer Networking (6th ed.), Pearson Education,
ISBN-10: 0132856204.

Supplemental materials
PPT slides, other relevant materials if necessary
Course Description
Introduction to digital data communications. Terminology, networks and their components, commoncarrier services, telecommunication facilities, terminals, error control, multiplexing and concentration
techniques.

Prerequisite: CPSC 351


Required/Elective: Required
Student Learning Goals:

Learn that real-world computer communications require many different kinds of


protocols

Learn the microcosms that exist at each layer of the protocol stack

Learn the Transport Layer: the arbitrator of communications between processes

Learn the Network Layer. Its primary function is routing: forwarding data between
networks

Learn the Link Layer. The Link Layer houses protocols used for communications
between two directly connected devices

Learn the Physical Layer. The sole responsibility of the physical layer, is to transform
bits of information into electrical signals, radio waves, light pulses, or into whatever the
future holds.

Take a short plunge into advanced topics of computer networking: network security and
networking in the virtualized world.
153

Student outcomes addressed by this course


(b) An ability to analyze a problem, and identify and define the computing requirements
appropriate to its solution
(h) Recognition of the need for and an ability to engage in continuing professional development
(i) An ability to use current techniques, skills, and tools necessary for computing practice
(j) An ability to apply mathematical foundations, algorithmic principles, and computer science
theory in the modeling and design of computer-based systems in a way that demonstrate
comprehension of the tradeoffs involved in design choices
Topics to be covered
Computer Networks and the Internet
Application Layer
Transport Layer
The Network Layer
The Link Layer and LANs
Multimedia Networking
Network Security

Virtualized Networking

154

CPSC 473, Web Programming and Data Management


Credits: 3 units
Instructor: Kenytt Avery, M.S.
Office hours: Tuesday & Thursday 19:0020:00, and by appointment
Textbook
Michael Hartl, Ruby on Rails 3 Tutorial: Learn Rails by Example, Addison-Wesley
Professional, ISBN-10: 0321743121, ISBN-13: 978-0321743121
Obie Fernandez, The Rails 3 Way (2nd Edition), Addison-Wesley Professional, ISBN10: 0321601661, ISBN-13: 978-0321601667
Course Description
Various techniques for developing Web-based database applications using software
engineering methodology. Introduce concept and architecture of Web servers, Web database
design techniques, client/server side programming, and Web applications tools and
techniques.
Requisite: CPSC 332
Required/Elective: Elective
Student Learning Goals: Student will be able to:
Distinguish the similarities and differences between web application and desktop application
Understand and apply the model-view-control design patterns
Identify what is a database
Understand and apply database schema to solve practical problems
Understand and apply an object to relation mapping
Design and implement a web application using a web application framework such as Ruby
on Rails
Student outcomes addressed by this course
(d) An ability to function effectively on teams to accomplish a common goal
(h) Recognition of the need for and an ability to engage in continuing professional development
(i) An ability to use current techniques, skills, and tools necessary for computing practice
155

(k) An ability to apply design and development principles in the construction of software systems
of varying complexity
Topics to be covered

Web applications, HTML, Databases, SQL, Git

Ruby, MVC, object to relation mapping

Ruby on Rails, Testing/Deploying RoR Apps

Visualization, Drawing Charts

Geocoding, Maps

Social Networking, Desktop Data Mining

156

CPSC 476, Java Enterprise Application Development


Credits: 3 units
Instructor: Kenytt Avery, M.S.
Office hours: Tuesday & Thursday 19:0020:00, and by appointment
Textbook
Nicholas S. Williams, Professional Java for Web Applications, Willy, ISBN: 978-1-11865646-4
Course Description
Concepts and architecture of enterprise applications, components, services and communication technologies, Dependency injection, application tiers, remote objects, distributed
transactions, message queues, web services and object-relational mapping. Enterprise
application development in Java with build tools, containers and application servers.
Requisite: CPSC 223J, 351
Required/Elective: Elective
Student Learning Goals: Student will be able to:
Understand J2EE: concepts and architecture, platform, tools
Understand roles, service, packaging, and deployment and be able to create roles, services,
package, and deploy
Understand JDBC, RMI, JNDI, Session Bean, Entity Bean and be able to connect to a
database, to create and use RMI, JNDI, Session Bean, Entity Bean
Understand the Enterprise Java Beans (EJBs)
Create and use EJBs
Design and develop an Java Enterprise application

Student outcomes addressed by this course


(h) Recognition of the need for and an ability to engage in continuing professional development
(i) An ability to use current techniques, skills, and tools necessary for computing practice
(k) An ability to apply design and development principles in the construction of software systems
of varying complexity
157

Topics to be covered

Java EE: concepts and architecture, platform, tools

Roles, service, packaging, and deployment

JDBC, RMI, JNDI, Session Bean, Entity Bean

Overview of Enterprise Java Beans (EJBs)

Enterprise Java Beans (EJBs)

Java Enterprise application development

158

CPSC 481, Artificial Intelligence


Credits: 3 units
Instructor: Christopher Ryu, Ph.D.
Office hours: Tue and Thu 3:00pm ~ 4:00pm
Textbook
Artificial Intelligence: Structures and Strategies for Complex Problem Solving, 6th edition by
George Fluger, Addison Wesley, 2009.
Supplemental materials
PPT slides, other relevant materials if necessary
Course Description
Use of computers to simulate human intelligence. Topics include production systems, pattern recognition,
problem solving, searching game trees, knowledge representation, and logical reasoning. Programming in
AI environments.

Prerequisite: CPSC 335, Algorithm Engineering


Required/Elective: Required
Student Learning Goals: Students will be able to:
Define intelligence and intelligent agent and explain its role in different problem domain
Understand and choose appripriate knowledge representation for a problem
Choose appropriate search technique for a problem and apply it to solve the problem
Demonstrate how logics and rules are used in implementing reasoning for real-world
applications
Describe different machine learning approaches and apply them to solve real-world
problems
Demonstrate how stochastic reasoning approaches can be used to deal with uncertainty
Describe some approaches used for natural language understanding
Identify and solve complex real-world problems using AI approaches

159

Student outcomes addressed by this course


(a) An ability to apply knowledge of computing and mathematics appropriate to the programs
student outcomes and to the discipline
(b) An ability to analyze a problem, and identify and define the computing requirements
appropriate to its solution
(g) An ability to analyze the local and global impact of computing on individuals, organizations,
and society
(h) Recognition of the need for and an ability to engage in continuing professional development
(j) An ability to apply mathematical foundations, algorithmic principles, and computer science
theory in the modeling and design of computer-based systems in a way that demonstrate
comprehension of the tradeoffs involved in design choices
Topics to be covered

Fundamental AI questions and applications; Introduction to LISP or AI programming

State space and heuristic search for problem solving

Evolutionary computation for problem solving and evolutionary learning

Machine learning

Logical reasoning

Rule-based programming

Stochastic methods for non-monotonic reasoning; reasoning in uncertain situations, and


probabilistic learning

Utility theory and game theory for complex decision making

160

CPSC 483, Data Mining and Pattern Recognition


Credits: 3 units
Instructor: Dr. Peter Lo
Office hours: Thursday before class by appointment and after class 9:45 to 10:45
Textbook
Ruby Kennedy, et al., Solving Data Mining Problems through Pattern Recognition,
Prentice Hall, ISBN-10: 0130950831, ISBN-13: 978-0130950833
References

J. T. Tou and R.C. Gonzalez, Pattern Recognition Principle, Addison-Wesley

R. O. Duda, P. E. Hart and D. G. Stork, Pattern Classification, John Wiley & Sons

Rafael C. Gonzalez and Richard E. Woods, Digital Image Processing, Addison-Wesley

Course Description
Classification techniques, discriminant functions, training algorithms, potential function
theory, supervised and unsupervised learning, feature selection, clustering techniques,
multidimensional rotations and rank ordering relations.
Requisite: CPSC 335
Required/Elective: Elective
Student Learning Goals:

The first goal of this course is to give students a broad introduction of pattern
recognition technologies: including decision theory, discriminant functions,
feature extraction, classifier design techniques, supervised and unsupervised
learning, clustering algorithms, neural networks, PCA, LDA and support vector
machines.
The second goal of the course is to guide students to apply the learned knowledge
into real world problems.

161

Student outcomes addressed by this course


(g) An ability to analyze the local and global impact of computing on individuals, organizations,
and society
(h) Recognition of the need for and an ability to engage in continuing professional development
(i) An ability to use current techniques, skills, and tools necessary for computing practice
Topics to be covered

Basic Concepts in Pattern Recognition: System Theory to Pattern Recognition, the


Pattern Recognition Process, Pattern Recognition Design Techniques, Pattern
Recognition Applications

The Statistical Formulation and Parametric Methods: Introduction to Bayes Decision


Theory, Histogram Method Estimation, Gaussian Classifier

Discriminant Functions and Methods: Decision Surfaces, Linear Discriminant Functions


and Methods, Regression, Linear Programming Maximum Likelihood Estimation,
Nonlinear Discriminant Functions and Methods, Piecewise Linear Approximation,
Supervised and Unsupervised Learning

Preprocessing: Feature Extraction: Smoothing, Thresholding, Segmentation,


Normalization, Modifying Prior Probabilities, Reducing the Input Spaces,
Transformation

Classifiers: Linear Classifier, Nearest Neighbor Clustering Algorithm, K-Nearest


Neighbors Classifier, Gausian Classifier, K-Mean Algorithm

Neural Networks: Single-layer and Multi-layer Perceptron, Different Learning Rules,


Back propagation

Feature Reduction Through Principal Components Analysis (PCA), An Application of


PCA to Face Recognition using Eigenface

Feature Reduction Through Linear Discriminant Analysis, An Application of LDA to


Face Recognition, Limitation of LDA

Support Vector Machines (SVMs), Linear SVMs, Nonlinear SVMs, Kernel functions for
SVMs, Examples of SVMs, and SVM Implementation

162

CPSC 484, Principles of Computer Graphics


Credits: 3 units
Instructor: Dr. Michael Shafae
Office hours: Monday & Wednesday 14:3015:30, Tuesday & Thursday 19:0020:00, by
appointment
Textbook
Fundamental of Computer Graphics, 2nd Ed. or later, Peter Shirley et al., A K Peters ISBN:
156881269
Optional

OpenGL Programming Guide: e Official Guide to Learning OpenGL, Version2.1, 6th


Ed. or later, OpenGL Architecture Review Board et al., Addison-Wesley Professional
ISBN: 0321481003

OpenGL Shading Language, 2nd Ed. or later, Randi J. Rost, Addison-Wesley


Professional ISBN: 0321334892

OpenGL SuperBible: Comprehensive Tutorial and Reference, 4th Ed. or later, Richard S.
Wright, Benjamin Lipchak, Nicholas Haemel, Addison-Wesley Professional ISBN:
0321498828

Course Description
Examination and analysis of computer graphics; software structures, display processor
organization, graphical input/output devices, display files. Algorithmic techniques for
clipping, windowing, character generation and viewpoint transformation.
Requisite: Examination in Programming Proficiency and MATH 150B, 270B.
Required/Elective: Elective
Student Learning Goals:
In order to achieve a satisfactory grade in this course the student must display
competency in the following course objectives as measured by assignments, exams,
quizzes, and participation.
1. Fundamental 3D mathematics as it applies to computer graphics
2. Understand how surfaces, color, motion are represented
3. Use affine transformations to transform & project models
4. Identify and understand the rendering pipeline
5. The mathematics of shading, illumination, and texture mapping
Student outcomes addressed by this course
163

(a) An ability to apply knowledge of computing and mathematics appropriate to the programs
student outcomes and to the discipline
(i) An ability to use current techniques, skills, and tools necessary for computing practice
(j) An ability to apply mathematical foundations, algorithmic principles, and computer science
theory in the modeling and design of computer-based systems in a way that demonstrate
comprehension of the tradeoffs involved in design choices
Topics to be covered

Introductions, C/C++, Math Review

Linear Algebra, OpenGL

Raster Algorithms

Transformations

More Transformations

Surface Shading, Light, Color

Viewing, Projection

Hidden Surface Elimination,

Mapping, Graphics Pipeline

Spring Recess

More mapping, Picking

Ray Tracing, Global Illumination

More Ray Tracing

Image Based Rendering

164

CPSC 485, Computational Bioinformatics


Credits: 3 units
Instructor: Padideh Danaee, M.S.
Office hours: Tuesdays & Thursdays 5:30 - 6:45 p.m.
Textbook
Neil C. Jones and Pavel A. Pevzner An Introduction to Bioinformatics Algorithms, The MIT
Press
Course Description
Algorithmic approaches to biological problems. Specific topics include motif finding, genome
rearrangement, DNA sequence comparison, sequence alignment, DNA sequencing, repeat
finding and gene expression analysis.
Requisite: CS 131 or by consent of the instructor
Required/Elective: Elective
Student Learning Goals: Student will be able to
Identify biological problems such as motif finding, genome rearrangement, DNA
sequence comparison, sequence alignment, DNA sequencing, repeat finding, and gene
expression analysis.

Tackle these problems using algorithmic approaches such as exhaustive search, greedy
algorithms, dynamic algorithms, divide-and-conquer algorithms, graph algorithms,
combinatorial pattern matching, evolutionary trees, and hierarchical clustering.

Student outcomes addressed by this course


(a) An ability to apply knowledge of computing and mathematics appropriate to the programs
student outcomes and to the discipline
(g) An ability to analyze the local and global impact of computing on individuals, organizations,
and society
(h) Recognition of the need for and an ability to engage in continuing professional development
(i) An ability to use current techniques, skills, and tools necessary for computing practice
(j) An ability to apply mathematical foundations, algorithmic principles, and computer science
theory in the modeling and design of computer-based systems in a way that demonstrate
comprehension of the tradeoffs involved in design choices

165

Topics to be covered

Review of fundamentals in data structures and algorithms

Molecular biology primer

Motif finding by exhaustive search

Genome rearrangements using greedy algorithms

DNA sequence comparison using dynamic algorithms

Space-efficient sequence alignment using divide-and-conquer algorithms

DNA sequencing using graph algorithms

Repeat finding by combinatorial pattern matching

Gene expression analysis using evolutionary trees and hierarchical clustering

166

CPSC 486, Game Programming


Credits: 3 units
Instructor: Dr. Michael Shafae
Office hours: Monday & Wednesday 14:3015:30, Tuesday & Thursday 19:0020:00, by
appointment
Textbook
Required:
David H. Eberly, 3D Game Engine Design, 2nd Ed., Morgan Kaufmann, ISBN: 0122290631
Optional:

Board et al., OpenGL Programming Guide: the Official Guide to Learning OpenGL,
Version2.1, 6th Ed., OpenGL Architecture Review, Addison-Wesley Professional, ISBN:
0321481003

Randi J. Rost, OpenGL Shading Language, 2nd Ed., Addison-Wesley Professional,


ISBN: 0321334892

Richard S. Wright, Benjamin Lipchak, Nicholas Haemel, OpenGL SuperBible:


Comprehensive Tutorial and Reference, 4th Ed., Addison- Wesley Professional ISBN:
0321498828

Course Description
Data structures and algorithms used for real-time rendering and computer game programming.
Build upon existing mathematics and programming knowledge to create interactive graphics
programs.
Requisite: CPSC 386, 484
Required/Elective: Elective
Student Learning Goals:
In order to achieve a satisfactory grade in this course the student must display competency in the
following course objectives as measured by assignments, exams, quizzes, and participation.
Euler angles and quaternions

Camera control in 3D

Scene graph data structure

User-programmed vertex and pixel shaders


167

Path finding and collision detection of geometric models

Rigid body & particle physics

Student outcomes addressed by this course


(h) Recognition of the need for and an ability to engage in continuing professional development
(i) An ability to use current techniques, skills, and tools necessary for computing practice
(k) An ability to apply design and development principles in the construction of software systems
of varying complexity
Topics to be covered

Introductions, Graphs, Trees

Trees contd

Graphics System; chapter. 2

Renderers; chapter. 3

GLSL, Picking

GLSL & Special Effects; chapter. 20

Bounding Volumes, Scene Graphs; chapter. 4

Transformations, Spatial Sorting

Rotations

Quaternions

More Quaternions!

Separating Axes

Separating Axes contd.

Separating Axes contd.

Containment, Distance & Intersection; chapter. 1315

168

CPSC 489, Game Development Project


Credits: 3 units
Instructor: Dr. Michael Shafae
Office hours: Monday & Wednesday 14:3015:30, Tuesday & Thursday 19:0020:00, by
appointment
Textbook
There is no required textbook for this course, however the books below are strongly
recommended. Reading one or more of these books over the course of the semester will
vastly improve your experience. Strongly Recommended:

David H. Eberly, 3D Game Engine Design, 2nd Ed., Morgan Kaufmann, ISBN:
0122290631

Board et al., OpenGL Programming Guide: the Official Guide to Learning OpenGL,
Version2.1, 6th Ed., OpenGL Architecture Review, Addison-Wesley Professional, ISBN:
0321481003

Randi J. Rost, OpenGL Shading Language, 2nd Ed., Addison-Wesley Professional,


ISBN: 0321334892

Richard S. Wright, Benjamin Lipchak, Nicholas Haemel, OpenGL SuperBible:


Comprehensive Tutorial and Reference, 4th Ed., Addison- Wesley Professional ISBN:
0321498828

Course Description
Individually or in teams, student design, plan and build a computer game.
Requisite: CPSC 486
Required/Elective: Elective
Student Learning Goals:
In order to achieve a satisfactory grade in this course the student must display competency in
the following course objectives as measured by assignments, exams, quizzes, and
participation.
Define an original game in terms of a formal system
Contextualize the game within a fiction and a narrative
Translate the formal system to a working computer game
Formulate a project plan and objectives, self-monitor progress

169

Work effectively using software engineering tools to design, implement, version and
document the work product

Student outcomes addressed by this course


(d) An ability to function effectively on teams to accomplish a common goal
(h) Recognition of the need for and an ability to engage in continuing professional development
(i) An ability to use current techniques, skills, and tools necessary for computing practice
(k) An ability to apply design and development principles in the construction of software systems
of varying complexity
Topics to be covered

Introductions, Course Objectives, Project Ideas

Teams & Projects, Time Management, Dev. Tools

Time Management, Dev. Tools, Reporting

Reporting, Planning, Assessing, Testing

170

Appendix B Faculty Vitae


Please use the following format for the faculty vitae (2 pages maximum in Times New Roman 12
point type)
1. Name
2. Education degree, discipline, institution, year
3. Academic experience institution, rank, title (chair, coordinator, etc. if appropriate),
when (ex. 1990-1995), full time or part time
4. Non-academic experience company or entity, title, brief description of position, when
(ex. 1993-1999), full time or part time
5. Certifications or professional registrations
6. Current membership in professional organizations
7. Honors and awards
8. Service activities (within and outside of the institution)
9. Briefly list the most important publications and presentations from the past five years
title, co-authors if any, where published and/or presented, date of publication or
presentation
10. Briefly list the most recent professional development activities

171

Name: Reza Ahmadnia


Education:
Doctor of Education, University of Laverne, 2009
M.S., Applied Mathematics, University of Nebraska, 1982
M.S., Mathematics, Eastern New Mexico University, 1974
B.S., Mathematics, National University of Iran, 1972
Academic experience:
1995 Present, Instructor, California State University, Fullerton
1985 Present, Instructor, University of Laverne
1989 Present, Instructor, California State University, Dominguez Hills
1984 1989, Instructor, California State University, Fullerton
1982 1984, Instructor, University of Minnesota

172

Name: Kenytt Avery


Education:
M.S., Computer Science, California State University, Fullerton, 1998
B.S., Computer Science, California State University, Fullerton, 1995
Academic experience:
2005 Present, Instructor, California State University, Fullerton
1999 2000, Instructor, California State University, Fullerton
Non-academic experience:
2005 Present, IBM
Current Membership in Professional Organizations
IEEE Computer Society

173

Name: Chun-I Philip Chen


Education:
Ph.D., Information Systems, Nova Southeastern University, 2010
MS, Computer Information Systems, Nova Southeastern University, 1996
MS, Technology of Management (Computer Systems) American University, 1982
B.S., Computer Science, University of Windsor, 1974
Academic experience:
Adjunct Associate Professor, The Graduate School of Management & Technology,
University of Maryland University College, May 2012 Present
Adjunct Faculty, Dept. of Computer Science, California State University, Fullerton,
January 2012 Present
Non-academic experience:
Principal IT Consultant, IT & Management Services, May 2011 May 2012
20th Century FoxLead Database Administration, 20th Century Fox, 1996 2006
Oracle Principal DBA Consultant, Oracle, 1995 1996
Los Angeles, Capital Group Manager, Database Administration, Capital Group 1985
1995, Brea, California
Manager, Database Administration Western Airlines, 1983 1985

174

Name: Ning Chen


Education:
Ph.D., Electrical Engineering, Colorado State University, Fort Collins, Colorado, 1986.
M.S., Electrical Engineering, Colorado State University, Fort Collins, Colorado, 1984.
B.S., Hydraulics Engineering, National Cheng Kung, University, Tainan, Taiwan, ROC, 1978.
Academic experience:
1999- Present Professor, Department of Computer Science, California State University,
Fullerton, California.
1997- 1999 Associate Professor, Department of Computer Science, California State
University, Fullerton, California.
1992- 1996 Associate Professor, Department of Electrical Engineering, California State
University, Fullerton, California.
1987- 1992 Assistant Professor, Department of Electrical Engineering, California State
University, Fullerton, California.
Services
2011- 2014 Program Coordinator/Adviser, Master of Science in Software Engineering (MSE)
Program, Department of Computer Science, California State University, Fullerton, California.
2000- 2003 Chair, Department of Computer Science, California State University, Fullerton,
California.
Publications
T. W. Caldwell and N. Chen, Grip Pressure Sensor, US Patent#8,033,916, issue date:
October 11, 2011
N. Chen and W. L. Cheung, Bow-to-string pressure training device for bowed string

music instruments, US Patent # 7605317, issue date: 10/20/2009


Professional Development Activities
Sabbatical Leave in fall 2014
Senior Research Grant, 2014 2015
Technical conferences

175

Name: James Choi


Education:
University of Southern California: Los Angeles, CA
Ph.D. - Computer Science
Major in Software Engineering

1988

University of Southern California: Los Angeles, CA


M.S. - Computer Science
Major in Software Engineering

1985

Technical University of Karlsruhe: Karlsruhe, Germany


M.S. - Physics
Major in Experimental Nuclear Physics

1980

Technical University of Karlsruhe: Karlsruhe, Germany


B.S. - Physics

1978

Academic experience:
Professor, Computer Science Dept.
California State University: Fullerton, CA

2009 -

Chair, Computer Science Dept.


California State University: Fullerton, CA

2006 - 2009

Vice Chair, Computer Science Dept.


California State University: Fullerton, CA

2002 - 2003

Associate Professor, Computer Science Dept.


California State University: Fullerton, CA

2002 - 2009

Assistant Professor, Computer Science Dept


California State University: Fullerton, CA

1996 - 2002

Visiting Research Scientist


University of Southern California: Los Angeles, CA

1993 - 1996

Research Associate
University of Southern California: Los Angeles, CA

1990 - 1993

Assistant Professor, Computer Science Dept.


Calif. State University in Los Angeles: Los Angeles, CA

1998 - 1999

Current Membership in Professional Organizations


IEEE Computer Society
176

Honors and Awards


CSUF Service Recognition Award in 2003 and 2008
Services
Chair, Computer Science Department

Vice Chair, Computer Science Department

Coordinator for Masters of Software Engineering (MSE) Program

Graduate Program Advisor, Computer Science Department

Chair, Selection Committee, Computer Science Department

Chair, Executive Committee, Computer Science Department

Chair, Personnel Committee, Computer Science Department

Member of IRC (Instructional Resource Committee), Computer Science Department

UPE and ACM Advisor, Computer Science Department,

Member of the Undergraduate Committee, Computer Science Department

Member of University Library Committee

Member of University Ad Hoc Global Competency Committee

Member of University Presidents Scholar Committee

Member of University Professional Leave Committee

Publications
R. North and J. Choi, Leveraging Software Performance Engineering to Enhance the
Maintenance Process, ISAST Transactions on Computers and Software Engineering, 2009
C. Jo, G. Chen and J. Choi, A Framework for BDI Agent-Based Software Engineering, Studia
Informatica Universalis, 2005
Professional Development Activities
Technical conferences

177

Name: Bin Cong

Education:
Ph.D. Computer Science, University of Texas, August 1991
B.S. Computer Science, Nanjing University, China, August 1982
Academic experience:
August 2004 - Present: Professor, California State University at Fullerton
Aug. 2000 Aug. 2001: (Professional Leave.) Chief Technology Officer, AE Inc. at
Silicon Valley
Aug. 1998 Aug. 2004: Associate Professor, California State University at Fullerton
September 1997 August 1998: Associate Professor, Cal Poly at San Luis Obispo
May 1996 August 1997: Tenured Associate Professor, South Dakota State University
August 1991 - May 1996: Assistant Professor, South Dakota State University
June 1988 - August 1991: Research/Teaching Assistant, University of Texas
September 1985 May 1988: Teaching Assistant, Duke University
August 1982 - August 1985: Research Fellow, Nanjing University, China
Non-academic experience:
Aug. 2000 Aug. 2001: (Professional Leave.) Chief Technology Officer, AE Inc. at
Silicon Valley
Certifications
May 2012: Certified Scrum Product Owner
Feb. 2012: Certified Scrum Master
June 2009: Certified SEI Lead Appraiser for CMMI SVC
June 2009: Certified SEI Instructor for CMMI SVC Supplement
March 2008: Certified as SEI High Maturity Lead Appraiser
June 2004: Certified as a SEI authorized Introduction to CMMI Instructor.
Oct. 2003: Certified as an authorized Lead Appraiser in the SEI Appraiser Program for Standard
CMMI Appraisal Method for Process Improvement (SCAMPI). ID#: 0300298
September 2002: Certified as an authorized Lead Assessor in the SEI Appraiser Program for
CMM-Based Appraisal for Internal Process Improvement (CBA IPI), ID #: 0200861-A
Honors and Awards
Outstanding Faculty for Research and Creative Activities, CSUF, 2002-2005
Outstanding Faculty Recognition Award for Service, CSUF, April 2003-2006
Distinguished Oversea Chinese Scholar, Oct 2008
Distinguished Faculty Member, College of ECS May 2011
Enhance SE Curriculums: Univ. Initiative Award 2011
Services
178

Aug. 2004 Aug 2007: Coordinator of the MSE (Master of Software Engineering On-line) at
Cal State.
Member /Chair of DPC (Computer Science Department, CSUF, 2001 2003, 2010 - 2012)
Member of the University Graduate Education Committee (1999 - 2002)
Member of the University IT Committee (2002 2004)
Chair of Selection Committee (Computer Science Department, CSUF, 2001- 2002)
Member of Selection Committee (Computer Science Department, CSUF, 2002 2003)
Graduate Program Advisor (Computer Science Department, CSUF, 2002 2004, 2010-2011)
Member of the Computer Engineering Committee (ECS College, CSUF, 2001 present)
Member of the On-line Master of Software Engineering Committee (Computer Science
Department, CSUF, 2001 present)
Member of the CSEMS Scholarship Committee (CSUF, 2003)
Member of Ad Hoc Committee for Restructuring of the Division of Engineering (CSUF, 2004)
Publications
Bin Cong (2014). Value Driven Development with Scrum. Beijing, China: The People's Posts and
Telecommunications Press.
Bin Cong (2013, 6). Being an Effective Scrum Master and Product Owner. presented at Agile
Workshop, Shenzhen, China. CMB
Bin Cong (2013, 2). Effective Agile Implementation under CMMI Framework. presented at
IIBA, Irvine, CA. IIBA-OC
Bin Cong (2012, 11). Establish the safety Net for Scrum Implementation. Research Paper
presented at CCSE 2012, Beijing, China.

Professional Development Activities


Technical Conferences

179

Name: Padideh Danaee


Education:
California State University, Fullerton, CA
Master of Science in Computer Science, Jan 2013 (GPA: 3.93)
Azad University of Esfahan, Iran
Bachelor of Science in Computer Engineering (Software), Dec 2006

Academic experience:

Instructor, California State University, Fullerton, 2014

Graduate Research Assistant at Biology Department , California State University,


Fullerton, June 2012 Jan 2013

Graduate Research Assistant at Kinesiology and Health Science Department, California


State University, Fullerton, (Aug 2010 Feb 2012)

Teacher Assistant at Computer Science Department, California State University,


Fullerton (Aug 2010 May 2012)

Non-academic experience:

Graduate Student Programmer at IT Department, California State University, Fullerton, (June


2011 January 2013 )

Software Designer and Developer, Rahyab Rayaneh Gostar Company, Tehran, Iran, (Full-time
Aug 2009- July 2010)
Software Designer and Developer , Tous Woollen Company, Tehran, Iran, (Part-time May 2006June 2010)
Software Designer and Developer, AftabSamaneh Company, Tehran, Iran (Full-time Jan 2006Aug 2009)

Honors and Awards

Recipient of the Alumni Association Outstanding Graduate Student Award of College of


Engineering and Computer Science (2011-2012 Academic Year, California State University,
Fullerton).

Recipient of the renewal Non-Resident Tuition Fee Waiver from Graduate Studies for having
high GPA (2011-2012 Academic Year, California State University, Fullerton).

Recipient of Non-Resident Tuition Fee Waiver for having good backgrounds and a
recommendation from the Associate Dean of the College of Engineering and Computer Science
(2010-2011 Academic Year, California State University, Fullerton).

Publications

Padideh Danaee, Kevin Wortman and Shawn Xiong Wang. Pseudoknotted RNA Secondary
Structure Detection Using Artificial Neural Network (Poster Presentation at ISBRA 2013
Charlotte, North Carolina)

180

Name: Yasamin Ehteshami


Education:
Bachelor in Computer Software Technology Engineering, Mazandaran University of Science and
Technology, Iran, 2011
Academic experience:
Instructor, California State University, Fullerton, 2013 Present

181

Name: Stephanie Elizondo

Education:
M.A., English, California State University, Fullerton -January 2012
B.A., English, California State University, Fullerton: May 2007
Academic experience:
Instructor, California State University, Fullerton, 2013 present
Adjunct English Instructor, Golden West College, Department of English: fall 2012,
spring 2013, summer 2013
English Instructor, California State University, Fullerton, Department of English
(Teaching Associate Program): fall 2009, spring 2010
Services
Co-Faculty AdvisorPuente Club: August 2012-May 2013
Acacia Group Conference Coordinator: August 2010 May 2011
Teaching Writing Club Treasurer: January 2010 May 2010
Acacia Group Secretary: August 2009 - May 2010
Discover Fest- August 2008, 2009, 2010, & 2011 / February 2010 & 2011
Professional Development Activities
Puente Summer Institute summer 2013
Puente Regional Training- fall 2012, spring 2013
Tutoring Student to Student Certificate, spring 2008
Student Leadership Institute, California State University, Fullerton
Editor- Dash Literary Journal
Hybrid, Nonfiction, and Criticism Committee

182

Name: Rosa Farre-Torrents


Education:

Universitat Autonoma de Barcelona, 1988, MA in Computer Science with


emphasis in Artificial Intelligence and Computer Graphics
American Film Institute. Training in "Interactive Production and Design",
1999.
Attended several industry related courses at Siggraph from 1990 to present.
Nvidia corporation, Training in real-time High Level Shader Language 2003
and 2004

Academic experience:
2013 Present, Instructor, California State University, Fullerton
1999 Present, Faculty, Gnomon School of Visual Effects
2004-present, Faculty, The Art Institute of Los Angeles
Non-academic experience:
1996 Present, Owner, Technical Director, ELEKTRASHOCK, Los Angeles
1997 1998, Look supervisor, SONY IMAGEWORKS, Los Angeles
1992 1995, Animation Supervisor / Senior Technical Director, METROLIGHT STUDIOS, Los
Angeles
1992 1992, Animator / Software engineer, LIMELITE VIDEO, New York
1988 1991, Animator / Software Engineer, ANIMATICA, Barcelona
1986 1989, Computer Instructor / Freelance, C.I.E.J. (La Caixa), Barcelona
Publications
Animar animation festival, Palma de Mallorca, Spain Contributor and organizer in
animation festival organized by LADAT (http://www.ladat.es/cursos.php), at the
University of Balearic Islands

Arts Futura Presented work created at Animatica in collaboration with several


computer graphics artists (www.artfutura.org)

HDRI magazine Article titled The art of previs

Computer Graphics world contributor to article titled Buying Motion

3D animation magazine Article titled For the animator who wants it all

Animation magazine - Article titled A small fish in a big pond about the business of
computer graphics.

Autodesk introduction to Maya books series by Dariush Derakhshani include examples of


some of my students class work.
183

Name: Mikhail Gofman


Education:
Ph.D. in Computer Science August 2012, State University of New York at Binghamton
M.S. in Computer Science May 2008, State University of New York at Binghamton
B.S. in Computer Science May 2006, State University of New York at Binghamton
Academic experience:
Assistant Professor, California State University at Fullerton 2012 - present
Instructor and Research Assistant, State University of New York at Binghamton 2007 - 2012
Honors and Awards
Intramural Grant ($2,440). California State University of Fullerton. 2014.
Innovate, Develop, Engage, Act (IDEA) Grant ($500). California State University of
Fullerton. 2013
Distinguished Outstanding Advisor Award. California State University of Fullerton. 2012
Graduate Student Award for Excellence in Research. State University of New York at
Binghamton. 2011.
Graduate School Academic Excellence Award, State University of New York at
Binghamton. 2008.
Services
Member of Technical Program Committee
ANT: International Conference on Ambient Systems, Networks and Technologies (2013)
FNC 2014: The 9th International Conference on Future Networks and Communications (2014).
Reviewer for
TISSEC: ACM Transactions on Information and System Security (2012)
CLOUDSEC: International Workshop on Security in Cloud Computing (2012)
IC3: The Fifth International Conference on Contemporary Computing (2012)
CCS: ACM Conference on Computer and Communications Security (2011)
CADE: International Conference on Automated Deduction (2011)
IWCMC: International Wireless Communications and Mobile Computing
Conference (2011)
ICC: International Conference on Communications (2010)

184

Publications
1. Policy Analysis for Administrative Role Based Access Control without Separate
Administration, by Ping Yang, Mikhail Gofman, Scott Stoller, and Zijiang Yang,
Accepted (in 2014), Journal of Computer Security.
2. Privacy-preserving Virtual Machine Checkpointing Mechanism, by Mikhail Gofman,
Ruiqi Luo, Chad Wyszynski, Yaohui Hu,
3. Ping Yang, and Kartik Gopalan, Accepted, Special Issue on Information Assurance and
System Security in Cloud Computing, Journal of Cloud Computing. 2013.
4. Efficient Policy Analysis for Evolving Administrative Role Based Access Control,
Mikhail I. Gofman and Ping Yang, accepted, International Journal of Software and
Informatics, 2013. (Acceptance rate: 5.4%).
5. Policy Analysis for Administrative Role Based Access Control without Separate
Administration, Ping Yang, Mikhail Gofman, and Zijiang Yang, the 27th IFIP WG 11.3
Conference on Data and Applications Security and Privacy (DBSEC13), full paper, pages
4964, Lecture Notes in Computer Science, 2013 (Acceptance rate: 35.5%)
6. Analysis of Scientific Workflow Provenance Access Control Policies, Ruiqi Luo, Ping
Yang, Shiyong Lu, and Mikhail I. Gofman, to appear, The 9th IEEE International
Conference on Services Computing (SCC), IEEE Press, 2012.
7. SPARC: A Security and Privacy Aware Virtual Machine Checkpointing Mechanism, by
Mikhail Gofman, Ruiqi Luo, Ping Yang, and Kartik Gopalan to appear,Workshop on
Privacy in the Electronic Society (WPES), in conjunction with the ACM Conference on
Computer and Communications Security (CCS), full paper, ACM Press, 2011.
8. RBAC-PAT: A Policy Analysis Tool for Role Based Access Control, by Mikhail
Gofman, Ruiqi Luo, Ayla Solomon, Yingbin Zhang, Ping Yang and Scott D. Stoller, 15th
International Conference on Tools and Algorithms for the Construction and Analysis of
Systems (TACAS), Pages 4649, Lecture Notes in Computer Science, Springer-Verlag,
2009.
9. Incremental Information Flow Analysis of Role Based Access Control, by Mikhail
Gofman, Ruiqi Luo, Jian He, Yingbin Zhang, and Ping Yang, International Conference
on Security and Management, pages 397403, CSREA press, 2009.
Professional Development Activities
Technical conferences

185

Name: Hugh Greenbaum


Education:
B.S., Information and Computer Science, University of California, Irvine, 1982
Academic experience:
Instructor, California State University, Fullerton, 2000 Present
Non-academic experience:
Senior Software Engineer, Raytheon, 1978 Present

186

Name: Sara Bagheri Hariri


Education:
M.S., Computer Science, California State University, Fullerton, 2011
Bachelor of Computer Engineering, Software Engineering, Islamic Azad University, 2004
Academic experience:
Instructor, California State University, Fullerton, 2011 Present

187

Name: Chang-Hyun Jo
Education:
Ph.D. in Computer Science (May 1991), Oklahoma State University, USA
M.S. in Computer Science (July 1988), Oklahoma State University, USA
B.Economics in Statistics (Feb. 1984), SungKyunKwan University, Seoul, Korea
Academic experience:
August 2002 Present, Professor (Tenured), Department of Computer Science, California State
University at Fullerton, USA
Oct. 1998 July 2002, Associate Professor (Tenured), Department of Computer Science,
University of North Dakota, USA
Sept. 1991 Aug. 1998, Associate Professor (Equivalent to Tenure), Computer Science
Department, Kyonggi University, Korea
Certifications
Certified Scrum Master
SEI Certified CMMI Instructor
SEI Certificate in CMMI
SEI ATAM Evaluator Certificate
SEI Software Architecture Professional Certificate
IEEE Computer Society Education Board (IEEE-Certified Software Development
Professional (CSDP), SWEBOK)

Current Membership in Professional Organizations


Member of ACM, IEEE Computer Society

Honors and Awards


A Research on the Framework and Programming Environment for On-Demand Software,
Electronic and Telecommunications Research Institute (ETRI), Korea, $25,000, May 1,
2004 - November 30, 2004.
A Research on the Programming Environment for the Evergreen Technique and Software
on Demand, ETRI, Korea, $26,000, June 2005 November 2005. (Renewed project)
A Research on the Programming Environment for the Evergreen Technique and Software
on Demand, ETRI, Korea, $30,000, July 2006 November 2006. (Renewed project)

188

Services
Programming Language Track Chair of ACM Symposium on Applied Computing (ACM
SAC) (1998 - 2008)
Editor of ACM Applied Computing Review (1997-Present)
Asia Membership Liaison of ACM SIGAPP (1996-1998)
Secretary of ACM SIGAPP (2005-2007)
ITU-T SG10 Korean Delegate (1992-1998: Involved in International Standardization for
CHILL)
Editor of Korea Information Processing Society (1996-1998)
Co-organizer of Special Interest Group on Object-Oriented Technology in Korea (19971998)
Publications
Chang-Hyun Jo (2013, February). Can Agile Processes Make Your Life Agile?. Invited
Presentation presented at The 23rd KSEA South Western Regional Conference, Carlsbad,
CA. Korean-American Scientists and Engineers Association (KSEA)
Jo, Chang-Hyun, Won-Young Kim, Jeong-Min Shim, and Wan Choi. Agent-based
Framework for Software On-Demand. Proceedings of the IEEE 7th International
Conference on Advanced Communication Technology, Phoenix Park, Korea, (Vol.2),
730-735, Feb. 21-23., 2005. (IEEE Catalog # 05EX1046) (ISBN: 89-5519-123-5)
Park, Seungjin, Seong-Moo Yoo, M. Al-Shurman, B. V. Voost, Chang-Hyun Jo, ARM:
Anticipated Route Maintenance Scheme in Location-Aided Mobile Ad Hoc Networks,
Journal of Communications and Networks, Vol.7, No.3, 325-336, September 2005.
Jo, Chang-Hyun and Einhorn, Jeffery M., A BDI Agent-Based Software Process,
Journal of Object Technology (JOT), Vol.4, No.9, 101-121, November December 2005.
(available at http://www.jot.fm/issues/issue_2005_11/article3)
Jo, Chang-Hyun, Guobin Chen and James Choi, A Framework for BDI Agent-Based
Software Engineering, Studia Informatica Universalis (International Journal), Vol.3,
No.3, Editions SUGER, 15 rue Catulienne, F-93200 Saint-Denis, France,
http://csmc.ephe.sorbonne.fr:8081/Studia, http://studia-informatica.org, 41 rue G. Lussac,
75005 Paris, France, (ISBN 2-912590-30-2), (ISSN 1621-7545), 285-314, 2004 (2005).
Jeong-Min Shim, Won-Young Kim, Wan Choi and Chang-Hyun Jo. Agent-Based
Framework for the Software On-Demand Service. Information: An International Journal,
International Information Institute, Tokyo, Japan, Vol.8, No.5, 725-738, 2005. (ISSN
1343-4500)
Professional Development Activities
Technical Conferences

189

Name: Kenneth Kung


Education:
Year
1984
1978
1978

Degree
PhD
MS
BS

Area
Computer Science
Computer Science
Electrical Engineering

University
UCLA
UCLA
UCLA

Academic experience:
Instructor at California State University, Fullerton, CA, 86- present
Adjunct Professor at Northrop University, Inglewood, CA, 82-86
Industry Liaison to Harvey Mudd College, California State University, Fullerton, and
Stanford
Non-academic experience:
2010 Present, Senior Principal Engineering Fellow, Raytheon Company
2003 2010, Principal Engineering Fellow, Raytheon Company
2002 2003, Zumwalt (DDG-100) Total Shipboard Computing Environment
Infrastructure Network Element and Infrastructure Security Element Lead
1999 2002, Engineering Fellow, Command, Control, Communication, and Intelligence
Systems (C3IS) Business, Raytheon Company
1997 1999, Sr. Principal Scientist, System Analysis and Algorithm, Raytheon Systems
Company
1994 1996, Sr. Scientist, Trusted Systems Engineering, Hughes Information Systems
1989 1994, Scientist and Manager, System Design Department, Hughes Command
and Control Systems Division
1987 1989, Supervisor, System Security Engineering, Hughes Command and Control
Systems Division
1985 1987, Systems Engineer, System Security Engineering, Hughes Command and
Control Systems Division
1984 1985, Member of Technical Staff, The Aerospace Corporation
Current Membership in Professional Organizations
IEEE, ACM, Computer Security Institute, American Society for Testing and Material,
Computer-based Patient Record Institute, Tau Beta Pi, Phi Beta Kappa, Phi Eta Sigma
Honors and Awards
Special Service Recognition Award from Network Centric Systems Engineering Vice
President, 2008.
190

Best Knowledge Sharing Award for Systems Engineering Technology Network, 2004.
Publications
One Decade of Wide Area Augmentation System Lessons - How Would We Have Done
It Differently, If Given Another Chance, Stanford Symposium on Position, Navigation,
and Timing, 2011.

National Command Center Cyber Security, Gulf Cooperation Council, 2011.

Raytheons Environmental Solutions, Technologies for Monitoring and Preserving our


Environment, Raytheon Technology Today, Issue 2, 2011.

Raytheon and the Environment -Technologies to understand, monitor and preserve,


Issue Editor, Raytheon Technology Today, 2011.

Raytheons Integrated Energy Solutions - Applying technologies critical to national


security, Contributing Issue Editor, Raytheon Technology Today, 2011.

Information Systems Security Engineering, Raytheon Information Systems and


Computing Symposium, 2009.

Governance of Applying Architecture in Mission Systems Integration, Raytheon


Processing and Software Engineering Symposium, 2008.

Professional Development Activities


Technical Conferences

191

Name: Peter Lo
Education:
Ph.D., Computer Science, University of California, Irvine, 1991
M.S., Computer Science, University of California, Irvine, 1989
B.S., Computer Science, Tianjing Technical College, China, 1986
Academic experience:
Instructor, California State University, Fullerton, 2002 Present
Non-academic experience:
Principle Staff Engineer, Printrak A Motorola Company, 2000 Present
Senior Engineering Specialist, Printrak International Inc., 1995 2000
Engineering Specialist, Printrak International Inc., 1993 1995

192

Name: Michael Marcinkevicz


Education:
B.S., Computer Science, California State University, Fullerton
Academic experience:
Instructor, California State University, Fullerton, 2003
Non-academic experience:
Director, IT Auxiliary Services, California State University, Fullerton, 2012 Present
Technical Staff Member, IT Division, California State University, Fullerton, 2000 2012

193

Name: Steve May


Education:
Bachelors Degree in Mechanical Engineering, California State University, Fullerton, 1990
Masters Degree in Computer Science, California State University, Fullerton, 2001
Academic experience:
Instructor, California State University, Fullerton, 2013 Present
Non-academic experience:
Owner, iSystems Integrator, 04/2012 Present
Special Programs Integrator, AWP-2P, Hawthorne, CA, 07/2008 Present
Acting Deputy Regional Administrator, AWP-2, 02/2012 - 03/2012
Acting Deputy Airports Division Manager, AWP-601, 01/2010 - 04/2010
Manager, Compliance Integration Services 02/2007 - 07/2008
ATMP Program Manager
06/2002 - 01/2007
NAS Plan Program Manager
07/2000 - 06/2002
Lead Project Engineer
09/1998 - 07/2000
Systems Engineer
08/1997 - 09/1998
Environmental Engineer
06/1993 - 08/1997
Certifications
Certified Project Management Professional (PMP)

Certified Earned Value Professional (EVP)

California Certified Engineer-In-Training (EIT) license number XE084301

California Registered Professional Engineer (Candidate)

194

Name: William McCarthy


Education:
Java University: Preparing for the Java Cert. Exams JAVAONE, ORACLE San
Francisco, CA Oct, 2012
CHEPREO Adv. E&M, Cosmic Ray Detect, Python FIU, (4 weeks), Miami, FL,
Summer, 2009
CHEPREO Mechanics, Modern Physics, FIU, (4 weeks), Miami, FL, Summer, 2008
ISIS/Draw programming, MDL Information Sys. (1 week), Sunnyvale, CA, 1997
Advanced Windows Programming (C++), Microsoft Univ. (1 week), Redmond, WA,
1995
Intro to Windows Programming (C++), Microsoft Univ. (1 week), Boston, MA, 1994
Post-doc fellowship, Neuroscience, Genetics (C++), Univ. of Colorado Health Sci
Ctr.,Denver, CO, 1987
PhD, Neuroscience (C/C++), Northwestern Univ., Evanston, IL, 1987
MS, Metallurgical Eng., UIUC, Urbana, IL, 1980
BA, Physics, Carleton College, Northfield, MN, 1978
Academic experience:
Instructor, California State University, Fullerton, 2013 Present
AP Comp Science Instructor, Anaheim, CA Jan-June, August, 2012 to present
Non-academic experience:
Python developer, Beijing, China 2009-2011
US/UK/Australia University Consultant, Beijing, China or LA/Miami-->Beijing
(Internet)2005-present
Hialeah Gardens Middle School, Miami area, public middle school 2009-2010
Miami Central Sr. High School, Miami, FL, public high school 2007-2009
Western Academy of Beijing, Beijing, China, IB private international high/middle/elem
school 2006-2007
International School of Beijing, Beijing, China, IB private intl high/middle/elem school
2005-2006

195

Name: Mariko Molodowitch


Education:
Ph.D. in Information and Computer Science, University Of California, Irvine,
December, 1990
M.S. in Information and Computer Science, University Of California, Irvine, June, 1988
B.A. in Physics, Harvard University, June, 1969
Academic experience:
Associate Professor, California State University, Fullerton, 1996 Present
Assistant Professor, California State University, Fullerton, 1990 1996
Department (2009 - 2012)
Acting Chair, Computer Science (1998 - 1999)
Vice Chair, Computer Science Department (1995 1998, 2006 2009). Part-time
Undergraduate Curriculum Coordinator (Various periods from 1999 on)

Non-academic experience:
Certifications
Current Membership in Professional Organizations
Association for Computing Machinery
ACM Special Interest Group on Automata and Computability Theory
ACM Special Interest Group on Computer Science Education
Honors and Awards
College of Engineering and Computer Science Faculty Marshall, May, 2013
CSUF Outstanding Teaching Innovations with Electronic Technology, 1999
CSUF Outstanding Service Recognition Award, 1997
Services
Chair, Computer Science Department, 2009 2012
Acting Chair, Computer Science (1998 - 1999)
Vice Chair, Computer Science Department (1995 1998, 2006 2009)
Undergraduate Curriculum Coordinator (Various periods from 1999 on)

196

Name: Lidia Morrison


Education:
Doctor in Computer Science, Colorado Technical University, 2012
B.S. in Computer Science, California State University, Fullerton, 2002
Academic experience:
Instructor, California State University, Fullerton, 2013 Present
Non-academic experience:
Northrop Grumman Corporation, 2008 Present
The Boeing Company, Integrated Defense Systems, 2002 2008
Raytheon, Fullerton, California , November 2001 May 2002
Elite Marketing, Laguna Hills, California, January 1998 August 2001
Certifications
Project Management Certificate, California Technical University, Pasadena, CA, 2012
Honors and Awards
Boeing, Amelia Earhart Society, November 14, 2005, received First Place Award for
Woman of High Potential. This award is presented to an engineer who remains on a
path to attain career goals through professional standards of integrity, teamwork, and
consistent high performance.
Northrop Grumman, April 2009, received a Tap Award for a designing and creating a
software tool that provided both cost and schedule savings.
Northrop Grumman, December 21, 2011, received a Tap Award. Lidia Morrison
has implemented three TCB (trusted computing based) tools to support External
Communication (XCOM) software to help establish an approach for security
certification needed by all the TCB system objects.

197

Name: Mark Murphy


Education:
Bachelors Degree in Mechanical Engineering, California State University, Fullerton, 1986
Master Degree in Mechanical Engineering, California State University, Fullerton, 1992
Academic experience:
Instructor, California State University, Fullerton, 1990

198

Name: Nathan B. Niyomtham


Education:
M.S., Computer Science, California State University, Fullerton, 2002
B.S., Business English, Assumption University, Bangkok, Thailand, 1995
Academic experience:
Instructor, California State University, Fullerton, 2000 Present
Non-academic experience:
Senior Software Engineer, ORBAN/CRL, 2002 Present

199

Name: Nathan Reed


Education:
California State University, Fullerton, California
M.S. in Computer Science, 2013
University of California Extension, Riverside, California
Teaching Credential, Adult Education
University of California, Riverside, California
B.S. in Computer Science, 1985
Academic experience:
Instructor, California State University, Fullerton, 2013
Non-academic experience:
Programmer/Analyst III/Manager of Records , University of California, Irvine (2004
present)
Computer Technology Instructor, Adult Education, Tustin Unified School District, Tustin
(2004 2009)
Programmer (Contract), DRI Management, Costa Mesa (2003)
Computer Instructor, Calvary Chapel Yorba Linda, Yorba Linda (2003 2004)
Systems Analyst/Team Leader, Primal Systems, Inc., Irvine (1994-2002)
Systems Analyst/Programmer, Pactel Cellular, Irvine (1991 1993)
Systems Analyst, Logicon, San Pedro (1988 1991)
Programmer, Dyncorp, Norco (1986 1988)

200

Name: Christopher T. Ryu


Education:
Ph.D., Computer Science, University of Houston, 1998
B.S., Computer Science, Inha University, Korea, 1986
Academic experience:
Professor, Department of Computer Science, California State University, Fullerton, 2010
present.
Associate Professor, Department of Computer Science, California State University,
Fullerton, 2005 2009.
Assistant Professor, Department of Computer Science, California State University,
Fullerton, August 1999 2004.
Non-academic experience:
Software engineer, participated in an oil and gas utility management system, EDS and Volts
Group, Houston, TX, 1997 ~ 1999.
Honors and Awards
Outstanding teacher and scholar award; California State University, Fullerton, 2007
T.W. Ryu; A Web-based Telecommunications Link and Orbital Analysis, Simulation,
and Operation; $200,863; NASA-Jet Propulsion Laboratory; since 2002 ~ 2009
T.W. Ryu (co-PI) with M. Tolmasky, K. Kantardjeff, A. Cohen, D. Eernisse;
Decontamination of affected areas after a bio-terrorist attack; $24,000; University
Mission & Goals; 2003.
T.W. Ryu (Consultant) with Joyce K. Ono, Judith Kandel, Merri Lynn Casem, and
William J. Hoese; Development of Faculty Collaboratives to Assess Achievement of
Student Learning Outcomes in Critical Thinking in Biology Core Courses; $444,005;
NSF; 6/1/2002 ~ 5/31/2005.
Services
Program committee for RFD database conference, 2012
Reviewer of Biomedcentral, 2012
Reviewer of IEEE man, cybernetics, 2012
An editor of ICCC journal since 2009
Reviewer for the IEEE transactions on Education, 2010

201

Publications

Chan J.S. and Ryu C. (2013, October): A Monte Carlo-based Approach to Improve
Classification Accuracy Presentation and publication in the proceeding, International
Conference on Smart Media and Applications, Kota Kinabalu, Malaysia.
Padideh Danaee and Christopher T Ryu (2013, June): Regression Analysis by Incorporating
Sector Dynamics for Financial Time Series Data Referred paper and presentation, The 2013
International Conference on Data Mining, Las Vegas, Nevada.
H. Kimm, N. Sherpa, C. Ryu, Implementation of a Multi-level Secure Database on Security
Enhanced Linux: SELinux PostgreSQL,, International Workshop on Information Security
Applications, Jeju, Korea, 2012.
Y. Park, D. Seo, J. Yun, C. Ryu, J. Kim, J. Yoo, An Efficient data-centric storage method using
time parameter for sensor networks, Information Sciences 18, p. 4806-4817, Elsevier, 2010.
C. Ryu, Y. Park, D. Seo, J. Yun, J. Yoo, Distributed Broadcast Scheme using Wireless Sensor
Networks in Road Network Environments, ICCC 2010, Seoul, 2010.
C. Ryu, Benchmarking of BioPerl, Perl, BioJava, Java, BioPython, and Python for Primitive
Bioinformatics Tasks and Choosing a Suitable Language, International Journal of Contents,
Vol.5, No. 2, pp. 6-15, 2009.
C. Ryu, J.S. Yoo, and M. Bickel, An Efficient Clustering Algorithm based on Sorting and Binary
Splitting, in the Proc. of the International Conference on Data Mining, 2009, Las Vegas.
B. Covington and C. Ryu, Financial Time-Series Forecasting Using Multiple Regression
Supported by Sector Dynamics and Moving Average Smoothing, in the Proc. of the International
Conference on Data Mining, 2008, Las Vegas.
F. Rafati-Chamachar, and T.W. Ryu, A Distributed Blackboard Real-time DBMS, in the Proc. of
the International Conference on Knowledge Engineering, 2008.

Professional Development Activities


Technical Conferences

202

Name: Sara Safari


Education:
University of California, Los Angeles, Master of Science, Electrical Engineering, 2007
University of California, Los Angeles, Bachelor of Science, Electrical Engineering, 2005
Academic experience:
Instructor, California State University, Fullerton, 2013 Present
Teacher, SCIT Anaheim CA, 2013 Present
Non-academic experience:
System Engineer, Algorithm Group, Raytheon, Network Centric Systems, July 2009
May 2010
Math Tutor, Irvine, CA, 2007 2012
Test Engineer, Power Management Group, Broadcom, Irvine, CA, 2007 2008
Current Membership in Professional Organizations
Member of SWE (Society of Women Engineers)
Member of IEEE (institute of Electrical and Electronic Engineers
Physics and Chemistry Tutor for The Academic Advantage

203

Name: Michael Shafae


Education:
Ph.D.
2007
M.S.

2002

B.S.

1999

B.A.

1999

Information & Computer Science


University of California, Irvine
Information & Computer Science
University of California, Irvine
Computer Science
University of California, Santa Cruz
Politics
University of California, Santa Cruz

Academic experience:
2013present
Associate Professor
School of Engineering and Computer Science
California State University, Fullerton
20072013
Assistant Professor
School of Engineering and Computer Science
California State University, Fullerton
2006
Lecturer
School of Information and Computer Science, U.C. Irvine
Non-academic experience:
2007
UC IrvineNetwork & Academic Computing
Contractor
2007
Banzai Research, Inc., Irvine, CA
Contractor
Summer 2000
Sun Labs, Mountain View, CA
Intern
19981999
Sun Microsystems, Inc., Mountain View, CA
Software Engineer
Summer 1998
Sun Microsystems, Inc., Mountain View, CA
Intern
Summer 1997
Sun Microsystems, Inc., Mountain View, CA
Intern
Current Membership in Professional Organizations
Association for Computing Machinery, ACM SIGGRAPH, IEEE OC Game SIG
Honors and Awards
2011
EPOCHS Phase II Grant
2010
EPOCHS Phase I Grant
2010
Accessible Technology Initiative Grant
2009
Intramural Jr./Sr. Research Grant
204

Services
20142015
Associate Vice President For Business & Administration Services
Search Committee, CSU Fullerton
20142015
Interim Report Steering Committee for the Western Association of
Schools and Colleges, CSU Fullerton
2014
External Reviewer, Facilitating Research and Creative Activities
program, SF State University
20132014
Computer Science Faculty Search Committee Chair
20132014
IEEE OC Computer Game Showcase Conference Chair
20122014
External Member, Institute for Virtual Environments & Computer
Games, UC Irvine
20122014
CSUF Academic Technology Center, ECS Representative
20122014
Planning, Resource, & Budget Committee, Academic Senate, CSU
Fullerton
20102014
CSU Fullerton Web Presence Committee
20082012
Undergraduate Curriculum Committee, Academic Senate, CSU
Fullerton
20072014
Faculty Advisor, CSU Fullerton Video Game Design Club
20072014
Instructional Resource Committee, Department of Computer Science,
CSU Fullerton
20072012
Commencement Committee, Department of Computer Science, CSU
Fullerton
20092011
Information Technology Committee, Academic Senate, CSU Fullerton
20072010
Library Committee, Department of Computer Science, CSU Fullerton
20092010
Undergraduate Curriculum Committee, Department of Computer
Science, CSU Fullerton
2009
ICCEIS 2009 Computing/Engineering Applications Session Chair
Publications
Florian Zitzelsberger, Michael Shafae, Markerless Performance Capture of Hand Gestures,
ISAST Transactions on Computers and Intelligent Systems, Volume 4, No. 1 (2012) 1-6
Ashish Patel, Michael Shafae, A Cake Cutting Approach to Rezoning School Districts, ISAST
Transactions on Computers and Intelligent Systems, Volume 4, No. 1 (2012) 33-41
Michael Shafae, Murtaza Virji, xtine burrough, Your Neighbors' Biz: Measuring Trust
Relationships in Online Cottage Industries, ISAST Transactions on Computers and Intelligent
Systems, Volume 2, No. 2 (2010) 77-86
Thomas Joy, Michael Shafae, An Application of Motion Control and Motion Planning, In
Proceedings of International Conference of Computing in Engineering, Science and Information,
2009, Fullerton, CA.
Professional Development Activities
Technical Conferences

205

Name: Eric Shulman


Education:
MSCS, May 1995, Loyola Marymount University, Los Angeles, California (GPA 3.51 out of 4.0)
BSEE, June 1970, Northrop Institute of Technology, Inglewood, California

Academic experience:
California State University, Fullerton, (2013 Present)
Cypress Junior College (Jan 2007 Present)
Fullerton Junior College (Aug 1997 Dec 2003)
N. Orange County Community College District 1988-1990

Non-academic experience:
1989 Present, USAF Space & Missile System Center (SMC) - Senior Systems/Software
(SW) Engineer
1988 1989, Active Memory Technology, Senior Systems Programmer
1985 1988, Resdel Engineering Corp, Staff Engineer
Certifications
Calif. Basic Educational Skills Test (CBEST) - March 1988
California Lifetime Community Colleges Instr. Credential, No. 337792 (1 12 SHU 0001)

Honors and Awards


Notable Achievement Award, 29 Dec 1999 Automated method of re-engineering legacy
code
Certificate of Merit from HQ AFMC (General Babbitt), 4 April 2000 Project Officer for
Y2K effort of LAAFB

206

Name: Leon Smith


Education:
M.S., Computer Science, California State University, Fullerton, 2013
B.S., Social Science, California State Polytechnic University, San Luis Obispo, 2006
Academic experience:
Instructor, California State University, Fullerton, 2014 Present
Non-academic experience:
CBS Interactive, Los Angeles, Software Engineer, 05/2012 Present
NASA Deep Space Network ITT, Monrovia, CA, Software Engineer, 2009 05/2012

207

Name: Yun Tian


Education:
Ph.D., Computer Science & Software Engineering, Auburn University, Auburn, AL, May 2013
M.S.E., Software Engineering, Auburn University, Auburn, AL, May 2011
B.S., Computer Science and Technology, Northwest University, Xian, China, June 2006
Academic experience:
Assistant Professor, Department of Computer Science, California State University, Fullerton,
Aug. 2013 Present
Non-academic experience:
Intern, Business Intelligence Department, Alfa Insurance Company, May 2009
Certifications
Prepare Future Faculty Program, Biggio Center, Auburn University, Aug.2010-May 2011
Senior System Manager, National Security Agency, USA, Dec. 2010
Certificate of Achievement Women in Computing, Society of Women in Computing,
Auburn University, Spring 2011
Certificate of Recognition, R.E.A.L Leadership-Sunshine International Camp,
Birmingham, Alabama, Mar. 2009
Honors and Awards
Graduate Travel Scholarship Award from Auburn University, 2009
Excellent Graduation Thesis Award, Northwest University, Jun. 2006
First Class Excellent Student Scholarship, Northwest University, 02-03, 03-04 & 04-05
First Prize Award of China Undergraduate Mathematical Contest in Modeling (CUMCM)
in Shaanxi Province sponsored by China Society of Industrial and Applied Mathematics
(CSIAM) and Education Ministry of China, 2003 and 2004 respectively
Services
Journal Editor, JSM Computer Science & Engineering
Conference Program Committee
The Third ASE International Conference on Big Data Science and Computing, 2014
The 6th International Symposium on CyberSpace Safety and Security (CSS 2014)
Journal Reviewer
IEEE Transactions on Cloud Computing
IEEE Transactions on Parallel and Distributed Systems (TPDS)
Journal of Parallel and Distributed Computing (JPDC)
Conference Reviewer
2014 the 10th International Conference on Intelligent Computing
2012 IEEE International Conference on Networking, Architecture, and Storage
Within CSUF
The departmental Undergraduate Committee, a member of the Commencement
Committee, one of the faculty advisors for the cybersecurity club, and as a member of the
Faculty Search Committee, 2013-2014
Serving as a board member to develop a new non-credit certificate program in Data
Science in the University Extended Education since fall 2013.

208

Participate in the (STEM)2 Summer Research Experience Program and supervising four
students from Citrus College, summer 2014.
Mentoring and supervising two students from Troy Tech High School for the Troy Tech
Internship Program, summer 2014.
Publications
Y-F. Jia, Y-J. Li, P-B. Fu, and Y. Tian, Nearest Feature Line and Point Embedding for
Hyperspectral Image Classification, the IEEE Geoscience and Remote Sensing Letters,
2014(in second round review)
Hashemi, Y. Tian, Y.-F. Jia, Transitioning from Management to Engineering, the Sixth
ASE International Conference on Social Computing, Stanford, CA, May 27-31 2014.
Y. Tian, M. I. Alghamdi, X.-J. Ruan, J. Xie, and X. Qin, Towards A Secure Fragment
Allocation Of Files In Heterogeneous Distributed Systems, Scalable Computing and
Communications: Theory and Practice, Chapter 16, Wiley-IEEE Computer Society Press,
Jan. 2013
X.-J. Ruan, M. I., Alghamdi, Z.-L. Zong, Y. Tian, X.-F. Jiang, and X. Qin Improving
Write Performance by Enhancing Internal Parallelism of Solid State Drives, 31st IEEE
International Performance Computing and Communications Conference, Dec. 2012
J. Zhang, M. I. Alghamdi, X.-F. Jiang, M. Assaf, Y. Tian, and X. Qin ORCA: An
Offloading Framework for I/O-Intensive Applications on Clusters, 31st IEEE
International Performance Computing and Communications Conference, Dec. 2012
S. Yin, Y. Tian, J. Xie, X. Qin, X.-J. Ruan, M. I. Alghamdi, and M. Qiu, Reliability
Analysis for an Energy-Aware RAID System, Proc. the 30th IEEE International
Performance Computing and Communications Conference (IPCCC), Nov. 2011
Y. Tian, M.-I. Alghamdi, J. Xie, S. Yin, J. Zhang, M.-K. Qiu, Y.-M. Yang, X. Qin, A
Secure File Allocation Algorithm for Heterogeneous Distributed Systems, International
Conference on Parallel Processing Workshops, Security in Cloud Computing(ICPPCloudSec ), Sep. 2011
Y. Tian, M. I. Alghamdi, Y. Shu, J. Xie, J. Zhang, M. Qiu, Y.-M. Yang, X. Qin, Secure
Fragment Allocation in a Distributed Storage System with Heterogeneous
Vulnerabilities, Proc. the 6th IEEE International Conference on Networking,
Architecture, and Storage (NAS), July 2011
A. Manzanares, X.-J. Ruan, S. Yin, J. Xie, Z. CY. Ding, Y. Tian, J. Majors, and X. Qin,
Energy Efficient Prefetching with Buffer Disks for Cluster File Systems, Proc. 39th Intl
Conf. on Parallel Processing (ICPP), San Diego, CA, Sept. 2010
J. Xie, S. Yin, X.-J. Ruan, Z.-Y. Ding, Y. Tian, J. Majors, and X. Qin, Improving
MapReduce Performance via Data Placement in Heterogeneous Hadoop Clusters, Proc.
19th Intl Heterogeneity in Computing Workshop (HCW), Atlanta, Georgia, Apr. 2010
Professional Development Activities
EDUCAUSE Annual Conference, Anaheim CA, Sep.29 2013
The 7th Symposium on Curriculum Development in Security and Information Assurance
(CDSIA 2014), San Jose, CA, April 25 2014
2014 ASE BIGDATA/SOCIALCOM/CYBERSECURITY Conference, Stanford
University, May 27-31, 2014
Funding My Research Workshop, CSUF, October 25th , 2013.
NSF visiting for future proposal writing, Arlington VA, April 2014

209

Name: Vincent Turner


Education:
M.S., Computer Accounting, California Polytechnic University, Pomona, 1987
B.A., Political Science, Stanford University, 1975
Academic experience:
Instructor, California State University, Fullerton, 2001 Present
Lecturer, California Polytechnic University, Pomona, January 1999 Present
Lecturer, University of California, Riverside, September 2006 September 2010
Non-academic experience:
Founder, Claremont 5 Second Film Festival, January 2009 Present
Consultant, Vicenti Lloyd Stutzman LLP, 2007 2011
Auditor, vavrinek trine day, 1994 1997

210

Name: Shawn X. Wang


Education:
Ph.D., Computer and Information Science, New Jersey Institute of Technology, 2000
M.S., Computer Science, Fudan University, China, 1989
B.S., Mathematics, Xiamen University, China, 1982
Academic experience:
Professor, California State University Fullerton, 2011 Present
Associate Professor, California State University Fullerton, 2005 2011
Assistant Professor, California State University Fullerton, 2000-2005
Special Lecturer, New Jersey Institute of Technology, 1999-2000
Lecturer, Fudan University, China, Department of Computer Science, 1989-1995
Academic Advisor and Instructor, Fudan University, China, 1987-1989
Mathematics Instructor, Liaoning Technical University, China, 1982-1985
Current Membership in Professional Organizations
ACM, ACM SIGMOD, IEEE Computer Society
Honors and Awards
Certificate for Contribution to Globalization, June 2011
Outstanding Faculty Recognition, April 2010
Outstanding Faculty Recognition, April 2008
Outstanding Service to the University, 2005 - 2006
Early promotion to Associate Professor in June 2005
Outstanding Faculty Adviser of 2003-2004
Services
Expert reviewer for the Georgia National Science Foundation, 2008 Present
Panelist for NSF Grant Merit Review Panels, 2008 and 2013
Program committee member for the following conferences:
The IEEE International Conference on Trust, Security and Privacy in Computing and
Communications (2012, 2013, and 2014)
The IEEE International Conference on Computer and Information Technology (2005
2013)
The 4th International Conference on Complex, Intelligent and Software Intensive Systems
Frequent reviewer for the following journals:
Bioinformatics, by Oxford University Press
Information Systems, by Elsevier Science
Knowledge and Information Systems, by Springer-Verlag
Information Sciences, by Elsevier Science
211

IEEE Transactions on Knowledge and Data Engineering, by IEEE Computer Society


IEEE Intelligent Systems, by IEEE Computer Society
International Journal of Computational Bioscience, by ACTA Press/IASTED.
International Journal of Computational Science and Engineering, by Inderscience
Publishers
International Journal of Data Mining and Bioinformatics, by Inderscience Publishers

Service at Cal State Fullerton:


Chair, Department of Computer Science, 2012 Present
Academic Senate General Committee: Faculty Research Committee, Fall 2011 2013
Vice Chair, Department of Computer Science, 2009 2012
Academic Senate General Committee: Professional Leave Committee, Fall 2008 - 2011
Academic Senate Standing Committee: Graduate Education Committee, Fall 2007 - 2011
Department Executive Committee, 2006 - 2007
Department Personnel Committee, 2006 - 2007
President's Scholar Screening Committee, 2004 - present
Publications
Padideh Danaee, Kevin Wortman, and Shawn Wang, Pseudoknotted RNA Seconary
Structure Detection Using an Artificial Neural Network, International Symposium on
Bioinformatics Research and Applications, May 2013, North Carolina, USA.
Shawn Wang, Susamma Barua, Kunal Desai, and Swaroop Deshmukh, GeoTNavi - smart
navigation using geo-temporal traffic information, International Journal of Data Mining,
Modelling and Management, Vol.5, No.1, pp. 20-36, 2013.
Junilda Spirollari, Shawn Wang, and Jason T.L. Wang, Using folding ensemble and stem
probability maximization to predict H-type pseudoknots, Tsinghua Science and
Technology, Vol.17 No. 6, pp. 691-700, 2012.
Junilda Spirollari, Jason T.L. Wang, and Shawn Wang, A New Approach to RNA
Pseudoknot Prediction, The 4th International Conference on Bioinformatics and
Computational Biology, March 2012, Las Vegas, Nevada, USA.
Syed Raza Ali Rizvi and Shawn Wang, Using semantic and structural similarities for
indexing and searching scientific papers, The Proc. of 10th 2011 IEEE International
Conference on Computer Science and Automation Engineering, June 2011, Shanghai.
Syed Raza Ali Rizvi and Shawn Wang, DT-Tree: A Semantic Representation of
Scientific Papers, The Proc. of 10th IEEE International Conference on Computer and
Information Technology, June 2010, Bradford, UK.
Xiong Wang, ER modelling - a zoom in and zoom out approach, International Journal of
Data Mining, Modelling and Management, Vol. 1, No.4 pp. 357 - 374, 2009.
Professional Development Activities
Technical Conferences
212

Name: Kevin Wortman


Education:
Ph.D., Information and Computer Science, University of California, Irvine, 2009
M.S., Information and Computer Science, University of California, Irvine, 2004
B.S., Computer Science, Mathematics, University of Massachusetts, Amherst, 2002
Academic experience:
Assistant Professor, Department of Computer Science, CSU Fullerton, September 2009 to
present
Non-academic experience:
Engineering Co-Op, Unisys, Mission Viejo, California, July 2008 to August 2009
Engineering Intern, Google, Mountain View, California, June to August 2005; January
2006 to August 2007
Intern, Tektronix, Chelmsford, Massachusetts, summers of 1997, 1998, and 1999
Publications
Current Membership in Professional Organizations
Association of Computing Machinery (ACM)
Honors and Awards
Carol Barnes Excellence in Teaching Award Nominee, February 2011
Faculty Recognition: Scholarly & Creative Activity, Scholarship that results in the
highest quality, peer reviewed journal articles, CSU Fullerton, April 2010
Best Paper Award, Algorithms and Data Structures Symposium (WADS) 2009, for
Optimal embedding into star metrics; Sponsored by Springer Verlag
Services
Reviewer, IEEE Transactions on Education, Open Data Structures (textbook)
External Reviewer, ISAAC 2008, J. Algorithms, ACM TALG
Judge, on-campus selection for the CSU System-wide Research Competition, Spring
Promoting Undergraduate Research Experiences Committee (PURE), Spring 2011to
present
SafeSpace Ally, CSU Fullerton Multicultural Leadership Center, 2009 present
Department Service
AY 2012-2013: ACM Club Advisor; Executive Committee; Undergraduate Committee
AY 2011-2012: ACM Club Advisor; Chair, Chair Election Committee; Undergraduate
Committee
AY 2010-2011: Executive and Undergraduate Committees
AY 2009-2010: Undergraduate Committee
213

Publications

P. Danaee, K. A. Wortman, and S. X Wang, Pseudoknotted RNA Seconary Structure


Detection Using an Artificial Neural Network, International Symposium on
Bioinformatics Research and Applications, May 2013, North Carolina, USA.
J. Augustine, D. Eppstein and K. A. Wortman, Approximate Weighted Farthest
Neighbors and Minimum Dilation Stars, Discrete Mathematics, Algorithms and
Applications (DMAA), v. 2, i. 4, pp. 553-565, DOI: 10.1142/S17938309100008872010,
2010. Preliminary version listed as C-2.
D. Eppstein and K. A.Wortman, Minimum Dilation Stars, Computational Geometry:
Theory and Applications, v. 37, i. 1, pp. 27-37, 2007. Preliminary version listed as C-5.
D. Eppstein and K. A.Wortman, Optimal Angular Resolution for Face-Symmetric
Drawings, J. Graph Algorithms and Applications (JGAA), 15(4):551-564, 2011.
J. M. White and K. A.Wortman, Divide-and-Conquer 3D Convex Hulls on the GPU, 24th
Canadian Conference on Computational Geometry (CCCG 2012), Prince Edward Island,
Canada, 2012, pp. 137-142.
J. Clay and K. A. Wortman, A Durable Flash Memory Search Tree, 3rd International
Conference on Computational Sustainability (CompSust12), Copenhagen, Denmark.
J. Augustine, D. Eppstein and K. A. Wortman, Approximate Weighted Farthest
Neighbors and Minimum Dilation Stars, 16th International Computing and
Combinatorics Conference (COCOON 2010), Nha Trang, Vietnam. Final version listed
as I-1.
M. Dickerson, D. Eppstein and K. A.Wortman, Dilation, Smoothed Distance, and
Minimization Diagrams of Convex Functions, 7th Int. Symp. Voronoi Diagrams in
Science and Engineering (ISVD 2010), Quebec City, Canada, pp. 13-22.
D. Eppstein and K.A. Wortman, Optimal embedding into star metrics, Algorithms and
Data Structures Symposium (WADS), Banff, Canada (best paper award). Lecture Notes
in Comp. Sci. 5664, 2009, pp. 290-301
D. Eppstein and K.A.Wortman, Minimum Dilation Stars, ACM Symposium on
Computational Geometry (SoCG), Pisa, Italy pp. 321-326, 2005. Final version listed as I2.

Professional Development Activities


Technical Conferences

214

Appendix C Equipment
Except the computing facilities there is no other significant equipment.

215

Appendix D Institutional Summary


Programs are requested to provide the following information.

1. The Institution
a. Name and address of the institution
California State University, Fullerton
800 North State College Boulevard
Fullerton, CA 92831

b. Name and title of the chief executive officer of the institution


Dr. Mildred Garcia, President
c. Name and title of the person submitting the Self-Study Report.
Dr. Raman Unnikrishnan, Dean, College of Engineering and Computer Science
d. Name the organizations by which the institution is now accredited, and the dates of the
initial and most recent accreditation evaluations.
Western Association of Schools and Colleges
985 Atlantic Avenue, Suite 100
Alameda, CA 94501
Phone: 510-748-9001
Email: wascsr@wascsenior.org
Internet: www.wascweb.org
Other accreditation and association recognition with initial and recent evaluation dates,
are included in the chart on the following page.

216

INVENTORY OF CONCURRENT ACCREDITATION AT CALIFORNIA STATE UNIVERSITY, FULLERTON


In addition to institutional accreditation, the following academic programs at CSUF are accredited by disciplinespecific accreditation agencies and associations

Initial
Accreditation

Most Recent
Accreditation

Next
Accreditation

College

Program

Degree

College Of Arts

Art

BA

National Association of Schools NASAD


of Art and Design

1974

2003

2014

College Of Arts

Art

BFA

National Association of Schools NASAD


of Art and Design

1994

2003

2014

College Of Arts

Art

MA

National Association of Schools NASAD


of Art and Design

1974

2003

2014

College Of Arts

Art

MFA

National Association of Schools NASAD


of Art and Design

1994

2003

2014

College Of Arts

Dance

BA

National Association of School


Of Dance

NASD

1993

2002

2014

College Of Arts

Music

BA

National Association of Schools NASM


of Music

1966

2002

2014

College Of Arts

Music

BM

National Association of Schools NASM


of Music

1975

2002

2014

College Of Arts

Music

MA

National Association of Schools NASM


of Music

1966

2002

2014

MM

National Association of Schools NASM


of Music

1975

2002

2014

College Of Arts

Music

Accrediting Agency

217

College Of Arts

Theater Arts

BA

National Association of
Schools of Theatre

NAST

1974

2005

2015

College Of Arts

Theatre Arts

BFA

National Association of
Schools of Theatre

NAST

2005

2005

2015

College Of Arts

Theatre Arts

MFA

National Association of
Schools of Theatre

NAST

1985

2005

2015

College Of
Business
and Economics
College Of
Business
and Economics
College Of
Business
and Economics
College Of
Business
and Economics
College Of
Business
and Economics
College Of
Communication

Accounting

MS

AACSB

1966

2014

2018

Business
Administration

BA

Association to Advance
Collegiate Schools of
Business
Association to Advance
Collegiate Schools of
Business

AACSB

1965

2014

2018

Association to Advance
Collegiate Schools of
Business

AACSB

1972

2014

2018

College Of
Communication

Communicative MA
Disorders

College Of
Communication

Communications

Business
MBA
Administration
International
Business

BA

Association to Advance
Collegiate Schools of
Business

AACSB

1984

2014

2018

Taxation

MS

Association to Advance
Collegiate Schools of
Business

AACSB

1996

2014

2018

Communicative
Disorders

BA

1969

2011

2018

1969

2011

2018

1971

2009

2015

BA

Council on
CAA
Academic
Accreditation in
di l on d
Council
CAA
Academic
Accreditation in
di l Council
d on ACEJMC
Accrediting
Education in Journalism and
Mass Communications

218

College Of
Communication

Communications

College Of
Education

Credentials

College Of
Education
College Of
Engineering and
Computer Science
College Of
Engineering and
Computer Science
College Of
Engineering and
Computer Science
College Of
Engineering and
Computer Science
College Of
Engineering and
Computer Science
College Of Health
and Human
Development

Education
(various
concentrations)

MA

MS

Accrediting Council on
Education in Journalism and
Mass Communications

ACEJMC

1971

2009

2015

National Council for


Accreditation of Teacher
Education

NCATE

1960

2007

2015

National Council for


Accreditation of
Teacher Education

NCATE

1970

2007

2015

Civil Engineering BS

ABET

ABET

1985

2009

2014

Computer
Engineering

BS

ABET

ABET

2007

2007

2014

Computer
Science

BS

ABET

ABET

1988

2009

2014

Electrical
Engineering

BS

ABET

ABET

1985

2009

2014

Mechanical
Engineering

BS

ABET

ABET

1985

2009

2014

Counseling

MS

Council For Accreditation


of Counseling and Related
Educational Programs
Council for Standards in
Human Services Education

CACREF

2007

2007

2015

CSHSE

1982

2010

2016

Commission on the
Accreditation of Athletic
Training Education

CAATE

2001

2006

2016

College Of Health Human Services BS


and Human
Development
College Of Health
Kinesiology
BS
and Human
(Athletic Training
Development
Program)

219

College Of Health
and Human
Development

Nursing

BS

College Of Health
and Human
Development

Nursing

DNP

College Of Health
and Human
Development

Nursing

MS

College Of Health
and Human
Development

Public Health

MPH

College Of Health
and Human
Development

Social Work

MSW

College Of
Humanities and
Social Sciences

Public
MPA
Administration

Commission on
Collegiate
Nursing Education
Commission on
Collegiate
Nursing Education
Commission on
Collegiate
Nursing Education
Council on Education for
Public Health
Council on Social
Work Education

CCNE

CCNE

2007

2011

2021

Initial visit 2013; Accreditation pending

CCNE

2002

2007

2017

CEPH

2008

2013

2020

CSWE

2011

2011

2015

1989

2011

2015

Network of Schools of
NASPAA
Public Policy, Affairs, and
Administration

College Of
Natural Sciences
and Mathematics

Chemistry

BS

American Chemical Society

ACS

1970

2004

2014

College Of
Natural Sciences
and Mathematics

Chemistry

BS

American Chemical Society

ACS

1970

2004

2014

220

2. Type of Control
The California State University, Fullerton is a public state university and is one of the 23
campuses of the California State University system.

3. Educational Unit
The College of Engineering and Computer Science is one of eight academic colleges
of the University. Engineering is offered only within this College within CSUF. The College
(which is headed by a Dean) consists of the departments of Civil & Environmental
Engineering, Electrical Engineering, Mechanical Engineering, and Computer Science; each
Department has its own Department Chair. Computer Engineering, Masters in Software
Engineering and Masters in Environmental Engineering programs are also part of the College
and are headed by their particular coordinators.

Engineering and Computer Science also houses CASECS (Center for Academic Support in
Engineering and Computer Science) whose primary focus is on students enrolled at CSUF.

The organizational Charts for the office of President, the Office of the Provost/Vice President
for Academic Affairs, and the College of ECS are given in the following pages. These
Organizational Charts describe the people and the roles they play. The charts for the
University and the Academic Affairs are simplified to create an easily readable document. In
reality, the charts are significantly more complex and are of limited relevance in the context of
this self-study.

Please see organizational charts attached.

221

Dr. Raman Unnikrishnan


Dean, ECS

Victor Delgado
Assistant Dean

Sergio Guerra
Director, CASECS

Dr. Susamma Barua


Associate Dean

Christina Hernandez
Academic Advisor
SSP II

Hart Roussel
Director of
Development

Kimberly Murphy
Development
Coordinator
ASC I

Laura Bazell
Admin Analyst

Angelic
Rubalcava
Special Projects
ASC I

TBD
ASC II

Sandy Norell
ASC II

Ivan Munguia
Admin Analyst

Elizabeth
Gomez
Graduation
Specialist
SSP III

Vannara Touch
Associate
Coordinator
Graduate &
International
Admissions SSP
I

Priscilla Powers
Coordinator
Graduate &
International
Admissions
SSP II

Vadim Chissek
Equipment
Tech.

Jonathan
Woodland
Equipment
Tech.

Civil &Environmental
Engineering
Dr. Uksun Kim, Chair
Jennifer Chang, ASC I
TBD, ASC I
Leroy Sanchez, Instructional
Support Tech.
Thao Nguyen, Information
Technology Consultant

Computer Engineering Dr.

Computer Science

Electrical Engineering Dr.

Susamma Barua, Coordinator


Sandy Norell, ASC II
Vadim Chissek, Equipment Tech.

Dr. Shawn Wang, Chair


Elizabeth Morales, ASC I
Sandra Boulanger, ASC I
Gary Chang, Operating System
Analyst
Hernan Manabat, Operating
System Analyst

David Cheng, Acting Chair


Nandranee C. Adhvaryu, ASC I
Jimmy Kung, Instructional Support
Tech.
Vadim Chissek, Equipment Tech.

Mechanical Engineering
Dr. Roberta Rikli, Acting Chair
Charlotte Morgutia, ASC I
TBD, ASC I
Donald Ray, Instructional Support
Tech.
Thao Nguyen, Information
Technology Consultant

223

University Division Heads


224

4. Academic Support Units

Academic Supporting Units, Names an Titles of the Individuals Responsible, and the
Courses Taught
Academic
Individuals
Credit
Courses Taught
Supporting Units
Responsible
Hours

Math 150A Calculus


4

Math 150B Calculus


4

Math 250A

4
Intermediate Calculus

Math 250B

4
Intermediate Calculus
Departments of
Dr. Phil Armstrong,

Math
270A
Mathematics
Dept. Chair &

Mathematical

Professor
3
Structures I

Math 270B

Mathematical
3
Structures II

Math 338

Statistics Applied
4
to Natural

Physics 225 & 225L -

4
Mechanics

Physics 226 & 226l -

Electricity and

4
Magnetism
Dr. James Feagin,

Physics 227 & 277L -


Department of
Dept. Chair &
Waves, Optics, and
Physics
Professor
Modern Physics
4
Department of
Dr. Kathryn Dickson, Biology 101 & 101L -
4
Biological Sciences
Dept. Chair
Elements of Biology

Chemistry 115 Intro

4
to General Chemistry

Chemistry 120A
5
General Chemistry

Department of
Dr. Christopher
Chemistry 120B
Chemistry
Meyer, Chair
General Chemistry
3
Lecture

Chemistry 123

Chemistry for

3
Engineers

Geology 101 &

101L Physical

Department of
Dr. Phil Armstrong,
3
Geology
Geology
Chair
Geology 201 & 201L
4
Earth History

225

5. Nonacademic Support Units

Non-Academic Support Units for the College of Engineering & Computer Science
Support Unit

Individual Responsible

Title

Academic Advising Center

Dr. Bridget Driscoll

Director

Career Center

Michelle Ajemian

STEM Industry Specialist

Center for Internships and


Community Engagement

Dawn Macy

Director

CSUF Irvine Campus

Dr. Susan Cooper

Dean

Pollak Library

Susan Tschabrun

Interim-University Librarian

Titan Student Union

Kurt Borsting

Director

Student Academic Services

Rochelle Woods

Director

University Learning Center

Dr. Lea Beth Lewis,

Assistant Director

6. Credit Unit

One academic year equals thirty weeks of instruction, with an additional final examination
week for the fall and spring semesters.

7. Tables

226

Table D1. Program Enrollment and Degree Data

Current
Year

Fall 13

Fall 12

Fall 11

Fall 10

Fall 09

Enrollment Year

Degrees Awarded
Total
Grad

Academic
Year

Total
Undergrad

Bachelor of Science in Computer Science

1st

2nd

3rd

4th

5th

FT

159

99

127

105

62

552

18

PT

54

52

51

165

291

FT

146

60

110

69

56

441

19

PT

45

40

32

128

245

FT

96

53

83

63

30

325

20

PT

35

30

32

111

203

FT

84

49

70

51

41

295

15

PT

10

10

28

30

27

105

222

FT
PT

89
11

36
11

60
40

46
25

24
37

255
124

19
202

Associates Bachelors Masters Doctorates


n/a

52

84

n/a

n/a

46

69

n/a

n/a

57

88

n/a

n/a

39

49

n/a

n/a

53

57

n/a

Give official fall term enrollment figures (head count) for the current and preceding four academic years and undergraduate and
graduate degrees conferred during each of those years. The "current" year means the academic year preceding the on-site visit.
FT--full time
PT--part time

227

Table D2. Personnel


Bachelor of Science in Computer Science
Year1: ____fall 2014_____
HEAD COUNT
FT
Administrative2

FTE2

PT
1

0.5

14*

12.5

26

9.8

Student Teaching Assistants4

0.9

Technicians/Specialists

Office/Clerical Employees

Others5

Faculty (tenure-track)3
Other Faculty (excluding student
Assistants)

*Note: Include the new faculty member coming in fall 2014.


Report data for the program being evaluated.
1. Data on this table should be for the fall term immediately preceding the visit.
Updated tables for the fall term when the ABET team is visiting are to be
prepared and presented to the team when they arrive.
2. Persons holding joint administrative/faculty positions or other combined
assignments should be allocated to each category according to the fraction of the
appointment assigned to that category.
3. For faculty members, 1 FTE equals what your institution defines as a full-time
load
4. For student teaching assistants, 1 FTE equals 20 hours per week of work (or
service). For undergraduate and graduate students, 1 FTE equals 15 semester
credit-hours (or 24 quarter credit-hours) per term of institutional course work,
meaning all courses science, humanities and social sciences, etc.

5. Specify any other category considered appropriate, or leave blank.

228

También podría gustarte