The pathway below represents an efficient and effective course taking sequence for this program. Individual circumstances might require some changes to this pathway. It is always recommended that you meet with an academic counselor to develop a personalized educational plan.
The courses have been intentionally placed and should be prioritized in the order in which they appear. If you are unable to take all the courses in a semester, you should prioritize enrolling in the courses in the order below. Some courses have been noted as “Appropriate for Intersession” . Should you need (or want) to take classes in the summer and/or winter intersessions, the program recommends these courses as appropriate for the condensed schedule of the intersessions.
Some pathways combine a “Certificate of Achievement” and an “Associate Degree”. If you are pursuing only the Certificate of Achievement, you are only required to take the courses marked “Program Requirement” .
All pathways include at least one “Gateway Course” which introduces you to the program and/or field of study and helps you decide if you want to continue with this Academic and Career Path.
Most Associate degrees (though not Associate Degrees for Transfer) require satisfying the SMC Global Citizenship requirement. If the Program Requirements do not include a “Global Citizenship course” , be sure to select a General Education course that also satisfies Global Citizenship.
Effective Fall 2023
A computer programmer is a professional who is skilled in writing medium to large-scale computer applications. This requires theknowledge and practice of a multitude of areas in Computer Science. This certificate focuses on learning and using advanced programming techniques to build software applications. In addition, it covers core computer science concepts such as Operating Systems and Database Theory.
Upon completion of the program, students will:
- Upon completion of this program, students will design, code, test, and debug computer programs. They will understand and use the Internet and World Wide Web, application software, the components of the system unit, input, output, storage, operating systems and utility programs, communications and networks, database management, information systems development, and project management. Students will also explain the social implications of technological development, and understand the capabilities of current day computers and the possibilities for the future.
Icon Key
-
Gateway Course
-
Program Requirement
-
General Education
-
Appropriate for Intersession
-
Available Online
-
Global Citizenship
Semester 1
16 Units
This is a beginning course intended for students who plan to take additional computer science courses. The course covers an introduction to programming concepts such as designing, coding and testing. Other concepts such as computer hardware, operating systems, compilers and databases are also discussed. The Internet and an introduction to cybersecurity and cloud computing are also included.
Recommend this course be completed in the intersession PRIOR to semester 1
This course is intended for students majoring in Science, Technology, Engineering, or Mathematics (STEM). Math 4 in combination with Math 3 (Trigonometry with applications) serves as a prerequisite for Math 7 (Calculus 1). The topics to be covered include review of the fundamentals of algebra, relations, functions, solutions of first and second degree equations and inequalities, systems of equations, matrices, binomial theorem, mathematical induction, polynomial and rational functions, exponential and logarithmic functions, analytic geometry and conic sections, and geometric and arithmetic sequences and series.
MATH 4 recommended, but the following are also acceptable: MATH 2, 3, 7, 8, 10, 11, 13, 15, 21, 26, 28, 29, 41, 54, or PHILOS 9
- Prerequisite: MATH 20
- Advisory: Eligibility for English 1
- 2A: Mathematic
This introductory course in rhetoric emphasizes clear, effective written communication and preparation of the research paper.
- Prerequisite: ENGL 21B or
- Prerequisite: ENGL 22
- Prerequisite: ESL 19B or
- Prerequisite: Group A on the Placement Test
- 1A: English Composition
- A2 - Written Communication
- Area IV-A: Language and Rationality (Group A)
This course provides an exploration of intellectual, psychological, social and physical factors that impact lifelong learning, well-being and success. Topics include motivation and self-efficacy; critical thinking, academic integrity and active study strategies; health issues and lifestyle choices; relating to others as a global citizen; written and oral communication; time management; career exploration; and educational planning.
- E - Lifelong Understanding and Self-Development
SMC GE Area II-A Course 3 units
Semester 2
15 Units
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.
- Skills Advisory: CS 3
- Area IV-B: Language and Rationality (Group B) Option 2
CS 81 (Group 2) recommended
See the full list: Required Elective Course from "Required Concentration Courses" list below
This course covers the basic technologies used to program Web-based applications. Topics include: HTML5, Cascading Style Sheets (CSS), XML and JavaScript, along with a basic survey of the latest extensions on JS.
- Skills Advisory: CS 3
- Area IV-B: Language and Rationality (Group B) Option 2
ENGL 2 recommended for transfer options
See the full list: SMC GE Area III Course
Elective Course 3 units
Semester 3
15 Units
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.
- Skills Advisory: CS 3
CS 52 (Group 4) recommended
See the full list: Required Elective Course from "Required Concentration Courses" list below
SMC GE Area II-B Course 3 units
Elective Course 3 units
Elective Course 3 units
Semester 4
14 Units
CS 83R or 85 (Group 2) recommended
See the full list: Required Elective Course from "Required Concentration Courses" list below
CS 20A (Group 4) recommended
See the full list: Required Elective Course from "Required Concentration Courses" list below
SMC GE Area I Course 3 units
CS 55 recommended
Elective Course 2 units
Required Concentration Courses: (complete 2 of the following 5 groups)
12 Units
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.
- Skills Advisory: CS 3
- Area IV-B: Language and Rationality (Group B) Option 2
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.
- Skills Advisory: CS 15
- Area IV-B: Language and Rationality (Group B) Option 2
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.
- Skills Advisory: CS 80
- Area IV-B: Language and Rationality (Group B) Option 2
Server-side Web programming allows programmers to create content and process data supplied in Web forms to create websites. These applications process data submitted from Web forms and access backend databases to dynamically generate Web pages. Students will design and write web pages using ASP 2.0 (Active Server Pages), Visual Studio. NET and the C# programming language.
- Skills Advisory: CS 33
- Area IV-B: Language and Rationality (Group B) Option 2
This course teaches how to design and write applications that extend Web servers. These applications process data submitted from Web forms and access backend databases to dynamically generate Web pages. This course covers the Java Servlets and JavaServer Pages (JSP) server-side technologies.
- Skills Advisory: CS 55 and
- Skills Advisory: CS 81
- Area IV-B: Language and Rationality (Group B) Option 2
This course teaches how to design and write applications utilizing Ruby on Rails, an open-source web application framework based on the Ruby programming language. In this course, students will create applications that gather information from a web server, query databases and render results.
- Skills Advisory: CS 60 and
- Skills Advisory: CS 80 and
- Skills Advisory: CS 15 or
- Skills Advisory: CS 52 or
- Skills Advisory: CS 53A or
- Skills Advisory: CS 55
- Area IV-B: Language and Rationality (Group B) Option 2
XML (Extensible Markup Language) is a flexible way to create "self-describing data" and to share both the format and content on the World Wide Web, intranets and elsewhere within an enterprise. In this advanced course, students will use XML and learn to tag and transform XML documents so that they can be processed by web browsers, databases and other XML processors. With the industry-standard SAX and DOM API standards, students will create XML applications that read, write and modify XML documents.
- Skills Advisory: CS 80 and
- Skills Advisory: CS 55 or
- Skills Advisory: CS 52 or
- Skills Advisory: CS 33
- Area IV-B: Language and Rationality (Group B) Option 2
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.
- Skills Advisory: CS 81
- Area IV-B: Language and Rationality (Group B) Option 2
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.
- Prerequisite: CS 3 and
- Prerequisite: one Programming class.
This course expands on topics covered in the basic Oracle course. The topics include SQL, SQL*Plus, Developer, and DBA tasks. In addition, it will cover in detail the varied aspects of Designer, a software suite instrumental in analyzing, designing, and building large scale Oracle applications.
- Skills Advisory: CS 3 and
- Skills Advisory: CS 65
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.
- Skills Advisory: CS 50
- Area IV-B: Language and Rationality (Group B) Option 2
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.
- Prerequisite: CS 52
- Area IV-B: Language and Rationality (Group B) Option 2
C++ handles large programs by packaging sections of interrelated code into discrete, independent parts named objects. Visual C++ adds the Microsoft Foundation Class library making it a powerful Windows programming tool. This course will cover Dynamic Link Libraries, advanced view handling, customizing status bars, operator overloading OLE containers and servers, the Microsoft Foundation class library, serialization, windows timers, graphics, metafiles, multiview programs, graphics display controls, and screen capture.
- Skills Advisory: CS 52
- Area IV-B: Language and Rationality (Group B) Option 2
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).
- Skills Advisory: CS 19 or
- Skills Advisory: CS 50
- Area IV-B: Language and Rationality (Group B) Option 2
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.
- Prerequisite: CS 56
- Area IV-B: Language and Rationality (Group B) Option 2
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.
- Skills Advisory: CS 55
- Area IV-B: Language and Rationality (Group B) Option 2