Courses
CS 101: Computer Concepts
(3) F, S - CSU, UC*
Skills Advisories: MATH 100 and Eligibility for ENG 103
Survey of the concepts of computer hardware and software, with emphasis on the latest technologies and programming. Topics include, but are not limited to, the Internet, productivity applications, databases, programming and numbering systems. Suitable for all majors and is a recommended first course for Computer Science majors. (*UC transfer limit: 101 combined with CIS 101: maximum credit, one course.)
CS 111: HTML And Webmastering(3) F, S - CSU
Skills Advisories: Eligibility for ENG 103
Project-oriented course focusing on the creation of web pages and the technology behind the web. Includes Hypertext Markup Language (HTML), Cascading Style Sheets (CSS), Forms, Extensible Markup Language (XML), Common Gateway Interface (CGI) and Content Management Systems (CMS). Students must also enroll in a CS 111 lab.
CS 115: Javascript And Dynamic HTML(3) F, S - CSU
Skills Advisories: Eligibility for ENG 110 or ENG 110H or ENG 110GB
Course Advisories: COMSC 111
Project-oriented introduction to JavaScript programming and using JavaScript with Cascading Style Sheets to implement cutting-edge Web page effects with Dynamic HTML.
CS 116: Web Server Programming(3) F, S - CSU
Skills Advisories: Eligibility for ENG 110 or ENG 110H or ENG 110GB
Course Advisories: CS 111 or CS 120
Project-oriented class that explores programming a Web server using PERL, Active Server Pages (ASP), Personal Home Pages (PHP), Tool Control Language (TCL) and Python, with an emphasis on PERL and PHP. Class develops Common Gateway Interface (CGI) scripts and Internet applications using these common tools. Includes such topics as e-commerce, security, browser independence and database integration.
CS 120: Java Programming(3) F, S - CSU, UC
Skills Advisories: Eligibility for ENG 103
Course Advisories: COMSC 101 or CIS 101
Study of the object-oriented programming using the Java programming language. Topics include classes, encapsulation, inheritance, packages and methods. Students implement applets that incorporate graphics, sound and animation for use on the World Wide Web and in the engineering of larger systems. The department's Pentium computer lab used.
CS 122: Java Mobile Device Programming(1.5) F, S - CSU
Skills Advisories: Eligibility for ENG 110 or ENG 110H or ENG 110GB
Course Advisories: CS 120 or CS 125
The use of Java in developing applications for wireless devices such as mobile phones and personal digital assistants. Students use mobile device frameworks to create user interfaces and access data from databases, XML documents and web services.
CS 125: C# Programming(1.5) F, S - CSU
Skills Advisories: Eligibility for ENG 103
Course Advisories: CS 120 or CS 140
Study of the programming language C# (C sharp). Definition of data types, loop control structures, functions, parameter passing, pointers, recursion, records, data structures, object-oriented techniques, the .NET framework, exception handling, interfaces, scoping rules and supplied system objects.
CS 126: Microsoft Mobile Device Programming(1.5) F, S - CSU
Skills Advisories: Eligibility for ENG 110 or ENG 110H or ENG 110GB
Course Advisories: CS 120 or CS 125
The use of C# in developing applications for wireless devices such as mobile phones and personal digital assistants. Students use mobile device frameworks to create user interfaces and access data from databases, XML documents and web services.
CS 127: ASP.net Using C#(1.5) S - CSU
Course Advisories: CS 125
Study of the use of C# in developing Active Server Page (ASP)-based dynamic websites. The use of the .NET framework, working with data and XML, error handling, ASP.net server controls, custom controls and optimizing applications.
CS 128: Flash Programming(1.5) F - CSU
Skills Advisories: Eligibility for English 110 or ENG 110H or ENG 110GB
Course Advisories: CS 120 or 125
The use of Flash in developing applications for the Internet and mobile devices. Students use the Flash development environment to create applications with animated user interfaces that can access information from web services and XML documents.
CS 129: J2ee Server Programming(1.5) F, S - CSU
Course Advisories: CS 120
Project-oriented introduction to Java 2 Enterprise Edition (J2EE) Web application development. Students learn to design, build and deploy Web applications. Servlets, Java Server Pages, Java DataBase Connectivity, JavaMail, eXtensible Markup Language processing and Enterprise JavaBeans are investigated.
CS 130: Introduction To Unix(1.5) F, S - CSU, UC
Skills Advisories: Eligibility for ENG 103
Course Advisories: CS 101
Survey of the UNIX/Linux operating system and related subject matter. Topics include UNIX/Linux architecture, commands, file system, processes, and bash shell environment. Lectures and computer laboratory exercises provide a moderate-depth understanding of UNIX/Linux architecture and commands from a computer science perspective.
CS 131: Assembly Language Programming(4) F, S - CSU, UC
Skills Advisories: Eligibility for ENG 103
Course Advisories: CS 135
Introduction to basic computer organization using Assembly language. Topics include computer hardware, machine language, data representation, binary manipulations, Boolean algebra, digital logic circuits, computer architecture and design. Assembly language programs developed on the college's computer. (CAN CSCI 10)
CS 135: Programming Fundamentals(3) F, S - CSU, UC
Skills Advisories: Eligibility for ENG 103
Course Advisories: CS 101
Study of fundamental programming concepts. Topics include structured and OOP programming, definition of data types, nested IFs, looping techniques, CASE statements, procedures, functions, value and address parameters, file structures, dynamic list structures and recursion. (CAN CSCI 12)
CS 137: C Programming(3) F, S - CSU, UC
Skills Advisories: Eligibility for ENG 103
Course Advisories: CS 131 or CS 135
Study of the programming language C. Definition of data types, loop controls structures, functions, parameter passing, pointers, recursion, records data structures, object-oriented techniques and the UNIX operating system. (CAN CSCI 16)
CS 140: Object-Oriented Programming Using C++(4) F, S - CSU, UC
Skills Advisories: Eligibility for ENG 103
Course Advisories: CS 120 or CS 137
Study of the object-oriented programming paradigm, including objects, messages, encapsulation, classes, inheritance and implementation issues. Implementations written in the object-oriented language C++. (CAN CSCI 18)
CS 142: Windows Programming With C++.NET(3) F, S - CSU
Skills Advisories: Eligibility for ENG 103
Course Advisories: COMSC 140
Study of Microsoft Windows programming with Visual C++.NET. This course also explores the difference between legacy windows programming using the windows Software Developers Kit (SDK) and Microsoft Foundation Classes (MFC) with state-of-the-art Windows.NET programming tools.
CS 143: Discrete Math(4) F, S - CSU
Skills Advisory: Eligibility for ENG 103.
Prerequesite: MATH 150 Introduction to the study of discrete objects, with a focus on applications in computer science. Topics include logic and proofs, sets, functions, sequences, sums, algorithms, integers, induction, recursion, counting, relations, graphs and trees.
CS 145J: Introduction To Data Structures(3) F, S - CSU, UC
Skills Advisories: Eligibility for ENG 103
Course Advisories: CS 120 or CS 135
Study of data structures and algorithms. Design, coding and testing of linked lists, trees, queues, stacks, hash tables, and other dynamic data structures, as well as searching and sorting algorithms. Time and space analysis of data structures and algorithms. Programs are written in the Java language.
CS 145P: Introduction To Data Structures(3) F, S - CSU, UC
Skills Advisories: Eligibility for ENG 103
Course Advisories: CS 135
Study of data structures and algorithms. Design, coding and testing of linked lists, trees, queues, stacks, hash tables, and other dynamic data structures, as well as searching and sorting algorithms. Time and space analysis of data structures and algorithms. Programs are written in the Pascal language.
CS 165: Software Design Patterns(1.5) F, S - CSU
Skills Advisories: Eligibility for ENG 110 or ENG 110H or ENG 110GB
Course Advisories: CS 120 or CS 140
Introduction to software design patterns and their use in object-oriented systems. Creational, structural and behavioral patterns are investigated. Real world examples by acknowledged experts are studied. Students strengthen their software design skills by applying patterns in course projects. State of the art development tools are used throughout the course.
CS 180: Software Engineering With UML(3) F, S - CSU,UC
Skills Advisories: Eligibility for ENG 110 or ENG 110H or ENG 110GB
Course Advisories: CS 120
Study of software engineering and component-based design using the Unified Modeling Language (UML). Students employ a standard software engineering process that includes requirements analysis, design, implementation and testing. Students learn about various UML diagrams and use them to express software requirements and designs. The course investigates rapid application development using state-of-the-art tools and component libraries.
CS 187: iPhone and iPod Touch Programming(3) F, S - CSU
Project-oriented course in developing Objective-C based native applications for the iPhone and iPod touch platforms. Covers development tools (Xcode, Interface Builder, Instruments). Objective-C language, Cocoa and Cocoa Touch frameworks, as well as deployment to the App store.
CS 190: Video Game Programming(3) F, S
Course Advisories: CS 137
Introduces students to programming video games for personal computers. The main platforms examined are DirectX and OpenGL on personal computers. Issues include responsiveness (latency), graphics compatibility, sound, event synchronization and I/O devices.
CS 191: DS Programming(3) S - CSU
Skills Advisories: MATH 120.
Introduces students to programming video games for the Nintendo Dual Screen (DS), using a hobbyist-created toolchain and ndslib. Examines the DS hardware in detail, and students learn how handheld games are developed and deployed.
