Welcome | Admission | Enrollment | Fees | Payment | Book Information
Financial Assistance | Campus Services Other Programs

Computer Science

Keyboarding skills of 25 words per minute or enrollment in OFTECH 1A or 9A are recommended for computer programming classes.

CS 3, Introduction to Computer Systems   3 units

Transfer: UC*, CSU • Prerequisite: None.

*No UC credit for CIS 1 or 4 if taken after CS 3.

This is a beginning course intended for students who plan to take additional computer programming or computer science courses. Emphasis in the course is divided between a broad survey of the field of computer information systems and the acquisition of computer skills necessary for more advanced classes. Such skills would involve use of the operating system, file management techniques, use of an editor, and an introduction to programming.

1663   8:00a-9:20a TTh   BUS 203   Marchand K A

1664   9:30a-10:50a MW   BUS 203   Rogler H L

1665   11:15a-12:35p MW   BUS 203   Rogler H L

1666   2:15p-3:35p MW   BUS 203   Rogler H L

1667   2:15p-3:35p TTh   BUS 201   Hurley D P

1668   3:45p-5:05p MW   BUS 203   Rogler H L

1669   Arrange-6.5 Hours    ONLINE-E   Hurley D P

Above section 1669 meets for 8 weeks, Aug 26 to Oct 18, and is a Distance Education course conducted over the Internet. For additional information, go to smconline.org (schedule of classes).

1670   Arrange-4.5 Hours    ONLINE-E   Hurley D P

Above section 1670 meets for 12 weeks, Sep 16 to Dec 06, and is a Distance Education course conducted over the Internet. For additional information, go to smconline.org (schedule of classes).

1671   Arrange-4.5 Hours    ONLINE-E   Hurley D P

Above section 1671 meets for 12 weeks, Sep 16 to Dec 06, and is a Distance Education course conducted over the Internet. For additional information, go to smconline.org (schedule of classes).

4123   6:45p-9:50p T   BUS 201   Kurtz K A

CS 8, Systems Analysis and Design    3 units

Transfer: UC, CSU • Prerequisite: Any computer programming course.

This advanced course requires students to be proficient in programming. Students with little programming experience are encouraged to take additional programming courses before enrolling in this course.

In this course students learn how to design a software system from data collection, analysis and design to final output including forms, flowcharts, and documentation. It covers the tools and techniques used in analysis, design, and project management, such as the preparation of systems specifications, detail system designs, Gantt charts, and data-flow diagrams. In this course students develop a complete system; however this course does not cover any programming concepts.

1672   Arrange-4.5 Hours    ONLINE-E   Darwiche J

Above section 1672 meets for 12 weeks, Sep 16 to Dec 06, and is a Distance Education course conducted over the Internet. For additional information, go to smconline.org (schedule of classes).

CS 9A, Technology Project Management I    3 units

Transfer: CSU • Prerequisite: CS 3 or CIS 1.

This course covers the fundamentals of Project Management theory, implementation, and best practices. It is aimed at students who work mostly in the Technology sectors covering software and website development, and other areas of computer science or information systems. Students will learn the theory, as well as the use of Project Management software to plan, track and manage project resources. Topics covered include project life cycles, tasks, schedules, resources, and costs.

CS 9A is the same course as CIS 9A. Credit may be earned for one, not both.

1673   Arrange-4.5 Hours    ONLINE-E   Darwiche J

Above section 1673 meets for 12 weeks, Sep 16 to Dec 06, and is a Distance Education course conducted over the Internet. For additional information, go to smconline.org (schedule of classes).

CS 10, Discrete Structures   3 units

Transfer: UC, CSU • IGETC AREA 2 (Mathematical Concepts) • Prerequisite: Math 8.

This course is intended for computer science, engineering, and mathematics majors. Topics include proof techniques, cardinality of sets, partial orderings and equivalence relations, symbolic logic and valid arguments, permutations and combinations with repetition, and an introduction to graph theory.

Computer Science 10 is the same course as Math 10. Students may receive credit for one, but not both.

1674   11:15a-12:35p MW   LS 103   Edinger G C

CS 15, Visual Basic Programming    3 units

Transfer: UC, CSU • Prerequisite: CS 3.

This introductory course covers basic programming constructs and techniques using VB.Net. Students will learn how to plan, create and debug code based on Object Oriented Programming design and analysis techniques. Topics covered include Data Types, Variables, Decision Statements, Loops, Arrays Input/Output, and basics of Object Oriented Programming using Classes and Objects.

VB .NET complier software is included in course material. This course helps students pass Microsoft Certification Exams.

1675   12:45p-2:05p TTh   BUS 203   Darwiche J

1676   Arrange-4.5 Hours    ONLINE-E   Darwiche J

Above section 1676 meets for 12 weeks, Sep 16 to Dec 06, and is a Distance Education course conducted over the Internet. For additional information, go to smconline.org (schedule of classes).

4124   6:45p-9:50p W   BUS 201   Robertson Sc E

CS 17, Assembly Language Programming    3 units

Transfer: UC, CSU • Prerequisite: CS 50.

Assembly Language allows the programmer to fully utilize all of the special features of the computer in the most efficient manner. It also aids the high-level language programmer in writing subroutines. The student will write Assembly Language programs that utilize the Intel Pentium chip architecture.

Students must have access to a Pentium-chip compatible computer system. Software included in course material.

1677   Arrange-4.5 Hours    ONLINE   Stahl H A

Above section 1677 meets for 12 weeks, Sep 16 to Dec 06, and is a Distance Education course conducted over the Internet. For additional information, go to http://homepage.smc.edu/stahl_howard

CS 19, Advanced Visual Basic Programming    3 units

Transfer: UC, CSU • Prerequisite: CS 15.

This course covers advanced programming techniques using Visual Basic .NET. Topics include Structures, Classes, Events, Inheritance, and Polymorphism, Overloading, Dynamic Binding, Multiple Document Interface, Windows API, Collections, and Exception Handling. Students also learn how to interface to Databases and build Web forms.

VB. NET compiler software is included in course material. This course helps students pass Microsoft Certification Exams.

1678   Arrange-4.5 Hours    ONLINE-E   Darwiche J

Above section 1678 meets for 12 weeks, Sep 16 to Dec 06, and is a Distance Education course conducted over the Internet. For additional information, go to smconline.org (schedule of classes).

CS 20A, Data Structures with C++    3 units

Transfer: UC, CSU • Prerequisite: CS 52.

This advanced programming course will use the C++ language to teach methods of representing and manipulating data within a computer. Topics include stacks, queues, trees, sorting, searching, modeling, and dynamically created storage spaces. Students will learn the problem solving skills necessary to write complex computer programs and to make important software design and maintainability decisions.

Software included in course material.

NEW 4506   6:45p-9:50p M   BUS 203   Stahl H A

CS 20B, Data Structures with Java    3 units

Transfer: UC, CSU • Prerequisite: CS 56.

This course is an introduction into the study of computer algorithms and data structures. This advanced programming course will use the Java language to teach methods of representing and manipulating data within a computer. Topics include stacks, queues, trees, sorting, searching, modeling, and dynamically created storage spaces. Students will learn the problem solving skills necessary to write complex computer programs and to make important software design and maintainability decisions.

4125   6:45p-9:50p Th   BUS 201   Jupe E

CS 30, MATLAB Programming    3 units

Transfer: UC, CSU • Prerequisite: Math 7.

MATLAB is a scientific computing tool for data modeling and analysis, image processing, and other data intensive applications. This class is designed for science major students. It covers the basics of programming using MATLAB and uses numerical methods as an application to help students learn how to accelerate simple and complex numerical data modeling and analyses.

1679   Arrange-4.5 Hours    ONLINE-E   Darwiche J

Above section 1679 meets for 12 weeks, Sep 16 to Dec 06, and is a Distance Education course conducted over the Internet. For additional information, go to smconline.org (schedule of classes).

CS 32, Database Programming in Visual Basic.Net    3 units

Transfer: UC, CSU • Prerequisite: CS 15.

VB.Net is an object-oriented programming language that is part of the .Net Microsoft suite. It provides a graphical programming environment used to create applications for Microsoft Windows and the Web. This course covers advanced concepts for VB .NET that relate to interfaces to databases. Topics include Object Oriented Programming, database interfaces programming, SQL query language, using LINQ and EM, and applying security measures in connections.

VB .NET compiler software is included in course material.

4126   6:45p-9:50p Th   BUS 259   Olsen A B

CS 41, Linux Network Administration    3 units

Transfer: CSU • Prerequisite: CS 50.

This is a foundation course in the Linux operating system. Booting a Linux machine is dissected, from BIOS firmware to authenticated user shell. Use of shell commands, editors, programming tools, and GUIs are emphasized. Students learn to write shell script programs and install applications using the open source software distribution model. Unix process creation is detailed and a 20-line tutorial shell is developed. Local administration tasks are covered, including user account management, backup, task scheduling, logging, and clock time synchronization. As time allows recompilation of the kernel from source code will be performed.

4127   6:30p-9:35p F   BUS 263   Morgan D B

CS 42, Computer Architecture    3 units

Transfer: UC, CSU • Prerequisite: Math 20.

This course provides an introduction to fundamental operations and components that make computers possible. Topics include: number systems; Boolean algebra and logic gates (AND, OR, NOT, XOR, and NAND); simplification of Boolean functions; combination logic; sequential logic; design of the adder, subtractor, ROM, decoder, and multiplexer; register transfer logic; and processor logic, control logic, and microcomputer system design.

4128   6:45p-9:50p W   BUS 207   Kurtz K A

CS 50, C Programming   3 units

Transfer: UC, CSU • Prerequisite: CS 3.

This course will include a review of the concepts of structured programming, error checking, sorting, searching, data types, advanced array handling methods, pointers, and data structures. Applications in business, mathematics, and science will be discussed.

1680   1:00p-4:05p Sat   BUS 207   Dehkhoda A

4129   5:15p-6:35p TTh   BUS 207   Dehkhoda A

4130   6:45p-9:50p T   BUS 203   Dehkhoda A

CS 52, C++ Programming    3 units

Transfer: UC, CSU • Prerequisite: CS 50.

This course is a continuation of C language programming using the C++ superset of C. C++ offers the following enhancements to C: operator and function overloading, information hiding, inheritance, and virtual functions. C++ will be used in the context of both traditional and object-oriented programming.

Software included in course material.

1681   Arrange-4.5 Hours    ONLINE-E   Stahl H A

Above section 1681 meets for 12 weeks, Sep 16 to Dec 06, and is a Distance Education course conducted over the Internet. For additional information go to http//homepage.smc.edu/stahl_howard

4131   6:45p-9:50p M   BUS 201   Robertson SC E

CS 53A, iOS Development with Objective-C    3 units

Transfer: CSU • Prerequisite: CS 50

Objective-C is an object-oriented language designed for iOS, Apple’s advanced mobile platform. In this course, students will learn the syntax and semantics of Objective-C, be able to apply fundamental principles of top-down algorithmic design to solve computer problems, and learn how to code, test and debug programs in this language using the XCode, the Apple integrated development environment.

Please note: Students will need access to Intel-based Mac computers but do not need to have a mobile device such as an iPad or IPhone. Students will be provided XCode to download, if needed.

4132   6:45p-9:50p Th   BUS 203   Dehkhoda A

CS 53B, iOS Mobile App Development    3 units

Transfer: CSU • Prerequisite: CS 53A.

This course teaches how to design, develop, test and debug applications that run on Apple iOS, a software stack for Apple mobile devices that includes an operating system, middleware and key applications. Topics include the Cocoa Multi-Touch programming framework, the Model-View-Controller design paradigm, application structure, strings, graphics, user interfaces and storage.

NOTE: Students will need access to Intel-based Mac computers, but do not need to have a mobile device such as an iPad or IPhone. Students will be provided XCode to download, if needed.

4133   6:45p-9:50p W   BUS 203   Dehkhoda A

CS 55, Java Programming    3 units

Transfer: UC, CSU • Prerequisite: CS 19 or 50.

Java is a general-purpose language for writing platform-independent, robust, secure programs. This course is intended for students who have completed a course in C programming. Students will learn how to develop Java applications and applets. Topics covered include the Java programming language, object-oriented programming (OOP), the Java applications programming interface (API), and graphical user interfaces (GUI’s).

1682   9:30a-10:50a TTh   BUS 201   Dehkhoda A

CS 56 Advanced Java Programming    3 units

Transfer: UC, CSU • Prerequisite: CS 55.

Java is a general-purpose language for writing platform-independent robust, secure programs. This course continues where CS 55 leaves off in developing mastery of the use of Java programming language and its extensive APIs. Topics covered include exceptions, multithreading, multimedia, Input/Output, Java Database Connectivity (JDBC), Servlets, Remote Method Invocation (RMI), and networking.

1683   9:00a-12:05p Sat   BUS 207   Dehkhoda A

CS 60, Database Concepts and Applications   3 units

Transfer: CSU • Prerequisite: CS 3 and one programming course.

This course introduces modern database concepts while emphasizing the relational database model. Topics include design methodologies, normalization of tables to reduce redundancies, supertypes and subtypes to reduce nulls, data integrity, referential integrity, and using locks and other techniques for concurrency control in a multi-user database. Factors that should be balanced during the design of a database are described. To document databases, entity relationship diagrams, relational schemas, and data dictionaries are described. Principles are applied by performing exercises using MySQL or other database management system. SQL and other languages are used to create and fill tables, retrieve data, and manipulate it by stored programs.

4134   6:45p-9:50p M   BUS 250   Rogler H L

CS 61, Microsoft SQL Server Database    3 units

Transfer: CSU • Prerequisite: CS 3.

Microsoft SQL Server is a popular midrange relational database management system (DBMS) that is used in client/server systems and as a personal DBMS. It can be accessed through the Internet. Topics covered in this course include installing the software, principles of relational databases; creating databases, tables, indexes, and views; inserting, deleting, and updating raw data; updating transactions; and querying the database. With the Transact-SQL extensions, topics include creating functions, procedures, and triggers stored in the database.

4135   6:45p-9:50p W   BUS 250   Rogler H L

CS 65, Oracle Programming    3 units

Transfer: CSU • Prerequisite: CS 3 and one programming class.

This course is a practical, hands-on overview of the Oracle Database Management System to store, retrieve, and manipulate data. Oracle is a widely used database that runs on PC’s, minicomputers, and mainframes, and Oracle programmers and developers are very much in demand. Oracle’s SQL is used to create and alter tables with various constraints. Data is retrieved and manipulated by using SELECTS that can group data and retrieve data from several tables by joining them or by using set operations. Views are created. PL/SQL, with its variables, symbolic constants, IF statements, and loops is used to program stored functions, stored procedures, and triggers. Cursors and error handling (exceptions) are introduced.

4136   6:45p-9:50p Th   BUS 250   Rogler H L

CS 70, Network Fundamentals and Architecture    3 units

Transfer: CSU • Prerequisite: One programming course.

This course offers a broad introduction to networking concepts and analyzes different network architectures. Introductory topics include network topologies, media and signaling, protocols, addressing, and distributed networks. The varied ways to connect computers are explored as are the resulting architectures. The course explores subnetting, both physical and virtual and internetworks are constructed in the lab. Server programs are introduced to demonstrate their signature socket-API structure. Specific real-world services such as the apache web server, BIND name server, NFS and Samba file system servers, DHCP address server, and others are discussed.

1684   1:00p-4:05p Sat   BUS 263   Morgan D B

CS 73, Computer Security Concepts    3 units

Transfer: CSU • Prerequisite: CS 3 or CIS 1.

In this introductory course students will learn how to defend and protect critical computer assets from various security threats including computer worms and viruses. This course will describe fundamental techniques and principles for modeling and analyzing security. Students will learn how to express security requirements, translate requirements into policies, implement mechanisms that enforce policy, and ensure that these policies are effective. Current industry best practices for safeguarding computer resources will be discussed. Various case studies will outline the typical way that security failures get exploited by attackers and how these attacks can be discovered, understood, and countered.

1685   Arrange-4.5 Hours    ONLINE   Hurley D P

Above section 1685 meets for 12 weeks, Sep 16 to Dec 06, and is a Distance Education course conducted over the Internet. For additional information, go to smconline.org (schedule of classes).

CS 78, Secure Server Installation and Administration    3 units

Transfer: CSU • Prerequisite: CS 70

In this course students will study network service administration. This course covers physical BIOS and bootloader security, password strength and cracking, file system permissions, authentication mechanisms, remote backup and logging, and installation strategies as machine-level security considerations. A variety of particular service applications like Apache (web service) and BIND (name service) are then studied, emphasizing their strengths, weaknesses, and how to configure them for security through wrappers, file system access jails, and other mechanisms.

4138   6:45p-9:50p Th   BUS 263   Morgan D B

CS 80, Internet Programming    3 units

Transfer: CSU • Prerequisite: CS 3.

This course surveys the many technologies that are used to program multitiered, client/server, database-intensive, Web-based applications. Topics include: XHTML, Cascading Style Sheets (CSS), JavaScript, Extensible Markup Language (XML), RSS, Ajax, Rich Internet Applications, Web servers, databases, MySQL, PHP, Ruby on Rails, Active Server Pages (ASP), JavaServer Faces, and Web Services.

1686   2:15p-3:35p TTh   BUS 203   Geddes Jr J K

1687   Arrange-4.5 Hours    ONLINE-E   Geddes Jr J K

Above section 1687 meets for 12 weeks, Sep 16 to Dec 06, and is a Distance Education course conducted over the Internet. For additional information, go to smconline.org (schedule of classes).

CS 81, JavaScript and Dynamic HTML    3 units

Transfer: CSU • Prerequisite: CS 80.

This introductory programming course teaches the fundamentals of computer programming with the JavaScript language, the standard for client-side Web programming. It offers a thorough treatment of programming concepts with programs that yield visible or audible results in Web pages and Web-based applications. It shows how to use Core and Client-Side JavaScript and the Document Object Model to build interactive, high-performance Web sites.

This course uses JavaScript which is open-source (free) software.

1688   Arrange-4.5 Hours    ONLINE-E   Geddes Jr J K

Above section 1688 meets for 12 weeks, Sep 16 to Dec 06, and is a Distance Education course conducted over the Internet. For additional information, go to smconline.org (schedule of classes).

CS 85 PHP Programming    3 units

Transfer: CSU • Prerequisite: CS 81.

This course teaches how to design and write applications that extend Web servers. These applications process data submitted from Web forms and access back-end databases to dynamically generate Web pages. This course covers the PHP server-side technology. PHP, which stands for “PHP: Hypertext Preprocessor” is a widely-used, Open Source, general-purpose scripting language that is especially suited for Web development and can be embedded into HTML.

This course uses PHP and MySQL which are open-source (free) software.

1689   Arrange-4.5 Hours    ONLINE-E   Geddes Jr J K

Above section 1689 meets for 12 weeks, Sep 16 to Dec 06, and is a Distance Education course conducted over the Internet. For additional information, go to smconline.org (schedule of classes).

CS 86, Android Development    3 units

Transfer: CSU • Prerequisite: CS 55 • Skills Advisory: CS 56

This course teaches how to design, develop, test, and debug applications that run on Android, a software stack for mobile devices that includes an operating system, middleware and key applications. Topics include the Android Software Development Kit (SDK), design principles, application structure, strings, graphics, user interfaces, animation, storage, networking, telephony, Location-Based Services (LBS), multimedia, 3D graphics, notifications, and services.

4139   6:45p-9:50p T   BUS 259   Geddes Jr J K

CS 88A, Independent Studies in Computer Science    1 unit

Transfer: CSU

Please see “Independent Studies” section.

1690   Arrange-1 Hour    BUS 220G   Bolandhemat F

CS 88B, Independent Studies in Computer Science    2 units

Transfer: CSU

Please see “Independent Studies” section.

1691   Arrange-2 Hours    BUS 220G   Bolandhemat F

CS 88C, Independent Studies in Computer Science    3 units

Transfer: CSU

Please see “Independent Studies” section.

1692   Arrange-3 Hours    BUS 220G   Bolandhemat F

CS 90A, Internship in Computer Science    1 unit

Transfer: CSU • Prerequisite: None.

Students must arrange an approved internship prior to enrolling in this class. F-1 students must see the Immigration Coordinator at the International Education Center before enrolling.

The Internship Program is designed to provide the student with the opportunity of on-site work experience in a computer lab. Students spend time weekly in a supervised computer facility.

1693   Arrange-4 Hours    BUS 220G   Bolandhemat F

 Previous | Next

IMPORTANT! Many SMC classes require the use of a computer with Internet access to reach class resources and/or to complete assignments and/or take exams. To locate a computer lab on campus go to www.smc.edu/acadcomp and click on the “Labs” link.