3D app icons on phone

COMPUTER SCIENCE

Computer Science is the study of ways to use computer equipment to analyze and transform information. Students learn to direct computer operations by writing detailed instructions in computer languages to solve a variety of problems. Programs in Computer Science intend to prepare people for careers such as programmers, computer scientists, systems analysts, and data processing managers.

Associate in Arts Degree in Computer Science

Required courses | Semester at a Glance

Associate in Arts Degree in Software Development

Required courses | Semester at a Glance

Associate in Arts Degree in Video Game Development

Required courses | Semester at a Glance


Associates in Science Degree in Computer Science

The Computer Science Department provides student opportunities to study the computing environment for business and scientific solution automation. Computer Science Majors are introduced to computing history and evolution, software development, structures and procedures for data manipulation, object oriented methodology, symbolic logic tools for computational algorithms, and computing solutions at machine language level of implementation. Critical thinking and problem solving skills are acquired through individual and group project assignments. Students are encouraged to develop academic and programming skills enabling them to be successful in further study or employment.

Program Level Learning Outcomes

Upon completion of this program, students will be able to: 

  • Design software components and specification to satisfy small business and scientific problem requirements.
  • Design and implement algorithms that include basic computation techniques, simple I/O, conditional and iterative structures, and the definition of functions.
  • Utilize object oriented principles for class hierarchies and inheritance.
  • Implement programs at machine language level using fundamental high-level programming constructs.
  • Describe formal tool of symbolic logic as they relate to real-life situation, program correctness, database queries, and algorithms.
Required courses

CS G242 Computer Architecture and Organization – 3 units
CS G262 Discrete Structures – 3 units
MATH G180 Calculus 1 – 5 units
MATH G185 Calculus 2 – 5 units
PHYS G185 Calculus Based Physics: Mechanics – 4 units
PHYS G280 Calculus Based Physics: Electricity and Magnetism – 4 units 

Choose one course:
CS G153 Java Programming Intro. – 4 units 
CS G175 C++ Programming – 4 units

Choose one course:
CS G154 Data Structures with Java – 4 units
CS G189 Data Structures with C++ – 4 units 

Required Major Total: 32 units
Completion of CSU-GE Breadth or IGETC pattern: 37-39 units
(Possible double counting:  7 units): 7 units
Transferable electives (as needed to reach 60 units) : 0 units
Total Units: 62 units


Semester at A Glance – Computer Science Associate In Science Degree

Semester 1
MATH G180 Calculus 1 – 5 units

Choose one course:
CS G153 Java Programming Intro.  – 4 units 
CS G175 C++ Programming – 4 units 

Semester 2
PHYS G185 Calculus Based Physics: Mechanics – 4 units

Choose one course:
CS G154 Data Structures with Java – 4 units
CS G189 Data Structures with C++ – 4 units 

Semester 3
MATH G280 Calculus 2 – 5 units
CS G242 Computer Architecture and Organization – 3 units

Semester 4
PHYS G280 Calculus Based Physics: Electricity and Magnetism – 4 units
CS G262 Discrete Structures – 3 units

Total: 32 units


Associate in Arts Degree in Software Development

Program Level Learning Outcomes

Upon completion of this program, students will be able to:

  • Design and build single-user applications.
  • Design and build multi-user web-based applications.
  • Design and build single-user database environments.
  • Design and build multi-user database environments.
Required courses

Computer Science G175 – Programming with C++ – 4 units
Computer Science G102 – Survey of Software Development Tools – 4 units
Computer Science G189 – Advanced C++ – 4 units

Computer Science G177 – Visual Basic.net – 4 units
or
Computer Science G178 – Visual C# – 4 units

Computer Science G196 – Programming the Web – 4 units

Total units: 20 units


Semester at a Glance – Associate in Arts Degree in Software Development

Semester 1
Computer Science G175 – C++ Programming – 4 units
General Education – TBD

Semester 2
Computer Science G102 – Computer Software Development, Intro – 4 units
Computer Science G189 – Data Structures with C++ – 4 units
General Education – TBD

Semester 3
Computer Science G177 – Visual Basic.NET – 4 units
or
Computer Science G178 – Visual C#.NET – 4 units

General Education – TBD

Semester 4
Computer Science G196 – Programming the Web – 4 units
General Education – TBD

Major Total: 20 units
GE Pattern: GWC AA, CSU General Education Breadth or IGETC Pattern: 21-39 units
DEGREE TOTAL UNITS (maximum): 60 units


Associate in Arts Degree in Video Game Development

Program Level Learning Outcomes

Upon completion of this program, students will be able to:

  • Describe the hardware and software components of a video game system.
  • Design and build a single-user 2D and 3D video game.
  • Design and build a multi-user PC or Mobile game.
  • Evaluate existing game engines, script games in those engines, build and deploy characters and models.
Required courses

Computer Science G175 – C++ Programming – 4 units
or
Computer Science G178 – Visual C#.NET – 4 units

Computer Science G147 – Game Programming, Introduction – 4 units
Computer Science G148 – Game Programming, Intermediate – 4 units
Computer Science G149 – Game Programming, Advanced – 4 units

And choose one of the following courses:
Computer Science G121 – Creating Game Artwork, Introduction – 4 units
Computer Science G150 – Mobile Game Programming – 4 units

Total units: 20 units


Semester at a Glance – Associate in Arts Degree in Video Game Development

Semester 1
Computer Science G175 – C++ Programming – 4 units
or
Computer Science G178 – Visual C#.NET – 4 units

General Education – TBD

Semester 2
Computer Science G147 – Game Programming, Introduction – 4 units
General Education – TBD

Semester 3
Computer Science G148 – Game Programming, Intermediate – 4 units
General Education – TBD

Semester 4
Computer Science G149 – Game Programming, Advanced – 4 units

And choose one of the following courses:
Computer Science G121 – Creating Game Artwork, Introduction – 4 units
Computer Science G150 – Mobile Game Programming – 4 units
General Education – TBD

Major Total: 20 units
GE Pattern: GWC AA, CSU General Education Breadth or IGETC Pattern: 21-39 units
DEGREE TOTAL UNITS (maximum): 60 units

Software Development Certificate Of Achievement

Required courses | Semester at a Glance

Video Game Development Certificate Of Achievement

Required courses | Semester at a Glance


Software Development Certificate Of Achievement

The Software Development certificate at Golden West College is designed to provide formal training for individuals who seek entry into the rapidly growing fields of computer software engineering, systems analysis, application development, and systems software. Students utilize the latest tools to learn programming languages, algorithms, operating system environments, and web-based multi-user application architectures. Classes are conducted in smart classrooms with the latest instructional tools. Sizable projects are undertaken in each class providing the students with an opportunity to add the projects to their portfolios, and knowledge to their skill sets.

Students can apply the skills they learn through this program, to: general computing (corporate applications, databases, web applications); entertainment media development (3-D computer animation for video games and movies); engineering applications (computer-aided manufacturing, robotics, and product simulations); and emerging technologies (artificial intelligence, urban simulation, augmented reality, and biotechnology process simulation).

Program Level Learning Outcomes

Upon completion of this program, students will be able to:

  • Design and build single-user applications.
  • Design and build multi-user web-based applications.
  • Design and build single-user database environments.
  • Design and build multi-user database environments.
  • Understand computer programming using Microsoft programming languages and operating systems environments.
Required courses

Computer Science G175 – Programming with C++ – 4 units
Computer Science G102 – Survey of Software Development Tools – 4 units
Computer Science G189 – Advanced C++ – 4 units

Computer Science G177 – Visual Basic.net – 4 units
or
Computer Science G178 – Visual C# – 4 units

Computer Science G196 – Programming the Web – 4 units

Total units: 20 units


Semester at a Glance – Software Development Certificate Of Achievement

Semester 1
Computer Science G175 – C++ Programming – 4 units

Semester 2
Computer Science G102 – Survey of Software Development Tools – 4 units
Computer Science G189 – Advanced C++ – 4 units

Semester 3
Computer Science G177 – Visual Basic.NET – 4 units
or
Computer Science G178 – Visual C#.NET – 4 units

Semester 4
Computer Science G196 – Programming the Web – 4 units

Total units: 20


Video Game Development Certificate Of Achievement

The Game Development Certificate at Golden West College is designed to prepare students for challenging and rewarding careers in computer-based game development, 3D Graphics Programming, Computer Animation, and other exciting fields. Students utilize the latest tools to learn about 3D computer graphics, console and PC based games, mobile games, and multiplayer online games. Classes are conducted in smart classrooms with the latest instructional tools. A sizable project is undertaken in each class providing the students with an opportunity to add an exciting project to their portfolios.

Students can apply the skills they learn through this certificate program, to general computing (corporate applications, databases, web applications); entertainment media development (3-D computer animation for film/video); engineering applications (computer-aided manufacturing, robotics, and product simulations); and emerging technologies (artificial intelligence, urban simulation, augmented reality, and biotechnology process simulation).

Program Level Learning Outcomes

Upon completion of this program, students will be able to:

  • Describe the hardware and software components of a video game system.
  • Design and build a single-user 2D and 3D video game.
  • Design and build a multi-user PC or Mobile game.
  • Evaluate existing game engines, script games in those engines, build and deploy characters and models.
Required courses

Computer Science G175 – C++ Programming – 4 units
or
Computer Science G178 – Visual C#.NET – 4 units

Computer Science G147 – Game Programming, Introduction – 4 units
Computer Science G148 – Game Programming, Intermediate – 4 units
Computer Science G149 – Game Programming, Advanced – 4 units

And choose one of the following courses:
Computer Science G121 – Creating Game Artwork, Introduction – 4 units
Computer Science G150 – Mobile Game Programming – 4 units

Total units: 20


Semester at a Glance – Video Game Development Certificate Of Achievement

Semester 1
Computer Science G175 – C++ Programming – 4 units
or
Computer Science G178 – Visual C#.NET – 4 units

Semester 2
Computer Science G147 – Game Programming, Introduction – 4 units

Semester 3
Computer Science G148 – Game Programming, Intermediate – 4 units

Semester 4
Computer Science G149 – Game Programming, Advanced – 4 units

And choose one of the following courses:
Computer Science G121 – Creating Game Artwork, Introduction – 4 units
Computer Science G150 – Mobile Game Programming – 4 units

Total units: 20

Click here to view all courses

COMPUTER SCIENCE G101 – 3 Units
Course Outline (opens new window)
Computer Literacy
This course is designed to provide students with a brief overview of computing concepts and terminology. It will acquaint the student with the social implications of pervasive computer technology in our society. A good course for the student who wants a first experience in computing. Lecture & lab. Optional pass/no pass grade. Transferable to CSU; UC.

COMPUTER SCIENCE G102 – 4 Units
Course Outline (opens new window)
Computer Software Development, Introduction
This course will introduce students to the basic principles of computers and software development. Computer architecture concepts and principles of operation, operating systems basics, file management, and software development principles will be discussed, demonstrated and practiced. Common programming languages, including Java, C, C++, and Visual Basic will be discussed and small programs in each language will be written. Lecture & lab. Optional pass/no pass grade. Transferable to CSU.

COMPUTER SCIENCE G121 – 4 Units
Course Outline (opens new window)
Creating Game Artwork, Introduction
Advisories: Computer Science G130
This course is a study in the process of computer game artwork and animation. Students will be introduced to the basic building blocks of 3D game artwork and the process of its creation. Concepts of graphics objects, rendering, shading, alpha blending, texture mapping, and materials will be discussed. Students will learn hands on 3D computer modeling techniques as well as texture map creation using a digital imaging software and UV mapping tools. Lecture & lab. Optional pass/no pass grade. Transferable to CSU.

COMPUTER SCIENCE G127 – 4 Units
Course Outline (opens new window)
Introduction to Programming with PHP and MySQL
Advisories: Computer Science G102 or G130
This course will cover the fundamentals of Web-based software development using the PHP scripting language together with HTML and MySQL Open Source Database. The process of software development will be discussed to include: designing, writing source code, executing, and testing and debugging. Data types, arithmetic and logical expressions, debugging, looping, branching, modularization, simple database access, simple database structures and simple HTML will be discussed in lectures and practiced through lab projects. Web-based Internet applications will be designed and created. Lecture & lab. Optional pass/no pass grade.  Transferable to CSU.

COMPUTER SCIENCE G130 – 4 Units
Course Outline (opens new window)
Survey of Computer Science/Information Technology
TThis class surveys computer science and information technology with emphasis on computer business applications. The student will be exposed to computer concepts including components of a computer, operating systems, utility programs, terminology, communications, networking, internet usage, ethical issues and computer application software, such as word processing, spreadsheets, database, database query and presentation software. The student will complete projects in a desktop computer environment. Lecture & lab. Optional credit/no credit or grade. Transferable to CSU; UC. IT IS 120. C-ID: IT IS 120 Lecture & lab. Optional pass/no pass grade. Transferable to CSU; UC.

COMPUTER SCIENCE G131 – 4 Units
Course Outline (opens new window)
Python Programming I
Advisories: Computer Science G102
This course will cover the fundamentals of programming using Python language. The process of software development will be discussed to include: designing, writing source code, executing, and testing and debugging. Data types, arithmetic and logical expressions, debugging, looping, branching, modularization, simple database access, simple database structures and simple Graphical User Interface will be discussed in lectures and practiced through lab projects. Business, scientific and mathematics applications will be designed and created. Lecture & lab. Optional pass/no pass grade. Transferable to CSU.

COMPUTER SCIENCE G135 – 4 Units
Course Outline (opens new window)
UNIX/Linux Operating System
Advisories: Computer Science G102 or Computer Science G103
This course provides an overview of UNIX / Linux Operating System. Students will learn concepts such as file system, variables and permissions, plus file and directory management commands, editors, filters, links and redirection. Lab sessions will be provided to practice and finish home works executing UNIX / Linux commands, both in the shell and the Graphical User Interface (GUI) environments. Lecture & lab. Optional pass/no pass grade. Transferable to CSU; UC.

COMPUTER SCIENCE G147 – 4 Units
Course Outline (opens new window)
Game Programming, Introduction
Advisories: Computer Science G177 or G178
This course is designed to study the principles of computer game development. Students will be introduced to the basic building blocks of computer games and learn about the various game engines. Concepts of graphics objects, rendering, shading, transformation, alpha blending, stenciling, texture, and materials will be discussed and practiced. Lecture & lab. Optional pass/no pass grade. Transferable to CSU.

COMPUTER SCIENCE G148 – 4 Units
Course Outline (opens new window)
Game Programming, Intermediate
Advisories: Computer Science G147
This course will present intermediate techniques and principles in developing computer games. Students will study and develop custom game engines, experiment with custom shaders using HLSL (High-Level Shading Language), interact with gaming input devices, study object motion and collision, integrate sound, and build and import characters using animation software. Visual Studio .Net will be used to create managed DirectX programs on the Windows platform. Lecture & lab. Optional pass/no pass grade. Transferable to CSU. Offered spring semester only.

COMPUTER SCIENCE G149 – 4 Units
Course Outline (opens new window)
Game Programming, Advanced
Advisories: Computer Science G148
This course will present advanced techniques and principles in developing multiplayer computer games. Students will study and develop advanced game engines, optimized 3D rendering sub-systems, Level Editors, and artificial intelligence algorithms for multiplayer online games. Visual Studio .Net and DirectX will be used to create multiplayer games on the Windows platform. Lecture & lab. Optional pass/no pass grade. Transferable to CSU.

COMPUTER SCIENCE G150 – 4 Units
Course Outline (opens new window)
Mobile Game Programming
Advisories: Computer Science G148
This course will cover the principles of video game development for mobile devices. Students will be introduced to the basic building blocks of mobile platforms and the tools and components available for developing video games for these platforms. Concepts of graphics libraries, simulation tools, debugging facilities, memory and performance limitations, and development methodologies will be discussed and practiced. Lecture & lab. Optional pass/no pass grade. Transferable to CSU.

COMPUTER SCIENCE G153 – 4 Units
Course Outline (opens new window)
Java Programming, Introduction
Advisories: Computer Science G102, Mathematics G030
This course will cover the fundamentals of software development using the Java Language. The discussions of software development process will include: designing, writing source code, compiling, linking, executing, and debugging. Data types, arithmetic and logical expressions, debugging, looping, branching, modularization, dynamic memory allocation, classes and objects will be discussed in lectures and practiced through lab projects. Both console and GUI-based (Graphical User Interface) applications will be designed and created. C-ID: COMP 122. Lecture & lab. Optional pass/no pass grade. Transferable to CSU; UC.

COMPUTER SCIENCE G154 – 4 Units
Course Outline (opens new window)
Data Structures with Java
(Formerly known as: Java Data Structures, Advanced)
Prerequisites: Computer Science G153 or G175
Advanced programming techniques and Object Oriented Programming principles in Java will be exploited in learning the concepts of data structures. Students will gain theoretical and hands-on experience with the implementation of typical data structures (e.g., arrays, queues, stacks, linked-lists, trees, hashing, and graphs) used in programming applications. Principles of recursion, sorting, searching, optimization, classes, objects, inheritance, and polymorphism will be explored and practiced. C-ID: COMP 132. Lecture & lab. Letter grade only. Transferable to CSU; UC. Offered spring semester only.

COMPUTER SCIENCE G167 – 4 Units
Course Outline (opens new window)
iPhone Programming with Objective-C
Advisories: Successful completion of at least one course in C programming or one of these Object Oriented (OO) languages, C++, C# (CSharp), or Java, and should understand OO design and development concepts.
This course will cover the fundamentals of iPhone application development using the Objective-C Language and the iPhone SDK (Software Development Kit). The application development process will include: designing for MVC (Model-View-Controller), writing source code, compiling, linking, executing, debugging, and testing. The theory and use of Cocoa and Cocoa Touch, Xcode, Interface Builder, Core Audio /Animation /Data /Location, UIKit (User Interface), GameKit and App design will be discussed in lectures and practiced through lab projects. iPhone applications will be designed and created. Lecture & lab. Optional pass/no pass grade. Transferable to CSU.

COMPUTER SCIENCE G175 – 4 Units
Course Outline (opens new window)
C++ Programming
Advisories: Computer Science G102, Math G030, or Math G040
This course will cover the fundamentals of software development using the C++ Language. The discussions of software development process will include: designing, writing source code, compiling, linking, executing, and debugging. Data types, arithmetic and logical expressions, debugging, looping, branching, modularization, static and dynamic memory allocation, classes and objects will be discussed in lectures and practiced through lab projects. Both console and GUI-based (Graphical User Interface) applications will be designed and created. C-ID: COMP 122. Lecture & lab. Optional pass/no pass grade. Transferable to CSU; UC.

COMPUTER SCIENCE G178 – 4 Units
Course Outline (opens new window)
Visual C# .NET
Advisories: Computer Science G153 or G175
This course will cover software development in the Microsoft .NET framework. Visual C# .NET will be used as the development tool to discuss and practice Windows-based applications and Web-based applications. This course prepares students for Microsoft.NET Framework Web-Based Development Certificate and Windows Client Development Certificate. Lecture & lab. Optional pass/no pass grade. Transferable to CSU.

COMPUTER SCIENCE G179 – 4 Units
Course Outline (opens new window)
C++ Programming, Advanced
Advisories: Experience with Object Oriented Programming in C++, including templates.
This course covers advanced features of software development using the C++ language. Topics covered will include input/output streams, file input and output, exception handling, Standard Template Library (STL) including string class, sequential and associative containers. Understanding function objects, STL algorithms, adaptive containers, bitset class and smart pointers will also be discussed in lectures and practiced through lab projects. Lecture & lab. Optional pass/no pass grade. Transferable to CSU; UC.

COMPUTER SCIENCE G185 – 3 Units
Course Outline (opens new window)
World Wide Web
Advisories: Computer Science G130
Discussions will include: the history, present status, and future trends of global communications via the Internet; network topologies and communication protocols; and Internet servers (World Wide Web, gopher, etc.). Student will search the Internet’s cyberspace, create HTML (HyperText Markup Language) pages, learn Java Scripting, and Cascading Style Sheets (CSS), understand e-mail, File Transfer Protocol, and various other internet elated tools and utilities. Lecture & lab. Optional pass/no pass grade. Transferable to CSU.

COMPUTER SCIENCE G189 – 4 Units
Course Outline (opens new window)
Data Structures with C++
Prerequisites: Computer Science G153 or Computer Science G175
This lecture and laboratory course will cover the Data Structures and Object Oriented Programming concepts using the C++ language. Arrays, queues, stacks, linked-lists, trees, hashing, graphs, recursion, sorting, searching, optimization, classes, objects, inheritance, and polymorphism will be discussed and practiced. C-ID COMP 132 Lecture & lab. Optional pass/no pass grade. Transferable to CSU; UC. Offered spring semester only.

COMPUTER SCIENCE G196 – 4 Units
Course Outline (opens new window)
Web Programming with .NET
Advisories: Computer Science G177 or G178
Students will study and build eCommerce and eBusiness applications using various tools, languages, & utilities to include: Visual Basic .Net, C#, Code Behind, Active Server Pages.Net, ActiveX Data Objects.Net, Structured Query Language (SQL) & Common Gateway Interface. Web services will be discussed and implemented using XML, SOAP, WSDL, & UDDI. This course prepares students for Microsoft .NET Framework Web-Based Development Certificate. Lecture & lab. Optional pass/no pass grade. Transferable to CSU; UC.

COMPUTER SCIENCE G242 – 3 Units
Course Outline (opens new window)
Computer Architecture and Organization
Advisories: Computer Science G175 or Computer Science G153
This course will cover the organization and behavior of real computer systems at the assembly-language level. The mapping of statements and constructs in a high-level language onto sequences of machine instructions is studied, as well as the internal representation of simple data types and structures. Numerical computation is examined, noting the various data representation errors and potential procedural errors. C-ID COMP 142 Lecture. Letter grade only. Transferable to CSU; UC.

COMPUTER SCIENCE G262 – 3 Units
Course Outline (opens new window)
Discrete Structures
Prerequisites: Computer Science G153 or Computer Science G175 and Math G030, or Math G040, or Math Placement Assessment
This course is an introduction to the discrete structures used in Computer Science with an emphasis on their applications. Topics covered include: Functions, Relations and Sets; Basic Logic; Proof Techniques; Basics of Counting; Graphs and Trees; and Discrete Probability. C-ID COMP 152. Lecture. Letter grade only. Transferable to CSU; UC.