undergraduate handbook 2020-2021 edition

44
Undergraduate Handbook 2020-2021 Edition Department of Computer Science California State University, Fullerton Draft: July 14, 2020

Upload: others

Post on 01-Oct-2021

20 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Undergraduate Handbook 2020-2021 Edition

Undergraduate Handbook2020-2021 Edition

Department of Computer ScienceCalifornia State University, Fullerton

Draft: July 14, 2020

Page 2: Undergraduate Handbook 2020-2021 Edition

2

Page 3: Undergraduate Handbook 2020-2021 Edition

Contents

1 Introduction 7

1.1 The Field of Computer Science . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.2 The Department . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

1.3 Accreditation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.4 The Programs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.5 Objectives and Outcomes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

1.6 Using This Document . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2 Sources of Information 11

3 The CS Major 13

3.1 Major Requirements at a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.2 Major Prerequisite Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

3.3 Lower-Division Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3.4 Tuffix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.5 Mathematics Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.6 Science and Mathematics Electives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.7 Upper Division Core . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.8 Computer Science Major Electives . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

3.8.1 Elective Specializations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3

Page 4: Undergraduate Handbook 2020-2021 Edition

3.9 B.S. in Computer Science with Cybersecurity Concentration . . . . . . . . . . . . . . . . . . . . . . 18

3.10 General Education (GE) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18

3.11 Academic Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

3.11.1 Grades . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21

4 The CS Minor 23

4.1 Minor Requirements at a Glance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

4.2 Minor Prerequisite Tree . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

4.3 For Majors in Related Fields . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5 Alternative Pathways 25

5.1 Transfer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

5.2 Computer Science Placement Examination . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.3 Missing CPSC 120 or 121 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.4 Advanced Placement (AP) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.5 Internships . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

5.6 International Students . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

5.7 ROTC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

5.8 Independent Study . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

5.9 Petitioning for Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

5.10 Request Forms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

6 Advisement 33

6.1 General Advice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

6.2 Major Advisement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

6.3 Required Advisement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

6.4 General Education (GE) Advisement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

6.5 First-time Freshmen . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

4

Page 5: Undergraduate Handbook 2020-2021 Edition

6.6 Career Advising . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

6.7 Studying Abroad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

6.8 Transfer Students . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

6.9 Nearing Graduation (Within One Year) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

6.10 Probation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

6.11 Peer Advising & Clubs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

7 Progress Flowcharts 37

8 Credits and Revision History 41

Index 43

5

Page 6: Undergraduate Handbook 2020-2021 Edition

6

Page 7: Undergraduate Handbook 2020-2021 Edition

1

Introduction

1.1 The Field of Computer Science

Computer Science is the systematic study of computing systems and computation. The body of knowledge containsthe theoretical foundation for understanding computing systems, design methodology, algorithms, and software andhardware tools, as well as application development in a variety of different areas.

Our corriculum covers a wide range of areas, including:

• multimedia and digital game technologies,

• Internet and enterprise computing,

• wireless and mobile computing,

• databases and data mining,

• computer security,

• software engineering, and

• computational bioinformatics.

Computer Science prepares graduates for rewarding careers in all areas of business, government, education and indus-try. These organizations, large and small, need computer professionals to address their needs with specific programsand systems. Computer science professionals tackle complicated problems and create computer solutions to solvethem, devising new ways to use computers. Computer Science has advanced to almost every aspect of society anddeveloped services to make life better.

1.2 The Department

The faculty and staff of the Computer Science Department welcome you into our program and sincerely wish yougood luck on your journey into higher education, and continued success. Whenever you have a question about the

7

Page 8: Undergraduate Handbook 2020-2021 Edition

Department—its policies, its curriculum, its services, your progress, or anything else—feel free to contact us.

Web: http://fullerton.edu/ecs/cs/E-mail: [email protected]

In person: Room CS-522Telephone: (657) 278-3700

Fax: (657) 278-7168Postal mail: California State University, Fullerton

Department of Computer ScienceP.O. Box 6870Fullerton, CA 92834-6870

1.3 Accreditation

The Bachelor of Science in Computer Science degree at CSUF is accredited by the Computing Accreditation Com-mission of ABET (http://www.abet.org).

1.4 The Programs

The Department offers the following Undergraduate programs, which are documented in this Handbook:

1. Bachelor of Science in Computer Science (B.S. CS),

2. Bachelor of Science in Computer Science with Concentration in Cybersecurity, and

3. Minor in Computer Science.

The Department also offers Graduate programs, which are documented elsewhere:

1. Master of Science in Computer Science (M.S. CS),

2. Master of Science in Software Engineering (M.S.E.), and

3. Accelerated Master of Science in Software Engineering (A.M.S.E.).

CS courses are also components of Computer Engineering, Electrical Engineering, and Mathematics programs atCSUF.

8

Page 9: Undergraduate Handbook 2020-2021 Edition

1.5 Objectives and Outcomes

The Program Educational Objectives and Program Outcomes for the CS B.S. are documented athttp://www.fullerton.edu/ecs/cs/about/peo-so.php

1.6 Using This Document

This handbook covers information on how to complete a B.S. or a Minor in Computer Science, and contains informa-tion relevant to students pursuing them. If you are pursuing a Masters degree, please refer to the Graduate Handbookinstead of this document.

In order to minimize duplicated information, this document references other documents rather than copying theircontents. The PDF version of this Handbook presents these references as clickable links. Some aspects of our programsare complex, and you may find it difficult to choose among alternatives. In those cases, we present our suggesteddefault choice as a tip, as shown below. You are not required to follow these tips, but doing so is often a prudentchoice.

TIP When in doubt, heed tips such as this one.

This document has been formatted so that it may be printed as a booklet. Print double-sided with staples (or otherbinding) on the left side. The document will look best if printed in color, but it may also be printed in grayscale (a.k.a.semitone).

9

Page 10: Undergraduate Handbook 2020-2021 Edition

10

Page 11: Undergraduate Handbook 2020-2021 Edition

2

Sources of Information

You may find the following sources to be helpful.

• The University Catalog: http://catalog.fullerton.edu/

• Advising:

– CS Department Advising:http://www.fullerton.edu/ecs/cs/resources/advisement.php

– Center for Academic Support in ECS (CASECS):http://www.fullerton.edu/ecs/resources/casecs.php

– Student Success Center:http://www.fullerton.edu/ecs/resources/StudentSuccessCenter.php

– Academic Advisement Center (GE advising): https://www.fullerton.edu/aac/

• Department of Computer Science: http://www.fullerton.edu/ecs/cs/

• General Education (GE):http://www.fullerton.edu/undergraduate/general_education/index.php

• Course transfer database: http://www.assist.org

• Center for Internships & Community Engagement — Academic Internships:http://www.fullerton.edu/cice/students/internships.php

• Catalogs of nearby community colleges:

– Cypress College:http://www.cypresscollege.edu/academics/CollegeCatalog.aspx

– Fullerton College: http://www.fullcoll.edu/catalog

– Golden West College: http://www.goldenwestcollege.edu/catalog/

– Irvine Valley College: http://www.ivc.edu/catalog/Pages/catalog2014.aspx

– Orange Coast College:http://www.orangecoastcollege.edu/academics/CourseCatalog/Pages/default.aspx

11

Page 12: Undergraduate Handbook 2020-2021 Edition

– Saddleback College: http://www.saddleback.edu/cc/course-catalog

– Santa Ana College:https://www.sac.edu/CatalogAndSchedule/Pages/catalog.aspx

– Santiago Canyon College:http://www.sccollege.edu/StudentServices/Admissions/Pages/CATALOGSCHEDULE.aspx

12

Page 13: Undergraduate Handbook 2020-2021 Edition

3

The CS Major

3.1 Major Requirements at a Glance

The requirements for the CS B.S. are detailed in the University Cataloghttps://catalog.fullerton.edu/preview_program.php?catoid=61&poid=28640&returnto=7397

The requirements fit into 6 categories:

1. Lower-Division Core: 100/200-level CPSC courses covering computer programming and data structures.

2. Mathematics Requirements: MATH courses laying the foundation for CS theory and practice.

3. Science and Mathematics Electives: Physical science and/or mathematics courses that provide a breadth ofscientific knowledge and prepare students for certain upper-division electives.

4. Upper-Division Core: 300/400-level CPSC courses that build directly upon the Lower-Division Core, Mathe-matics, and Science courses lised above, and complete the computer science canon.

5. Major Electives: You may choose 15 units (ordinarily 5 courses) that support your interests and career goals.

6. General Education (GE): A blend of varied topics that round out a broad, liberal arts education, and satisfyUniversity graduation requirements.

Our accreditor, ABET, requires at least 30 units of mathematics and science courses. The Mathematics Requirementsand Science and Mathematics Electives together satisfy this 30-unit requirement.

3.2 Major Prerequisite Tree

The following tree graph diagram illustrates the prerequisite and corequisite relationships between courses requiredfor the major.

13

Page 14: Undergraduate Handbook 2020-2021 Edition

TIP

You are ordinarily limited to 16 units each term. In order to finish the B.S. program in 8semesters, you will need to take five classes each semester. Almost all CPSC and GE coursesare 3 units each; almost all mathematics and science courses are 4 units each. Plan on takingfour 3-unit courses (CPSC and/or GE), and one 4-unit course (mathematics or science) eachsemester, for a total of 16 units, until you have completed all required 4-unit courses.

3.3 Lower-Division Core

The first three courses in the major are CPSC 120, 121, and 131. These courses must be taken in sequence, and areprerequisites to practically every other CS course.

TIP Prioritize completing CPSC 120, 121, then 131 as soon as possible.

14

Page 15: Undergraduate Handbook 2020-2021 Edition

If you come to CSUF with prior programming expertise, you may be able to skip some of these courses. See sections5.2 and 5.4 for more information.

Our introductory programming courses are taught in C++, but cover concepts that are common to practically allprogramming languages. To establish some breadth of programming fluency, you are required to learn a secondprogramming language. This is accomplished by passing one of the CPSC 223 courses.

TIP Choose CPSC 223C - C Programming if you plan on taking security-related courses later on.

3.4 Tuffix

Students enrolled in CSPC 120, CPSC 121, and CPSC 131 are recommended to use the Computer Science Depart-ment’s official GNU/Linux development environment, Tuffix. Tuffix is Tuffy the Titan’s Linux distribution.

Instructions on how to install Tuffix or a Tuffix based VM are online at http://csufcs.com/tuffixinstall.The Tuffix Titanium Community for Students, https://communities.fullerton.edu/course/view.php?id=1547 is the best venue to receive help with Tuffix. Students may self-enroll in the community; first loginto your portal, then navigate to Titanium communities, next under the dashboard to the left click Site home, then clickSearch Courses on the right, search for Tuffix, in the results click Tuffix Students, under the gear in the upper rightselect Enrol me in this course, finally click on the button Enrol me. You may unenroll at any time.

The Tuffix home page is https://github.com/kevinwortman/tuffix.

Students interested in using Microsoft development tools may request a Dreamspark account at http://dsreqform.ecs.fullerton.edu/. A student may, at no monetary cost, download full featured versions of Microsoft VisualStudio.

Students interested in using Apple development tools can freely download Xcode through the App Store applica-tion bundled with macOS. Students may download Xcode directly from https://developer.apple.com/xcode/.

A CentOS-based shell server is available through secure shell (ssh) and secure file transfer protocol (sftp). The host-name is ecs.fullerton.edu. If your email address is [email protected], then your username is malcolm.If you are using a command-line ssh client, then your command to connect to ecs.fullerton.edu will be ‘ssh [email protected]‘.

3.5 Mathematics Requirements

Before enrolling in Math 150A, you must either have recently passed MATH 125 - Precalculus, an equivalent courseat another institution, or passed the Mathematics Qualifying Exam. Additional information on this exam is availablein the online registration guide, and from the Fullerton Testing Center, Gordon Hall 229, and (657) 278-3838.

15

Page 16: Undergraduate Handbook 2020-2021 Edition

3.6 Science and Mathematics Electives

As stated in the University Catalog, you must complete at least 12 units of natural science and/or mathematics courseschosen from a designated list. The list includes only courses that dovetail with CS material, and may fit within acoherent 12-unit curriculum. Due to GE and ABET requirements, you must take at least one course with a laboratoryexperience. Eligible laboratory courses are designated in the Catalog.

Choose a set of courses that support each other and your future studies. Plan ahead, and discuss your plan for thisrequirement with your adviser.

TIP

PHYS 225, 225L, 226, 226L, and MATH 250A provide a strong foundation for later CS courses,meet all Science and Mathematics requirements, and fit within 12 units. Take this set of electivesunless you are working toward a specific study plan focusing on biology, chemistry, geology, ormathematics.

The two-semester biology sequence is BIOL 151 and BIOL 152. This sequence replaced older courses numberedBIOL 171 and 172. Current students should take 151 and 152, but you may see references to 171 and 172 in somedocuments. Students who took 171 and 172 while they were offered may count those courses toward the Science andMathematics Electives requirement.

3.7 Upper Division Core

CPSC 481 - Artificial Intelligence is the Core course with the longest chain of prerequisites. Plan your schedule sothat you make steady progress toward meeting 481’s prerequisites.

TIP

If possible, make progress on each of the following prerequisite chains every semester:

1. CPSC 120, 121, 131, 335, 481

2. MATH 270A, 270B

3. MATH 150A, 150B, 338

3.8 Computer Science Major Electives

You must select 15 units of electives, ordinarily five 3-unit courses, to satisfy your degree requirements. Select electivecourses that are best aligned to your personal objectives. For example, if you aspire to create web applications andmobile apps, then courses such as CPSC 411, CPSC 349 and CPSC 449 are excellent choices. Consult mentors andadvisors in selecting the elective courses that match your goals.

Courses outside of the computer science department may be used as elective courses. You must seek approval from a

16

Page 17: Undergraduate Handbook 2020-2021 Edition

major advisor before taking the course.

You may complete at most 3.0 units of Lower Division CS Electives. Students who need additional units due to thePlacement Examination, transfer, or other circumstances are encouraged to consult with a major advisor and selectupper division CS Electives.

Your are required to complete at least 15.0 units of CS Electives. You may need to take additional electives if you areshort on units due to the Placement Examination, transfer, or other circumstances.

A course may be used as an Upper Division CS Elective if it is a 3-unit, upper-division, CPSC course that is not anUpper Division Core requirement. Therefore, the following courses may count as Upper Division CS Electives:

• CPSC 301 - Programming Lab Practicum (2)

• CPSC 349 - Web Front-End Engineering (3)

• CPSC 375 - Introdution to Data Science and Big Data (3)

• CPSC 386 - Introduction to Game Design and Production (3)

• CPSC 411 - Mobile Device Application Programming (3)

• CPSC 431 - Database and Applications (3)

• CPSC 439 - Theory of Computation (3)

• CPSC 440 - Computer System Architecture (3)

• CPSC 449 - Web Back-End Engineering (3)

• CPSC 452 - Cryptography (3)

• CPSC 454 - Cloud Computing and Security (3)

• CPSC 455 - Web Security (3)

• CPSC 456 - Network Security Fundamentals (3)

• CPSC 458 - Malware Analysis (3)

• CPSC 459 - Blockchain Technologies (3)

• CPSC 462 - Software Design (3)

• CPSC 463 - Software Testing (3)

• CPSC 464 - Software Architecture (3)

• CPSC 466 - Software Process (3)

• CPSC 474 - Parallel and Distributed Computing (3)

• CPSC 479 - Introduction to High Performance Computing (3)

• CPSC 483 - Introduction to Machine Learning (3)

• CPSC 484 - Principles of Computer Graphics (3)

• CPSC 485 - Computational Bioinformatics (3)

17

Page 18: Undergraduate Handbook 2020-2021 Edition

• CPSC 486 - Game Programming (3)

• CPSC 489 - Game Development Project (3)

• CPSC 499 - Independent Study (1 - 3)

• EGGN 495 - Professional Practice (1-3)

• MATH 335 - Mathematical Probability (3)

• MATH 340 - Numerical Analysis (3)

• MATH 370 - Mathematical Model Building (3)

You may be able to use an adviser-approved course not on this list as an Upper Division CS Elective. Such a coursemust be at least 3 units and directly related to your academic goals. If this interests you, discuss it with a major adviser.You may need to file a request form; see Section 5.10.

3.8.1 Elective Specializations

Students wanting for guidance in choosing electives are advised to complete one of the following Specializations.Each Elective Specialization is a curated set of Major Electives focusing on a vital branch of Computer Science.

• Cybersecurity: CPSC 452, 454, 455, 456, 458, and 459.

• Data Science and Artificial Intelligence: CPSC 375, 483, and 485; MATH 370

• Game Development: CPSC 386, 484, 486, and 489

• Software Engineering: CPSC 462, 463, 464, and 466

• Theory: CPSC 439, MATH 340, and MATH 370 (take MATH 250A+B as Science and Mathematics Electivesto satisfy the MATH prerequisites)

• Web and Mobile Applications: CPSC 349, 411, 431, and 449

3.9 B.S. in Computer Science with Cybersecurity Concentration

In addition to the university and departmental requirements, the B.S. in Computer Science with Cybersecurity Con-centration requires the completion of the following courses: CPSC 456 (Network Security Fundamentals) AND Threeelectives chosen from the followings: CPSC 452 (Cryptography), CPSC 454 (Cloud Computing and Security), CPSC455 (Web Security), CPSC 458 (Malware Analysis), and CPSC 459 (Block-chain Technologies).

3.10 General Education (GE)

The Undergraduate Studies & General Education websitehttp://www.fullerton.edu/undergraduate/general_education/index.phpdescribes University GE requirements in detail.

18

Page 19: Undergraduate Handbook 2020-2021 Edition

Table 3.1: Pre-2018 GE Waivers

GE area Satisfied byA.3. Critical Thinking (3 units) waived for CS majorsB.1. Physical Science (3 units) GEOL 101, PHYS 225, or CHEM 120A, part of Sci-

ence and Mathematics ElectivesB.2. Life Science (3 units) waived for CS majorsB.3. Laboratory Experience GEOL 101L or PHYS 225L, part of Science and Math-

ematics ElectivesB.4. Mathematics and Quantitative Reasoning (3units)

MATH 150A, part of Mathematics Requirements

B.5. Implications and Explorations of Mathematicsand Natural Sciences (3 units)

MATH 338, part of Mathematics Requirements

D.2. World Civilizations and Cultures (3 units) waived for CS majors who take HIST 110A to satisfyC.4

D.5. Explorations in Social Sciences (3 units) waived for CS majorsE. Lifelong Learning and Self Development (3 units) waived for CS majorsTotal: 24 units, 9 categories

Beginning in Fall 2018, CSUF students are ordinarily required to take at least 48 units and 18 categories of GE courses.CS majors meet some of these requirements through their required courses, and some requirements are waived for CSmajors. This leaves 27 units and 10 categories which must be satisfied by additional courses.

In addition, CSUF students are required to take at least 6 units of GE at the upper-division (300/400) level. 4 of theseare satisfied by MATH 338, so at least 2 of your additional GE units must be upper-division. The following two tablelists the remaining GE categories, and a suggested course for each category.

TIPEffective Fall 2017, upper-division GE courses can only be taken by students at upper-divisionclass standing.

TIPTo conserve units, make sure that the course you take for category C.3 (pre-2018) or C.4 (2018and later) is upper-division and also satisfies category Z. Z-category courses are marked withan asterisk on the GE course page.

TIPCatalog years Fall 2015 through Spring 2018, CS majors must satisfy GE area D.1 withEGCE/CP/EE/ME 401. Starting in Fall 2018, CS majors may use any D.1 course.

19

Page 20: Undergraduate Handbook 2020-2021 Edition

Table 3.2: Fall 2018 and Later GE Waivers

GE area Satisfied byA.3. Critical Thinking (3 units) waived for CS majorsB.1. Physical Science (3 units) GEOL 101, PHYS 225, or CHEM 120A, part of Sci-

ence and Mathematics ElectivesB.2. Life Science (3 units) waived for CS majorsB.3. Laboratory Experience GEOL 101L or PHYS 225L, part of Science and Math-

ematics ElectivesB.4. Mathematics and Quantitative Reasoning (3units)

MATH 150A, part of Mathematics Requirements

B.5. Implications and Explorations of Mathematicsand Natural Sciences (3 units)

MATH 338, part of Mathematics Requirements

D.4. Explorations in Social Sciences (3 units) waived for CS majorsE. Lifelong Learning and Self Development (3 units) waived for CS majorsTotal: 18 units, 6 categories

Table 3.3: Pre-2018 GE Requirements & Suggestions

GE area Suggested CourseA.1. Oral Communications (3 units) HCOM 102 Public Speaking (3)A.2. Written Communications (3 units) ENGL 101 - Beginning College Writing (3)C.1. Introduction to Art (3 units) ART 101 - Introduction to Art (3) (many alternatives)C.2. Introduction to Humanities (3 units) LING 106 - Language and Linguistics (3); many alter-

nativesC.3. Explorations of Arts and Humanities (3 units) MUS 303 - World Music (3); C.1 is prerequisite; many

alternativesC.4. Origins of World Civilization (3 units) HIST 110A - World Civilizations to the 16th Century

(3)D.1. Introduction to Social Sciences (3 units) EGCE/CP/EE/ME 401; MATH 150A is prerequisite;

must be 401 specificallyD.3. American History, Institutions and Values (3units)

AMST 201 - Introduction to American Studies (3);many alternatives

D.4. American Government (3 units) POSC 100 - American Government (3)Z. Cultural Diversity already satisfied by MUS 303 aboveTotal: 27 units, 10 categories

20

Page 21: Undergraduate Handbook 2020-2021 Edition

Table 3.4: 2018 and later GE Requirements & Suggestions

GE area Suggested CourseA.1. Oral Communications (3 units) HCOM 102 Public Speaking (3)A.2. Written Communications (3 units) ENGL 101 - Beginning College Writing (3)C.1. Introduction to Art (3 units) ART 101 - Introduction to Art (3); many alternativesC.2. Introduction to Humanities (3 units) LING 106 - Language and Linguistics (3); many alter-

nativesC.3. Origins of World Civilization (3 units) HIST 110A - World Civilizations to the 16th Century

(3)C.4. Explorations of Arts and Humanities (3 units) MUS 303 - World Music (3); many alternativesD.1. Introduction to Social Sciences (3 units) SOCI 101 - Introduction to Sociology (3) or

EGCE/CP/EE/ME 401; many alternativesD.2. American History, Institutions, and Values (3units)

HIST 190 Survey of American History with Emphasison Ethnic Minorities (3); many alternatives

D.3. American Government (3 units) POSC 100 - American Government (3)Z. Cultural Diversity already satisfied by MUS 303 above; many alternativesTotal: 27 units, 10 categories

3.11 Academic Requirements

Your GPA for courses required in your major must remain at or above 2.0. Grade requirements for courses aresummarized below.

Course Type Minimum GradeLower-Division Core D-Upper-Division CoreCPSC 490 and 491 CMathematics Requirements

D-Science and Mathematics ElectivesComputer Science ElectivesGE courses, including MATH 150A, MATH 338,EGCE/CP/EE/ME 401 C-

3.11.1 Grades

A repeatable grade is a “D”, “F”, or “W” grade. Students may repeat courses for which a “C-” or lower grades wereearned at CSUF or other institutions. When repeating a course, the traditional grading system (“A”, “B”, “C”, etc.)shall be used (i.e. “CR”/“NC” is not an option). In computing the grade-point average, only the most recently earnedgrades and grade points shall be used for the first 16 units of repeated. This is called grade forgiveness, yet the originalgrade shall remain on your academic record.

In the case of any repetition beyond the 16-unit limit or in courses for which a C or better grade was awarded, bothgrades are considered in computing grade-point averages. Students may be permitted to repeat an additional 12 unitsin addition to the 16 units for which grade forgiveness is permitted. This process is by petition through Admissions &Records and you must seek the support of an academic advisor and the department chair. The repeat grade shall not

21

Page 22: Undergraduate Handbook 2020-2021 Edition

replace the original grade. Both grades shall be calculated in the student’s overall grade-point average.

Students earning a grade of “D-” (grade-point 0.7) or better have earned a passing grade and will earn the units towardstheir degree. Students must have a grade-point average of 2.0 or greater to earn a degree.

Students are strongly advised to repeat courses that lay the foundation for their education such as their lower- andupper-division core courses. In circumstances were a student earns a grade between “D-” and “C+” due to poor health,difficulties outside of the classroom, or other circumstances that impacted the student’s ability to succeed, the studentis strongly recommended to meet with an academic advisor and determine in consultation with the advisor if notrepeating the class is in the student’s best interest.

22

Page 23: Undergraduate Handbook 2020-2021 Edition

4

The CS Minor

There is strong demand for expertise in programming, data representation, and computational principles. The rise ofthe web; digital music, film, and humanities; and other interdisciplinary fields shows that a CS Minor can complementany field of study.

To select Computer Science as your minor, visit the CS office and fill out a Request for Minor Objective form.

4.1 Minor Requirements at a Glance

The requirements for the CS minor are detailed in the University Cataloghttps://catalog.fullerton.edu/preview_program.php?catoid=61&poid=28641&returnto=7397You are required to complete at least 15 units of computer science coursework (ordinarily 5 courses). A minimum sixof the 15 units for the minor must be upper-division (300-/400-level) courses and completed at CSUF. Courses maynot include CPSC 311, CPSC 315 or those numbered CPSC 491-CPSC 499.

At least 12 units, including the minimum 6 units of upper division course work, must be courses that are not beingused to fulfill requirements for your major.

The following are prerequisites for most upper-division Computer Science courses. It is recommended that ComputerScience minors complete them first. Other CPSC courses may require additional prerequisites.

• CPSC 120 - Introduction to Programming (3)

• CPSC 121 - Object-Oriented Programming (3)

• CPSC 131 - Data Structures (3)

If you count those courses toward your minor, you will still need to complete 6 units of upper-division ComputerScience courses at CSUF. You may have to take additional courses to meet the prerequisites for your CS courses. Theupper-division courses that are available to students after successfully completing CPSC 131 are CPSC 313, CPSC323, CPSC 332, CPSC 335, CPSC 349, CPSC 351, CPSC 353, and CPSC 386, CPSC 411, and CPSC 485. If a studentcompletes MATH 270B or MATH 280, CPSC 439 is an option.

23

Page 24: Undergraduate Handbook 2020-2021 Edition

4.2 Minor Prerequisite Tree

CPSC 120

CPSC 121

CPSC 131

CPSC elective 1 CPSC elective 2

4.3 For Majors in Related Fields

As stated above, at least 12 units, including the minimum 6 units of upper division course work, must be courses thatare not being used to fulfill requirements for your major. This has implications on students whose major includes someCPSC courses.

Computer Engineering Major and Computer Science Minor

The Computer Engineering major includes CPSC 120, 121, 131 and 351, so none of these count toward the 12-unitrequirement. A Computer Engineering major may count only 3 of these units toward a Computer Science minor. Tocomplete the minor they must pass at least 12 additional units of CPSC courses that are distinct from their major.Altogether, a Computer Engineering major must usually pass a total of 24 units of CPSC course work to complete aComputer Science minor.

Electrical Engineering Major and Computer Science minor

The Electrical Engineering major includes CPSC 120, so CPSC 120 does not count toward the 12-unit requirement.However, the remaining 12 units of minor courses ordinarily do not count toward the Electrical Engineering major, soElectrical Engineering majors typically only need to pass 15 units of CPSC courses to complete a Computer Scienceminor.

Information Systems and Decision Sciences and Computer Science Double Majors

The Information Systems and Decision Sciences major includes ISDS 309, which is not equivalent to any CPSCcourse.

24

Page 25: Undergraduate Handbook 2020-2021 Edition

5

Alternative Pathways

5.1 Transfer

If you are a transfer student from a California Community College, you should refer to assist.org. A departmentadviser can help you with these equivalencies and give the required approval. Transfer courses cannot be appliedtoward the major or accepted as prerequisites until they are recorded in the Titan Degree Audit (TDA) system. Youshould have your official transcripts sent to the office of Admissions and Records; see http://csufcs.com/admissions for more information. To find articulation agreements in the assist.org database, start by loadingthe web page http://www.assist.org, as shown below.

25

Page 26: Undergraduate Handbook 2020-2021 Edition

Select the institution you’d like to transfer from; in this example we will use Irvine Valley College (IVC).

Then indicate that you are transferring to CSUF.

Finally, indicate that you are interested in courses relevant to the Computer Science Department.

26

Page 27: Undergraduate Handbook 2020-2021 Edition

The text within the scroll bars shows established articulations between CSUF and IVC. For instance, IVC CS 36 isequivalent to CSUF CPSC 120.

If you explore the page, you will see that IVC offers equivalents for all of the required lower-division CS courses. IVCCS 36, 37, 41, 38, 40A, and 40B articulate to CPSC 120, 121, 131, 223J, and 240, which are the entirety of the Lower-

27

Page 28: Undergraduate Handbook 2020-2021 Edition

Division Core courses. IVC MATH 3A, 3B, 30, and 31 articulate to CSUF MATH 150A, 150B, 270A, and 270B,which are all Mathematics Requirements except MATH 338. IVC PHYS 4A, PHYS 4B, and MATH 4A articulate toCSUF PHYS 225, 225L, 226, 226L, and MATH 250A, which together satisfy the Science and Mathematics Electivesrequirement.

5.2 Computer Science Placement Examination

Our courses CPSC 120 and CPSC 121 cover computer programming. If you are proficient in this material, but donot have academic credit, you may attempt to establish your proficiency and skip one or both courses by taking theComputer Science Placement Examination. If you have taken CPSC 120, 121, or 131 at CSUF, you are not eligible totake the Placement Examination.

The date, time, and location of Placement Examinations are given in the Department Placement Exams section of theRegistration Guide for the current term. You can find Registration Guides athttp://records.fullerton.edu/registration/registration.php

5.3 Missing CPSC 120 or 121

If you bypass CPSC 120 by passing the Computer Science Placement Examination, you will be short 3 units in theLower Division Core major requirement. Likewise, if you bypass both CPSC 120 and 121, you will be short 6 units.Some uncommon transfer situations can also cause you to be short on units, for instance if you transfer from a schoolon the quarter system.

If you are short on Lower Division Core units, you will need to earn substitute units by taking extra units of CPSC 223and/or Computer Science Major Electives (listed in Section 3.8).

5.4 Advanced Placement (AP)

If you took the Computer Science AP exam and scored well, you may be able to get credit for CPSC 120, or both 120and 121. See the Credit by Advanced Placement Charthttps://www.fullerton.edu/aac/docs/Credit_By_EXAM_AP_CLEP_IB.pdf

5.5 Internships

Learning takes place in many settings, not just the classroom. When you complete your educational career and areentering the professional job market for the first time, extensive professional experience can be highly beneficial. Forthis reason, the University and the Computer Science Department maintain an active internship program as a serviceto all students interested in obtaining employment while still in school.

Academic internships bear credit at CSUF. Students enroll in an internship course and complete course requirements.The number of units you receive depends on the number of hours you complete at your internship site.

28

Page 29: Undergraduate Handbook 2020-2021 Edition

Hours at Internship Site Units40–60 hours 1 unit80–100 hours 2 units120–150 hours 3 units

An academic internship is a work-learning partnership between a student, the university, and a host company ororganization that bears a direct relationship to a student’s major and professional goals. EGGN 495 is a “supervisiononly” class. There are no class meetings. Students will receive a letter grade at the end of the semester based ontheir performance in the internship project. As far as the coursework is concerned, all that is required is that studentscomplete the internship with the company and submit a final report by the end of the semester. The company nameand the project supervisor’s name must be included in the report. The report does not have to be approved/signed bythe company. Students should address the following items in the report:

1. Details of the project.

2. Tasks the student was primarily responsible for.

3. What the student learned from the project he/she completed.

4. How the project benefited the student from an academic standpoint.

Benefits of the internship program in Computer Science include:

• Industrial work experience.

• Job placement assistance from the Center for Internships & Community Engagement (CICE).

• Up to 3 units of credit.

We recommend that you consider an internship when you reach junior or senior status. To register for an internship,follow the instructions at CICE’s website(http://www.fullerton.edu/cice/students/internships.php).

5.6 International Students

International students must obtain a CPT I-20 form from the International Education and Exchange office in UH-244.Check with IEE for admissible dates prior to completing the CICE Registration.

5.7 ROTC

Computer Science majors intersted in joining the Reserve Officers’ Training Corps (ROTC) program should schedulea long appointment (30 minutes) with an advisor in their freshman year to map out the complete study plan. Prior tothe meeting, the student must obtain the proper documents from ROTC office located in MS-101 (Military ScienceBuilding room 101) and bring those documents with them to the advising session.

29

Page 30: Undergraduate Handbook 2020-2021 Edition

5.8 Independent Study

You may take CPSC 499 Independent Study as an Upper Division CS Elective. This course allows you to pursuea topic that is not covered by any regular course, under the supervision of a faculty advisor. All independent studyapplications must be approved by the study’s faculty advisor and department chair by the end of the semester prior tothe proposal’s start date. That means independent study proposals for the Fall are due in by the end of the previousSpring semester, and proposals for the Spring are due in the previous Fall semester.

You must submit an Independent Study Application to the department office, which will supply the form. As statedon the form, the Application must be accompanied by a study plan which includes the study’s objective(s), the study’soutcome(s), a 16 week study plan, the basis for evaluation, and the date(s) that student work is due. A template isavailable athttps://docs.google.com/document/d/1Dqpak9qkBJtKYINJKFPd9aZoo62BEWLJNjwlh9VUDeQ/edit#heading=h.4fv46lfa56cv

You may take up to three units per semester, and apply a maximum of six units towards the degree. You will not beable to register for this course until the Department grants you permission to do so. You should contact the Departmentto verify that this has been done.

Graduate students may not entroll in CPSC 499. Graduate students interested in self-directed study should considerCPSC 597, 598, or 599 instead.

5.9 Petitioning for Classes

When a class is closed because all the seats in the class are full, a student may petition to add the course once thesemester begins. This is where a student attends the class and places his or her name on the paper waiting list that theinstructor passes out in class. The Titan Online waiting lists, also called the electronic waiting lists, have no impacton the petitioning process and the Department’s paper waiting lists. The paper waiting lists are returned to the CSDepartment Office and the Department attempts to enroll as many students as possible, giving priority to those closestto graduation. This process does not guarantee enrolling in the desired course.

Students are encouraged to attend as many classes as possible to maximize the number of waiting lists their nameappears on. This signals to the Department office that you are able to attend the course. The use of proxies (askingfriends to attend the class for you) is prohibited and is considered an act of academic dishonesty.

5.10 Request Forms

The TDA software system usually does a good job of automatically tracking your completion of major and minorrequirements. Unfortunately, though, it may mishandle exceptional circumstances, such as a transfer from a universityon the quarter system. If your TDA is inaccurate, you need to ask the Department to correct your TDA manually.

There are three forms that you can use to request that the Department adjust your TDA.

1. Use the Domestic Course Articulation Request to ask the Department whether courses from another college oruniversity in the United States can count toward Computer Science major or minor requirements.

30

Page 31: Undergraduate Handbook 2020-2021 Edition

2. Use the International Course Articulation Request to ask whether courses from a college or university in adifferent country can count toward Computer Science major or minor requirements.

3. Use the Undergraduate Course Reallocation Request form to ask the Department to reallocate a course thatappears on your TDA which does not appear in the correct category. This may happen if you have taken anadvisor-approved elective which was not automatically recognized by the TDA software, you have changedcatalog years, or courses transferred from another institution appear uncatagorized or the incorrect category.Another common case is when you take a course that was created after your catalog year. For example, CS 223Cand the cybersecurity courses are new courses that do not appear on the 2007 or 2011 TDAs. Use UndergraduateCourse Reallocation Request to count these courses towards your degree.

Blank forms are available at http://www.fullerton.edu/ecs/cs/resources/documents.php, or ashard-copies in the Department office. To file a request, submit a completed hard-copy form to the Department office.The request will typically be processed within ten business days. The outcome of the request will be communicated tothe applicant through an Advising Note in the applicant’s TDA. The Department Chair or designee has sole discretionto approve or deny these requests and those decisions are final and non-negotiable.

31

Page 32: Undergraduate Handbook 2020-2021 Edition

32

Page 33: Undergraduate Handbook 2020-2021 Edition

6

Advisement

It can be frustrating to find out that you took a class that wasn’t useful for your course of study. Not being able totake a class when you want because of a needed prerequisite is even worse—it slows your progress and can delay yourgraduation. To avoid problems like these, the University offers advisement counseling to all students. This is youropportunity to review your progress toward your degree and to discuss electives that match your career goals.

Developing the skills in identifying and connecting with formal and informal advisors and mentors will benefit younot only during your time at CSUFbut also in your future career. Set a goal for yourself to find mentors who willsupport you and keep you motivated on your path through the university.

6.1 General Advice

Any student who wishes to discuss any concern may contact the assistant deans of the college. Assistant deans arestudent advocates who will help you navigate the university’s policies and procedures and assist with resolving anyconflict.

Assistant Dean for Student Affairs Carlos Santana, CS-206A, (657) 278-4407, [email protected]

6.2 Major Advisement

Students may seek major advising from major advisors in the computer science department and through the ECSStudent Success Center.

The Student Success Center on the second floor of the Computer Science Building can answer many of your questionsregarding General Education as well. They are located in room CS 201. Their phone number is 657-278-3879. Theirweb site is https://www.fullerton.edu/ecs/resources/StudentSuccessCenter.php ComputerScience department advisors are members of the faculty and you may schedule an appointment to see one by contactingthe department office. The contact information for the department is in Section 1.2.

33

Page 34: Undergraduate Handbook 2020-2021 Edition

6.3 Required Advisement

The College of Engineering and Computer Science places a registration hold on all undergraduate students once a yearto ensure the student meets with a department advisor. You will not be able to register for any courses until you consultwith a department advisor and the hold is subsequently removed.

Students who are in good academic standing and have the last two digits of their CWID ending in an odd number arerequired to complete mandatory advisement in the Fall term. Students in good academic standing and have the lasttwo digits of their CWID ending in an even number are required to complete mandatory advisement during the Springterm.

Freshmen and sophomore students must see an advisor in the ECS Student Success Center to lift the registration hold.Junior and senior students must see one of the department’s major advisors to lift the registration hold.

Probation students are required to complete mandatory advisement every semester regardless of odd/even CWIDS.

6.4 General Education (GE) Advisement

The University encourages all students to seek GE advisement, each semester, well in advance of registration. Youmay obtain information about the CSUF GE curriculum and degree requirements by visiting the Academic AdvisementCenter in UH-123B.

6.5 First-time Freshmen

You should make an appointment to see the department adviser as early as possible. It is very important that youunderstand the program and the sequence in which you should take courses.

6.6 Career Advising

The CSUF Career Center is online at http://www.fullerton.edu/career/students/. You should makean appointment to see Paula Verdugo, [email protected] (657)-278-3121. She is the ECS Career Specialist.

6.7 Studying Abroad

The Study Abroad Office, http://international.fullerton.edu/study-abroad, can connect youwith international opportunities that will fit into your study plan. The office is located in Titan Hall 1123.

34

Page 35: Undergraduate Handbook 2020-2021 Edition

6.8 Transfer Students

You should make an advisement appointment as early as possible. The department adviser can answer your questionsabout transfer credit for general education courses and can evaluate courses that apply to your major. Please bring anytranscripts or grade reports you have, official or not, to this appointment. A catalog from your prior institution may beuseful, particularly from those outside the Orange County area.

6.9 Nearing Graduation (Within One Year)

After completing 90 units of coursework, you are eligible to apply for graduation. The only way to apply for graduationis online through the TITAN Online Student Center. You cannot graduate without a completed Grad Check.

6.10 Probation

If you are on probation, it is definitely time to see an adviser. Until you do so, a hold will be in place on yourfile, preventing you from registering in classes. Your adviser will discuss with you the problems that led to yourprobation and review strategies you should take to get off probation. Make your advisement appointment early so yourregistration is not held up.

6.11 Peer Advising & Clubs

There are lots of student clubs on this campus for all sorts of interests. Visithttp://www.fullerton.edu/sll/involvement/clubs/ and look at the different clubs that are at CSUFullerton. You start your own club if you don’t see a club that aligns to your interests.

Some clubs that are computer science clubs are ACM, ACM-W, OSS, Machine Learning club.

35

Page 36: Undergraduate Handbook 2020-2021 Edition

36

Page 37: Undergraduate Handbook 2020-2021 Edition

7

Progress Flowcharts

The following flowchart is an examples of semester-by-semester class plan through the B.S. program. This plancompletes all major requirements in 8 semesters (4 years), satisfy all prerequisites along the way, and follow all tipsin this Handbook.

37

Page 38: Undergraduate Handbook 2020-2021 Edition

38

Page 39: Undergraduate Handbook 2020-2021 Edition

Generic

FourYearPlan

Year1

Fall

CPSC

120

CPSC

270A

CPSC

150A

GE

A.1

HC

OM

102

GE

A.2

EN

GL

101

Spring

CPSC

121

MA

TH

270B

MA

TH

150B

GE

C.1

AR

T101

GE

C.2

PHIL

100

Year2

Fall

CPSC

131

MA

TH

250A

GE

C.3

HIST

110A

GE

D.1

SOC

I110

GE

D.2

HIST

190

Spring

223

CPSC

240

MA

TH

250B

PHY

S225+L

GE

D.3

POSC

100

Year3

Fall

CPSC

351

CPSC

353

CPSC

332

MA

TH

338

CPSC

Elective

1

Spring

CPSC

335

CPSC

471

CPSC

362

CPSC

Elective

2

GE

MU

S303

Year4

Fall

CPSC

323

CPSC

481

CPSC

490

CPSC

Elective

3

Spring

CPSC

315

CPSC

491

CPSC

Elective

4

CPSC

Elective

5

ColorL

egend:C

oreC

ourseM

athR

eq.Science/M

athE

lect.Track

Course

Gen.E

d.

39

Page 40: Undergraduate Handbook 2020-2021 Edition

40

Page 41: Undergraduate Handbook 2020-2021 Edition

8

Credits and Revision History

Copyright 2015–2020, Department of Computer Science, California State University, Fullerton.

This document has been maintained by Sandra Boulanger, David Falconer, Mikhail Gofman, Michael Shafae, andKevin Wortman.

Last revision by Shawn X. Wang.

41

Page 42: Undergraduate Handbook 2020-2021 Edition

42

Page 43: Undergraduate Handbook 2020-2021 Edition

Index

ABET, 8, 13accreditation, 8address, 8advanced placement (AP), 28advisement

general, 33major, 33required, 34

career, 34contact information, 8CS electives, 16

department office, 8

e-mail, 8electives, 16

fax number, 8freshmen, 34

GE, 34general education, 18, 34grad check, 35graduation, 35

peer advising, 35phone number, 8placement examination, 28postal address, 8probation, 35Program Educational Objectives (PEOs), 9Program Outcomes, 9

request form, 18, 30

study abroad, 34

TDA, 30telephone number, 8tips, 9transfer, 25, 35

unit limit, 14

website, 8

43

Page 44: Undergraduate Handbook 2020-2021 Edition