Computer and Information Science Overview of Classes

Introductory classes Data Structures: Java Abstract data type implementation and usage techniques for computer science majors and computer professionals. Object- Introduction to Computer and Information Science oriented approach to a variety of abstract data types including lists, This course includes computer terminology, computer hardware and stacks, queues, priority queues, trees, maps, sets, and graphics. Also software, networks, telecommunications, and Internet access and includes advanced sorting and searching techniques, and algorithm security issues, common operating systems, data representation, analysis using Big-O notation. This course conforms to the ACM CS2 computer ethics, beginning programming, and introduction to research prosses through online tools and sources. Covers topics standards. (CIS 256, 4 units) motivated by current issues and events. Examines such issues as privacy intellectual property, and cloud computing. Trending topics Data Structures: C++ include artificial intelligence, virtual reality, 3D printing, Big Data, Data Science, Internet of Things, and more. (CIS 110, 3 units) Abstract data type implementation and usage techniques for computer science majors and computer professionals. Object- oriented approach to a variety of abstract data types including lists, Introduction to Object-Oriented Program Design stacks, queues, priority queues, trees, maps, sets, and graphics. Also Introduction to object-oriented computer programming for includes advanced sorting and searching techniques, and algorithm computer science majors and computer professionals. Includes simple data types; control structures; an introduction to array and analysis using Big-O notation. This course conforms to the ACM CS2 string data structures and algorithms; debugging techniques; history standards. (CIS 279, 4 units) of computer science, computer systems and environments; and the social implications of computing. Emphasizes object-oriented design, good software engineering principles and developing fundamental Web Programming classes programming skills in Java. This course conforms to the ACM CSO standards. (CIS 254, 4 units) Introduction to Web Programming This course provides an introduction to the and Java and C++ Programming classes Internet programming. Basic HTML and CSS will be introduced, as well as client-side scripting in JavaScript using variables, functions, Programming Methods: Java and objects. Introduces programming with HTML, CSS, JavaScript, Object-oriented programming methodology for both computer and the DOM (). Server-side scripting science majors and computer professionals. Systematic approach to languages such as ASP, JSP, Python, Perl and PHP will be design, construction, and management of computer programs, demonstrated. Introduces Web 2.0 topics, such as , Web services, emphasizing program documentation, testing, debugging, and HTML5. (CIS 111, 3 units) maintenance and software reuse. Also includes evolutions of programming languages and emergence of paradigms, UML, virtual machines, exception handling, sorting and searching algorithms, HTML5 and CSS recursion, inheritance, polymorphism, fundamental graphics, and Introduces HTML5 elements and CSS3 (Cascading Style Sheets). computer ethics. This course conforms to the ACM CS1 standards. Covers CSS3, HTML5 elements, HTML5 , forms, audio and video, (CIS 255, 4 units) offline applications, Canvas drawing and animation, communication APIs, Web Sockets, and Web Workers. Introduces HTML5 Programming Methods: C++ Geolocation, local and session storage, the web SQL , and Object-oriented programming methodology for both computer advanced topics such as mobile web applications, performance science majors and computer professionals. Systematic approach to analysis, browser issues, and developer tools. Intended for students design, construction, and management of computer programs, with previous programming experience. (CIS 127, 3 units) emphasizing program documentation, testing, debugging, maintenance and software reuse. Also includes evolutions of programming languages and emergence of paradigms, UML, virtual machines, exception handling, sorting and searching algorithms, recursion, inheritance, polymorphism, fundamental graphics, and computer ethics. This course conforms to the ACM CS1 standards. (CIS 278, 4 units)

JavaScript / Ajax Programming Programming Mobile Devices Provides and overview of HTML5 and CSS, client-side programming, variables, arrays, functions, closures, event handlers, objects, form validation, cookies, and the DOM. Introductions Ajax (Asynchronous Mobile Web App Development JavaScript and XML) technologies, design patterns, server-side Employ HTML5, CSS and JavaScript to develop mobile web apps for smart phones and tablet/pad devices. Topics include CSS media programming, RSS, JSON, open-source libraries, and advanced topics queries, mobile user interfaces, platform-independent development, such as MVC frameworks, security, performance, and Web Services. and best practices. Also covers geolocation, maps, audio, video, Intended for students with previous programming experience. (CIS drawing, animation and offline apps. Provides an introduction to 114, 4 units) open-source mobile development frameworks, emulators, conversion to native apps, performance and testing. Intended for students with previous programming experience. (CIS 128, 3 units) Introduction to XML Comprehensive course in XML (eXtensible Markup Language). iOS / Swift Programming Includes writing well-formed and valid XML, the use of DTDs Introduction to the architecture, API and techniques used to create (Document Type Definitions), XML Schema, RSS, CSS (Cascading robust, high-performance apps for iOS mobile devices (iPhone, iPad Style Sheets), HTML and XSLT (eXtensible Style Sheet Language and wearable) with the Swift programming language. An overview of Transformation) for formatting; and advanced topics such as XPath the most common tools and techniques for designing and creating and the Document Object Model (DOM). (CIS 379, 4 units) iOS mobile apps. Other topics include object-oriented programming, user interface design, Storyboards, MVC design pattern, UIKit, multimedia, debugging, sensors, and user events. Storage strategies PHP Programming for persistent information are introduced, including the Core Data Comprehensive course in PHP (hypertext preprocessor scripting framework and the use of SQLite database features. Intended for language). Includes writing server-side PHP scripts for the Web, students with previous programming experience. (CIS 137, 4 units) procedural and object-oriented programming, forms and browser I/O, an introduction to SQL statements and the MySQL database, and Android Programming advanced topics such as creating dynamic Web content with PHP Introduction to the architecture, API and techniques used to create and MySQL, sessions, Web services, e-commerce, and authentication robust, high-performance applications for Android mobile devices. with PHP. Intended for students with previous programming An overview of the most common tools and techniques for writing experience. (CIS 380, 3 units) Android applications. Other topics include user interfaces, local storage, maps, multimedia, content providers, sensors, and user Python Programming events. Storage strategies for persistent information are introduced, Comprehensive course in Python, an open-source dynamic object- including the use of SQLite database features. Intended for students oriented scripting language. Covers variables, arrays, lists, tuples, with previous Java programming experience. (CIS 135, 4 units) dictionaries, functions, methods, classes, objects, and writing server- side Python scripts for the Web. Also covered are exception handling, regular expressions, and modules. An introduction to SQL and the MySQL database, and advanced topics such as Model-View- Controller architecture and development with the Django framework. Intended for students with previous programming experience. (CIS 117, 3 units)

Ruby Programming Comprehensive course in Ruby, an open-source dynamic object- oriented scripting language. Covers variables, arrays and hashes, methods and procs, classes, objects, and writing server-side Ruby scripts for the Web. Also covered are exception handling, regular expressions, I/O objects, and modules. An introduction to SQL and the MySQL database, and advanced topics such as Model-View- Controller architecture and agile Web application development with the Ruby on Rails framework. Intended for students with previous programming experience. (CIS 113, 3 units)

Capstone class Students plan realistic career goals while initiating, developing, and completing substantial team projects in consultation with and under the direction of the instructor. Students will employ Agile development methodologies to develop a project with client-and server-side technologies, a database, HTML5 and mobile technologies. (CIS 200, 2 units)

Database Management classes Big Data and Data Science classes

Introduction to R Programming for Big Data This course covers database design and the use of database Introduction to the field of Big Data, its concepts and technologies, management systems. It includes an introduction to the relational as well as R programming. Students will explore the roles of a data model, relational algebra, and SQL. It also covers XML data including scientist in terms of network architecture, data analytics and DTDs and XML Schema for validation, and an introduction to the predictive analysis. Fundamental questions of data science and query and transformation languages XPath, XQuery, and XSLT. The scenarios appropriate for each will be discussed. Differentiation course includes relational design principles based on dependencies among raw data, clean data, and tidy data; and tools to convert data and normal forms. Additional database topics introduced are to/from these formats will be covered. Effective management of indexes, views, transactions, authorization, integrity constraints, large data in single and distributed computing environments, triggers, on-line analytical processing (OLAP), and emerging NoSQL including managing data redundancy and failures, will be covered. (Not only SQL) databases for cloud and desktop computing. (CIS 132, Testing, correlation, clustering, and data visualization will be 3 units) introduced. Intended for students with previous programming experience. (CIS 140, 4 units) Enterprise Database Management with MySQL Comprehensive course in enterprise database management with the From Data Warehousing to Big Data open-source MySQL database. Covers relational model and theory, Introduction to data warehousing architecture, data extraction, forms and theories of normalization, and in-depth SQL. Overview of management, and load. Also covered are metadata management, database administration, stored procedures, functions, triggers, and dimensional modeling, data aggregation, data mining and Business metadata. Also covered are MySQL server administration, Intelligence. Both SQL and NoSQL databases will be employed. performance tuning, security, optimization, and database design. Introduction to Big Data architecture, technologies and analytics. Advanced topics include Client-Server database applications using Selection of Big Data stores for disparate data sets, processing large Java and PHP, dynamic SQL, prepared SQL, and callable statements. data sets and querying them are also covered. Other topics such as Intended for students with previous programming experience. (CIS Cloud computing, security management, machine learning, Agile 363, 4 units) methodology and Big Data tools will be introduced. (CIS 364, 4 units)

NoSQL Databases Introduction to non-relational (NoSQL) data models, such as Key- DevOps class Value, Document, Column, Graph and Object-Oriented database models. Advantages and disadvantages of the different data architecture patterns will be discussed. Hands-on experience with a Introduction to DevOps representative sample of open-source NoSQL databases will be Introduction to the most common DevOps patterns used to develop, provided. The rapid and efficient processing of data sets with a focus deploy and maintain applications. Covers the core principles of the on performance, reliability, and agility will be covered. Big Data, DevOps methodology and examines a number of use cases distributed and cloud computing concepts will be introduced. applicable to startup, small-medium business, and enterprise Intended for students with previous programming experience. (CIS development scenarios. Tools for configuration and deployment will 133, 3 units) be used, as well as common techniques for configuring and deploying systems. Also covered are operations, monitoring, testing, security, and Cloud features. Intended for students with previous programming experience. (CIS 145, 3 units)

Networks and Security classes Operating Systems class

Networks and Digital Communication UNIX / Linux Introduction to networking focusing on Local Area Networks. Topics Introduction to the UNIX/Linux operating system. Includes a include the TCP/IP suite of protocols and its relationship to the OSI brief introduction to operating systems and UNIX history. Covers reference model, network services, network hardware and UNIX file systems; common shell features including I/O redirection, topologies, network protocol usage fundaments, IP network piping, command substitution, and simple job control; shell-specific addressing, current industry trends including IPv6 and an facilities including use of environmental and local variables; and introduction to network administration. Class activities include common UNIX utilities. Also includes advanced topics such as shell lecture, hands-on and online research. Prepares students for courses scripting, communications, and system administration. Intended for in advanced networking, computer forensics, broadcasting, students with previous programming experience. (CIS 121, 3 units) information security, and internet programming. (CIS 151, 3 units)

Network Security Fundamentals Analysis, risk assessment, and strategy for designing network security for the Windows network environment. Includes analysis of company and management models; enterprise risk assessment; evaluation and design of security solutions; authentication strategies; DNS/SNMP, remote services, and communication channel security. Prepares students for Microsoft MCSE certification exam. (CIS 479, 3 units)

This overview is based on the College of San Mateo 2016-2017 Catalog. See the catalog for more information about the course descriptions, including prerequisites and transfer opportunities. For further information, contact Counseling and the Computer and Information Science department at the College of San Mateo.

College of San Mateo 1700 West Hillsdale Blvd. San Mateo, CA 94402 collegeofsanmateo.edu/counseling collegeofsanmateo.edu/cis (650) 574-6161