Contact Information

Contact Information
Division
Business and Technology
Dean
Amy Schulz
Associate Deans
Jill Alcorn, Vance Klinke
Location
Division Office
B 3, Rocklin Campus

Overview

The Computer Science curriculum prepares students for careers in computer programming and for transfer to state colleges and universities for further study in computer sciences or information science. The curriculum offers students both the theory and practical experience for entry level positions of employment. There are computer courses for non-science majors as well as science majors. In all cases, students should consult with a counselor for specific transfer requirements.

The Computer Science curriculum meets the Data Processing Management Association mode curriculum for undergraduate computer information systems education.

Faculty

Barry E. Brown

Professor, Computer Science

B.S., University of California, San Diego
M.S., University of California, San Diego

Gita Faroughi

Professor, Computer Science

B.S., California State Uiniversity, Sacramento
M.S., California State Uiniversity, Sacramento

Degrees/Certificates

Computer Science for Transfer

AS-T Degree

The Associate in Science in Computer Science for Transfer degree (AS-T) program provides students with a strong foundation in Computer Science. Upon completion of the program, students will demonstrate an ability to analyze problems and craft appropriate algorithmic solutions; apply knowledge of computing and mathematics appropriate to the discipline; interpret data, think critically and apply the scientific method; research and assess new ideas and information; and interpret technical information, as well as listen effectively to, communicate orally with and write clearly for a wide range of audiences.

The Associate in Science in Computer Science for Transfer degree (AS-T) prepares students to transfer into the CSU system to complete a bachelor’s degree in Computer Science or a major deemed similar by a CSU campus. Students earning an associate degree for transfer and meeting the CSU minimum transfer admission requirements are guaranteed admission with junior standing to the CSU system, but not to a particular campus or major. Upon transfer, students will be required to complete no more than 60 additional prescribed units to earn a bachelor’s degree.

To earn the Associate in Science in Computer Science for Transfer degree, students must complete 60 CSU-transferable semester units with a minimum grade point average of 2.0, including both of the following:

NOTE: The California State University General Education Breadth pattern (CSU GE) is NOT an option for this degree.

The exact wording of the law pertaining to associate degrees for transfer may be found in Education Code Section 66746.

It is highly recommended that, prior to transferring, students complete courses that satisfy the CSU United States History, Constitution and American Ideals graduation requirement. In all cases, students should consult with a counselor for more information on university admission and transfer requirements.

RESTRICTION: International coursework from non-United States regionally accredited institutions cannot be applied to associate degrees for transfer.

Required Courses

CSCI 0012Programming Concepts and Methodology I3
CSCI 0013Programming Concepts and Methodology II3
CSCI 0026Discrete Structures for Computer Science3
CSCI 0039Introduction to Computer Architecture and Assembly Language3
MATH 0030Analytical Geometry and Calculus I4
MATH 0031Analytical Geometry and Calculus II4
PHYS 0205Principles of Physics: Mechanics4
PHYS 0205LPrinciples of Physics Laboratory: Mechanics1
PHYS 0210Principles of Physics: Electricity and Magnetism3
PHYS 0210LPrinciples of Physics Laboratory: Electricity and Magnetism1
Total Units29

NOTE: IGETC is the only approved general education pattern for the Computer Science for Transfer degree. (CSU GE is NOT an approved option.)

Computer Science—Computer Science

AA or AS Degree

The curriculum in Computer Science prepares students for transfer to California State University, Sacramento and to many other university Computer Science degree programs. In all cases, students should consult with a counselor for more information on university admission and transfer requirements. Students must fulfill the following major requirements with grades of “C” or better, complete a minimum of 60 degree-applicable semester units (12 of which must be completed at Sierra College) with a grade point average of at least 2.0 and complete one of the following three general education patterns:

Required Courses

CSCI 0012Programming Concepts and Methodology I3
CSCI 0013Programming Concepts and Methodology II3
CSCI 0026Discrete Structures for Computer Science3
CSCI 0039Introduction to Computer Architecture and Assembly Language3
CSCI 0050Introduction to Unix/Linux3
CSCI 0062Web Programming I3
Select 9 units from the following:9
Data Structures
The Game Development Process
Visual Basic .NET Programming I
System Programming with C
Introduction to SQL
Visual Basic .NET Programming II
Object-Oriented Programming Using C++
Game Programming
Mobile Device Programming
Total Units27

Computer Science—Management Information Systems

AA or AS Degree

The curriculum in Management Information Systems has special emphasis on development, installation and maintenance of business software applications. Students must fulfill the following major requirements with grades of “C” or better, complete a minimum of 60 degree-applicable semester units (12 of which must be completed at Sierra College) with a grade point average of at least 2.0 and complete one of the following three general education patterns:

Required Courses

CSCI 0010Introduction to Computing3
CSCI 0027Visual Basic .NET Programming I3
CSCI 0050Introduction to Unix/Linux3
CSCI 0052Introduction to SQL3
CSCI 0054Visual Basic .NET Programming II3
CSCI 0062Web Programming I3
IT 0105Computer Network Fundamentals3
Select 6 units from the following:6
Programming Concepts and Methodology I
System Programming with C
Web Programming with PHP
Mobile Device Programming
Total Units27

Computer Science—Embedded Systems

Certificate of Achievement

Successful completion of the curriculum in Embedded Systems prepares students for entry-level programming positions in companies which manufacture products that have embedded microprocessors. A certificate is designed to provide career technical skills; it is not equivalent to an associate degree.

Required Courses

CSCI 0012Programming Concepts and Methodology I3
CSCI 0026Discrete Structures for Computer Science3
CSCI 0039Introduction to Computer Architecture and Assembly Language3
CSCI 0046System Programming with C3
CSCI 0079Mobile Device Programming3
MECH 0010Fundamentals of Electronics4
Total Units19

Courses

Understanding course descriptions

CSCI 0010. Introduction to Computing

Units: 3
Advisory: Completion of MATH A with grade of "C" or better
Hours: 72 (54 lecture, 18 laboratory)
Survey of computer science technologies and methods. Introduction to computer hardware and software, structured programming, operating system concepts, communications and social impacts of computer technology. Explore current and emerging topics such as robotics, computer security and artificial intelligence. (CSU, UC)

CSCI 0012. Programming Concepts and Methodology I

Units: 3
Prerequisite: Completion of CSCI 10 with grade of "C" or better
Hours: 72 (54 lecture, 18 laboratory)
Introduces the discipline of computer science using a high level language utilizing programming and practical hands-on problem solving. (C-ID COMP 122) (CSU, UC)

CSCI 0013. Programming Concepts and Methodology II

Units: 3
Prerequisite: Completion of CSCI 12 with grade of "C" or better
Hours: 72 (54 lecture, 18 laboratory)
Application of software engineering techniques to the design and development of large programs; data abstraction and structures and associated algorithms. (C-ID COMP 132) (CSU, UC)

CSCI 0014. Data Structures

Units: 3
Prerequisite: Completion of CSCI 66 with grade of "C" or better; and completion with grade of "C" or better, or concurrent enrollment in CSCI 26
Advisory: Completion of CSCI 13 with grade of "C" or better
Hours: 72 (54 lecture, 18 laboratory)
A comprehensive introduction of data structures for computer science. Topics include: lists, stacks, trees, hash tables, and heaps. Associated algorithms are also covered: searching, sorting, traversal, path finding, spanning tree, and network flow. C++ is used as the implementation language. (CSU, UC)

CSCI 0021. The Game Development Process

Units: 3
Advisory: Completion of MATH D with grade of "C" or better
Hours: 72 (54 lecture, 18 laboratory)
Introduction to the history, technology, ethics, and design of computer games. A generally accessible course about the process of creating computer games from concept to implementation, including documentation, storyboards, character design, gameplay, animation and marketing. Students use these concepts to create a complete computer game of their own design. Programming experience not required. (CSU, UC)

CSCI 0026. Discrete Structures for Computer Science

Units: 3
Prerequisite: Completion of CSCI 12 and MATH 12 with grades of "C" or better
Hours: 72 (54 lecture, 18 laboratory)
Introduction to the essential discrete structures used in Computer Science, with emphasis on their applications. Includes elementary formal logic and set theory, elementary combinatorics, recursive programming and algorithm analysis, Boolean algebra, digital logic, combinatorial circuits, graph theory, circuit design and minimization, and computer arithmetic. (C-ID COMP 152) (CSU, UC)

CSCI 0027. Visual Basic .NET Programming I

Units: 3
Prerequisite: Completion of CSCI 10 with grade of "C" or better
Hours: 72 (54 lecture, 18 laboratory)
Introduction to methods and techniques of Visual Basic .NET programming. Includes coverage of user interface design, variables, decisions, menus, functions, object-oriented programming, looping, arrays, and printing. Designed to bring students up to the necessary skill and knowledge level for an intermediate-level programming course. (CSU)

CSCI 0028. Independent Study

Units: 1-3
Designed for students interested in furthering their knowledge at an independent study level in an area where no specific curriculum offering is currently available. Independent study might include, but is not limited to, research papers, special subject area projects, and research projects. See Independent Study page in catalog. (CSU, UC-with unit limitation)

CSCI 0039. Introduction to Computer Architecture and Assembly Language

Units: 3
Prerequisite: Completion of CSCI 10 with grade of "C" or better
Hours: 72 (54 lecture, 18 laboratory)
Assembly language programming techniques and introductory computer architecture concepts. Topics include addressing modes; pseudo operations; stack processing; subroutine linkage; arithmetic and logical operations; input and output; digital logic. Programs are designed, coded, tested, and debugged. (C-ID COMP 142) (CSU, UC)

CSCI 0046. System Programming with C

Units: 3
Prerequisite: Completion of CSCI 12 with grade of "C" or better
Advisory: Completion of CSCI 50 with grade of "C" or better
Hours: 72 (54 lecture, 18 laboratory)
Introduction to the C language and system programming on a Unix-like operating system. Topics include the standard C library, memory allocation, file I/O, permissions, system calls, networking, and process management. Development in a Unix environment will cover editors, shell scripting, makefiles, source code control, and debugging. (CSU, UC)

CSCI 0050. Introduction to Unix/Linux

Units: 3
Prerequisite: Completion of CSCI 10 with grade of "C" or better
Hours: 72 (54 lecture, 18 laboratory)
An introduction to the Unix and Linux operating systems with an emphasis on system programming. Topics include the filesystem, permissions, regular expressions, processes, networking, basic system administration, and shell scripting. Extensive hands-on experience using the command line interface. (CSU, UC)

CSCI 0052. Introduction to SQL

Units: 3
Prerequisite: Completion of CSCI 10 with grade of "C" or better
Hours: 72 (54 lecture, 18 laboratory)
Survey of SQL (Structured Query Language). Includes database models, database design, table and view definition, transaction and data manipulation, queries and reports, data integrity, stored procedures, triggers, recovery and security. Hands-on experience using a popular SQL database. (CSU)

CSCI 0054. Visual Basic .NET Programming II

Units: 3
Prerequisite: Completion of CSCI 27 with grade of "C" or better
Hours: 72 (54 lecture, 18 laboratory)
Intermediate Visual Basic .NET programming. Includes coverage of multitier applications, database applications, databases using related tables, database updates, using Web forms, Web forms database and updates, XML Web services, and writing database reports using Crystal Reports. (CSU, UC)

CSCI 0059P. Web Programming with PHP

Units: 3
Formerly known as CSCI 303
Prerequisite: Completion of CSCI 12 or 27 with grade of "C" or better
Advisory: Completion of CSCI 62 with grade of "C" or better
Hours: 72 (54 lecture, 18 laboratory)
Create dynamic, session-oriented, data-driven web sites using the PHP scripting language. Covers processing fill-out forms, database backends, session management, authentication and searching. (CSU)

CSCI 0062. Web Programming I

Units: 3
Prerequisite: Completion of CSCI 10 with grade of "C" or better
Hours: 72 (54 lecture, 18 laboratory)
Introduction to methods and techniques of Web programming. Includes coverage of HyperText Markup Language (HTML), Cascading Style Sheets (CSS), and Extensible HyperText Markup Language (XHTML). Designed to bring students up to the necessary skill and knowledge level for an intermediate Web programming course. (CSU)

CSCI 0066. Object-Oriented Programming Using C++

Units: 3
Prerequisite: Completion of CSCI 12 with grade of "C" or better
Advisory: Completion of CSCI 46 with grade of "C" or better
Hours: 72 (54 lecture, 18 laboratory)
An introduction to the concepts of object-oriented programming and the application of the C++ language. Extensive programming practice using C++ as the vehicle toward modular, reusable object-oriented code. (CSU, UC)

CSCI 0076A. Game Programming

Units: 3
Prerequisite: Completion of CSCI 12 with grade of "C" or better
Advisory: Completion with grade of "C" or better or concurrent enrollment in CSCI 13
Hours: 72 (54 lecture, 18 laboratory)
Explore the algorithms, data structure, and techniques used to program computer video games. Emphasis on arcade-style video games (new and classic) written in Java. Topics include 2D animation, sprites, interaction, music, and sound. Underlying issues include graphical user interface programming, multi-threaded applications, realtime programming, use of sophisticated APIs, and societal impacts of computer gaming. (CSU, UC)

CSCI 0079. Mobile Device Programming

Units: 3
Formerly known as CSCI 309
Prerequisite: Completion of CSCI 12 with grade of "C" or better
Hours: 72 (54 lecture, 18 laboratory)
Introduction to creating applications for mobile devices including Apple iPhone, iPad, and Google Android. Topics include touch interfaces, GUI elements, sensor input, simple animation and game play, network communication, and database access. (CSU)

CSCI 0095. Internship in Computer Science

Units: 0.5-4
Designed for advanced students to work in an area related to their educational or occupational goal. Provides new on-the-job technical training under the direction of a worksite supervisor, allowing students to expand knowledge and skills in the chosen field. Mandatory orientation session and faculty approval to determine eligibility. One unit of credit is equal to each 60 hours of non-paid work, or each 75 hours of paid work. Students may earn up to a total of 16 units in internship courses (any course numbered 95 and PDEV 94). (CSU-with unit limitation)

Program Student Learning Outcomes (PSLOs)

  • Engage in continuous learning as well as research and assess new ideas and information to provide the capabilities for lifelong learning.
  • Read and interpret technical information, as well as listen effectively to, communicate orally with, and write clearly for a wide range of audiences.
  •  Analyze a problem and craft an appropriate algorithmic solution.
  • Apply knowledge of computing and mathematics appropriate to the discipline.
  • Interpret data, think critically and apply the scientific method.