Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Self-Study Report
for the
Bachelor of Science
in
Computer Science
at
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.
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
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
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
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
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.
10
11
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 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.
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
19
20
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.
Year 1
Year 2
Year 3
Year 4
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
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
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
Rubric template
Performance
Indicators\Scale
D:
C:
B:
A:
Unsatisfactory
Developing
Satisfactory Excellent
(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.
27
28
29
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
9%
46%
32%
11%
30
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
Picnic
Yes
Yes
No
Yes
Yes
Yes
Outlook
Sunny
overcast
Rainy
overcast
Sunny
sunny
Temperature
Cool
Hot
Mild
Cool
Hot
Mild
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
Compute information
gain
Compute probability
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
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
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
Implementation
Evaluation
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
C
10%
B
37%
A
50%
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%
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.
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.
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:
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.
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.
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
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
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
47%
53%
74%
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
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
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
Organization is
acceptable
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
D
Presentation skills 7%
9%
53% 31%
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
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
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
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%
93%
91%
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 some
technology or
computing
related materials
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
Clearly
understands and
recognizes the
need for
professional
development
48
No (D, C)
Yes (B, A)
10%
85%*
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
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
85%
15%
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
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
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
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.
D
Design tradeoffs
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
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
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
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
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();
}
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
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
59
Abletouserecursion
Abletoimplementandusepointersanddynamic variables
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%
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
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
0:1
2:21
1:10
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
52%
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
64
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.
Measure
Percent
97.0
83.6
64.2
76.7
83.1
27.9
62.5
86.8
41.7
Promotions
61.1
Citations of Achievement
88.6
35.1
19.0
4.8
72.6
76.7
Entrepreneurial Activity
Volunteering*
32.7
41.4
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
Program Educational
Objectives (PEOs)
Employer
Alumni Survey
Employer
Student
Analysis Reports
Changes
Suggested to
Faculty
Act by Faculty
Yes
Need
Change?
NO
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
200910
201011
201112
201213
201314
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
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
74
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)
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
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
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
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
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
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
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
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
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
Reza Ahmadnia
PT
or
FT1
Teaching
Research or
Scholarship
Other4
% of Time
Devoted
to the
Program5
PT
85
PT
or
FT1
Stephanie Elizondo
PT
David Falconer
FT
Rosa Farre-Torrents
PT
Mikhail Gofman*
FT
Hugh Greenbaum
PT
PT
Floyd Holliday*
FT
Chang-Hyun Jo*
FT
Kenneth Kung
PT
Peter Lo
Michael Marcinkevicz
PT
PT
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
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
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
PT
or
FT1
Yun Tian*
FT
Vincent Turner
PT
Tom Ward
PT
Shawn X. Wang*
FT
Kevin Wortman*
FT
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)
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
2 cameras
31 PCs
1 printer server
1 projector
Oasis North
Oasis South
2nd Floor
4th Floor
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
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
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
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
102
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
$715,462
104
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.
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
110
(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
Predefined functions
For loops
Introduction to arrays
Sorting arrays
Multidimensional arrays
112
113
Topics to be covered
Overview of programming
Programming methodologies
Data representation
Branching conditions
Loops
Predefined functions
Namespaces
Arrays
Strings
Structures
Classes
Separate compilation
Inheritance
Polymorphism
Pointers
Templates
Exception handling
Recursion
Searching
Sorting
114
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
116
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
118
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.
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
Subroutines
Bit manipulation
Arrays
Sequential logic
120
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
The shell
Filters
AWK
Shell programming
Apache
System administration
122
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.
123
Correspondence Formats
Patterns of Correspondence
Writing Style
Patterns of Organization
Patterns of Organization
Conducting Research
Graphics
Job Search
Equipment Evaluations
Feasibility Reports
124
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.
Benefits of computers
Encryption
125
Protecting softeare
Computer crimes
126
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
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
Bottom-up parsing
Symbol table
Lex, Yacc
Optimization
Programming languages
128
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 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.
Introduction to MySQL
Introduction to PHP
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
(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
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
Memory management
I/O systems
Virtualization
Cloud computing
134
Software process
136
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
(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
Rules; HR chpt. 3
Fiction; HR chpt. 4
Game Design
138
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.
(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:
140
Topics to be covered
Confidentiality, Integrity, Availability
Cryptoanalysis
Symmetric block ciphers: Data Encryption Standard (DES) and Advanced Encryption
Standard (AES)
Key management
Digital signatures
Authentication protocols
Web security
Password management
142
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.
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
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
Use cases, Requirements analysis models, and software requirements specification (SRS)
OO programming techniques
Design patterns
Architecture patterns
146
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
147
The objectives and limits of testing, test types and their place in software development
cycle
Testing tools
148
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
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)
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
150
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.
Software standards
Software Inspections
Software testing
CMM/CMMI/PSP/TSP
152
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.
Learn the microcosms that exist at each layer of the protocol stack
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
Virtualized Networking
154
(k) An ability to apply design and development principles in the construction of software systems
of varying complexity
Topics to be covered
Geocoding, Maps
156
Topics to be covered
158
159
Machine learning
Logical reasoning
Rule-based programming
160
R. O. Duda, P. E. Hart and D. G. Stork, Pattern Classification, John Wiley & Sons
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
Support Vector Machines (SVMs), Linear SVMs, Nonlinear SVMs, Kernel functions for
SVMs, Examples of SVMs, and SVM Implementation
162
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
Raster Algorithms
Transformations
More Transformations
Viewing, Projection
Spring Recess
164
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.
165
Topics to be covered
166
Board et al., OpenGL Programming Guide: the Official Guide to Learning OpenGL,
Version2.1, 6th Ed., OpenGL Architecture Review, Addison-Wesley Professional, ISBN:
0321481003
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
Trees contd
Renderers; chapter. 3
GLSL, Picking
Rotations
Quaternions
More Quaternions!
Separating Axes
168
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
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
170
171
172
173
174
175
1988
1985
1980
1978
Academic experience:
Professor, Computer Science Dept.
California State University: Fullerton, CA
2009 -
2006 - 2009
2002 - 2003
2002 - 2009
1996 - 2002
1993 - 1996
Research Associate
University of Southern California: Los Angeles, CA
1990 - 1993
1998 - 1999
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
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.
179
Academic experience:
Non-academic experience:
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)
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
181
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
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
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.
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
186
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)
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
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.
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
193
194
195
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
197
198
199
200
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.
202
203
2002
B.S.
1999
B.A.
1999
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
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)
206
207
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
210
Publications
214
Appendix C Equipment
Except the computing facilities there is no other significant equipment.
215
1. The Institution
a. Name and address of the institution
California State University, Fullerton
800 North State College Boulevard
Fullerton, CA 92831
216
Initial
Accreditation
Most Recent
Accreditation
Next
Accreditation
College
Program
Degree
College Of Arts
Art
BA
1974
2003
2014
College Of Arts
Art
BFA
1994
2003
2014
College Of Arts
Art
MA
1974
2003
2014
College Of Arts
Art
MFA
1994
2003
2014
College Of Arts
Dance
BA
NASD
1993
2002
2014
College Of Arts
Music
BA
1966
2002
2014
College Of Arts
Music
BM
1975
2002
2014
College Of Arts
Music
MA
1966
2002
2014
MM
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
NCATE
1960
2007
2015
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
CACREF
2007
2007
2015
CSHSE
1982
2010
2016
Commission on the
Accreditation of Athletic
Training Education
CAATE
2001
2006
2016
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
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
ACS
1970
2004
2014
College Of
Natural Sciences
and Mathematics
Chemistry
BS
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.
221
Victor Delgado
Assistant Dean
Sergio Guerra
Director, CASECS
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 Science
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
224
Academic Supporting Units, Names an Titles of the Individuals Responsible, and the
Courses Taught
Academic
Individuals
Credit
Courses Taught
Supporting Units
Responsible
Hours
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
4
Mechanics
Electricity and
4
Magnetism
Dr. James Feagin,
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
101L Physical
Department of
Dr. Phil Armstrong,
3
Geology
Geology
Chair
Geology 201 & 201L
4
Earth History
225
Non-Academic Support Units for the College of Engineering & Computer Science
Support Unit
Individual Responsible
Title
Director
Career Center
Michelle Ajemian
Dawn Macy
Director
Dean
Pollak Library
Susan Tschabrun
Interim-University Librarian
Kurt Borsting
Director
Rochelle Woods
Director
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
Current
Year
Fall 13
Fall 12
Fall 11
Fall 10
Fall 09
Enrollment Year
Degrees Awarded
Total
Grad
Academic
Year
Total
Undergrad
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
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
FTE2
PT
1
0.5
14*
12.5
26
9.8
0.9
Technicians/Specialists
Office/Clerical Employees
Others5
Faculty (tenure-track)3
Other Faculty (excluding student
Assistants)
228