Computer Science

Back to SBCC

Courses


CS 101: Computer Concepts
(4) 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: CS 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 114: Python Programming
(3) F, S - CSU, UC
Skills Advisories: Eligibility for ENG 103

Introduction to Python language programming. Covers the python data model (objects, values, and types), import system, expressions (unary, binary, comparisons, lambdas, and expression lists), simple and compound statements, objects and object-oriented programming, and the python library. This course will feature problem solving with python across multiple domains, basic software engineering principles, and debugging techniques.

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, UC
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 123: Android Programming
(1.5) F, S - CSU, UC
Course Advisories: CS 120 or 125

Project-based course covering the development of applications for the Android platform. Students use state-of-the-art tools and frameworks to build and analyze programs that incorporate user interfaces, web services, animation, multimedia, and location awareness.

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, UC
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 the Linux Operating System
(2.5) F, S - CSU, UC
Skills Advisories: MATH 4 and 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 132: Digital Logic Design
(3) F - CSU, UC
Skills Advisories: Eligibility for ENG 103. Proficiency in MATH 104 or MATH 107 or MATH 111.

Introduction to digital systems and logic design. Logic of propositions, boolean algebra, minterm and maxterm expansions, Karnaugh maps, Quine-McCluskey methods, multi-level circuits, combinational and sequential circuit design and timing diagrams, multiplexers, decoders, programmable logic devices, latches and flip-flops, finite state machines, registers and counters.

CS 133: Introduction to Programming for Engineers
(3) F, S - CSU, UC
Skills Advisories: Eligibility for ENG 110 or ENG 110H or ENG 110GB; MATH 107
Course Advisories: CS 100 or CIS 101

General philosophy of programming for engineering majors. Students are introduced to a modern programming language (Matlab). Specific areas of study include algorithms, basic decision structures, arrays, matrices and graphing.

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/UC
Prerequisite: MATH 150
Skills Advisory: Eligibility for ENG 103.

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 189: Programming Practicum
(1) F - CSU

Programming course focused on rapid team-based problem solving techniques. Problems are rapidly classified based on difficulty and the ability to partition the problem across the team. Algorithms are developed to solve those problems using standard tools and libraries. There is an emphasis on leadership skills, team dynamics, and team problem solving.

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.

Back to top


721 Cliff Drive Santa Barbara, CA 93109-2394    Main Campus Phone: 805.965.0581    © 2014 Santa Barbara City College