The ROUTE course is designed to help students advance their knowledge and skills and work independently on complex network solutions. Students will plan, configure and verify the implementation of secure enterprise LAN and WAN routing solutions using a range of routing protocols. Configuration of solutions to support branch offices and mobile workers will be presented. This course uses the official Cisco Academy CCNP ROUTE curriculum and is designed to provide preparation for the CCNP ROUTE certification exam.
Bay Area Community Colleges Virtual Learning
Foothill College
Computer programming, algorithms, data structures, and languages play an increasingly important role in academic, science and business careers. The Associate in Science degree satisfies the transfer requirements of many disparate 4-year colleges and universities. Our up-to-date curriculum is also valuable for enhancing the career opportunities of working professionals.
Available Courses
This course list provides an overview of courses per college course catalogs. Not all of the courses listed use NETLAB+. For complete information, please see the individual college website.
Introduction to the organization, architecture and machine-level programming of computer systems. Topics include mapping of high-level language constructs into assembly code, internal data representations, numerical computation, virtual memory, pipelines, caching, multitasking, MIPS architecture, MIPA assembly language code, interrupts, input/ output, peripheral storage processing, and comparison of CISC (Intel) and RISC (MIPS) instruction sets.
Discrete mathematics: set theory, logic, Boolean algebra, methods of proof, mathematical induction, number theory, discrete probability, combinatorics, functions, relations, recursion, algorithm efficiencies, graphs, trees.
Systematic introduction to fundamental concepts of computer science through the study of the Java programming language. Coding topics include Java control structures, classes, methods, arrays, graphical user interfaces and elementary data structures. Concept topics include algorithms, recursion, data abstraction, problem solving strategies, code style, documentation, debugging techniques and testing.
Systematic treatment of intermediate concepts in computer science through the study of Java object-oriented programming (OOP). Coding topics include Java interfaces, class extension, generics, the Java collections framework, multi-dimensional arrays and file I/O. Concept topics include OOP project design, inheritance, polymorphism, method chaining, functional programming, linked-lists, FIFOs, LIFOs, event-driven programming and guarded code.
Systematic treatment of advanced data structures, algorithm analysis and abstract data types in the Java programming language. Coding topics include the development of ADTs from scratch, building ADTs on top of the java.util collections, array lists, linked lists, trees, maps, hashing functions and graphs. Concept topics include searching, bigO time complexity, analysis of all major sorting techniques, top down splaying, AVL tree balancing, shortest path algorithms, minimum spanning trees and maximum flow graphs.
Systematic treatment of intermediate data structures, algorithm analysis and abstract data types in the Java programming language intended for Computer Science transfer majors. Coding topics include large program software engineering design, multi-dimensional arrays, string processing, primitives, compound types, and allocation of instance and static data. Concept topics include dynamic memory, inheritance, polymorphism, hierarchies, recursion, linked-lists, stacks, queues, trees and hash tables.
Introduction to the C# programming language and the .NET platform. Topics include object oriented programming, graphical user interfaces, elementary data structures, algorithms, recursion, data abstraction, code style, documentation, debugging techniques and testing.
Introduction to the Python language and environment. Covers topics including object oriented programming, elementary data structures, modules, algorithms, recursion, data abstraction, code style, documentation, debugging techniques and testing.
This course builds on the student's prior knowledge of the Python programming language by offering a more in-depth and advanced approach to building effective Python applications. Specific topics include user interfaces, networked applications, databases, multithreading and regular expressions. The course reinforces object oriented design, thorough documentation, testing and conventional programming style
Introduction to object oriented programming in JavaScript. Topics include: client and server side programming, Model/View/Controller architecture, current tools and testing methods, interaction with HTML and CSS, Document Object Model, XML and JSON. Students will have practice writing programs for mobile web browsers and creating dynamic web pages including animation.
Introduction to functional programming languages using Ruby as an educational and practical development environment. Students will learn how to create programs that use the functional paradigm while obeying the object-oriented structure inherent in the language. Many examples and topics will be covered including database-driven web applications using the Rails framework.
Systematic introduction to fundamental concepts of computer science through the study of the C++ programming language. Coding topics include C++ control structures, objects, global-scope functions, class methods, arrays and elementary data structures. Concept topics include algorithms, recursion, data abstraction, problem solving strategies, code style, documentation, debugging techniques and testing.
Systematic treatment of intermediate concepts in computer science through the study of C++ object-oriented programming (OOP). Coding topics include C++ derived classes, class templates, function templates, virtual functions, operator overloading, an introduction to the Standard Template Library, multiple inheritance, pointers, dynamic memory allocation and file I/O. Concept topics include OOP project design, inheritance, polymorphism, method chaining, functional programming, linked-lists, FIFOs, LIFOs, events in GUIs and guarded code.
Systematic treatment of advanced data structures, algorithm analysis and abstract data types in the C++ programming language. Coding topics include the development of ADTs from scratch, building ADTs on top of the STL templates, vectors, lists, trees, maps, hashing functions and graphs. Concept topics include searching, big-O time complexity, analysis of all major sorting techniques, top down splaying, AVL tree balancing, shortest path algorithms, minimum spanning trees and maximum flow Graphs.
Systematic treatment of intermediate data structures, algorithm analysis and abstract data types in the C++ programming language intended for Computer Science transfer majors. Coding topics include large program software engineering design, multi-dimensional arrays, string processing, primitives, compound types, and allocation of instance and static data. Concept topics include dynamic memory, inheritance, polymorphism, hierarchies, recursion, linked-lists, stacks, queues, trees and hash tables.
Introduction to the Linux operating system primarily focused on command line usage. Covers the history, kernel, file systems, shells and user utilities. Also introduces students to the fundamentals of shell programming, processes, communications, and basic security.
Linux shell script programming using the Bourne Again shell programming language (bash) and Linux utilities to create practical shell scripts. Topics covered include customizing the environment, running and writing scripts, variables, loops, functions, text processing and Debugging.
Basic Linux systems administration. Command line fundamentals, file management from command line, help commands, create/view/edit text files, manage local Linux users and groups, control access to files with Linux file system permissions, monitor and manage Linux processes, control services and daemons, configure and secure OpenSSH service, analyze and store logs, manage Linux networking, archive and copy files between systems, install and update software packages, access Linux file systems, use virtualized systems.
Advanced systems administration of Red Hat Enterprise Linux (RHEL). Overview of automated installation, basic Linux command line usage, regular expression overview, pipelines, redirection, network configuration and troubleshooting, simple partition and filesystems creation, logical volumes, SMB and NFS network file systems, user account management, access control lists (ACLs), SELinux security overview, software package management, installed services management, log file analysis and maintenance, process management, Linux kernel tuning and maintenance, Linux troubleshooting techniques.
The course is focused on deploying and managing network servers running caching Domain Name Service (DNS), MariaDB, Apache HTTPD, Postfix SMTP mail clients, network file sharing with Network File System (NFS) and Server Message Block (SMB), iSCSI initiators and targets, advanced networking facilities and firewall configurations, and the use of Bash shell scripting to help automate, configure, and troubleshoot the system. These topics will be taught through lectures and hands-on labs.
Introduction to database design and use of database management systems for applications. Topics include database architecture, comparison to file-based systems, historical data models, conceptual model; integrity constraints and triggers; functional dependencies and normal forms; relational model, algebra, database processing and Structured Query Language (SQL), database access from ApplicationsEmbedded SQL, JDBC, Cursors, Dynamic SQL, Stored Procedures. Emerging trends will be studied, such as NoSQL databases, internet and databases and Online Analytical Processing (OLAP). A team project that builds a database application for a real-world scenario is an important element of the course.
Systematic introduction to fundamental concepts of computer science
through the study of the Python programming language. Coding topics
include control structures, functions, classes, string processing, lists,
tuples, dictionaries, working with files, and elementary graphics. Concept
topics include algorithms, data abstraction, problem solving strategies,
code style, documentation, debugging techniques and testing.
A collaboration-oriented course that trains students in the techniques currently used by software engineers to develop reliable products in an efficient manner. The course emphasizes Agile methods and a variety of tools used during the software development lifecycle.
Introduction to basic computer programming concepts using an object oriented language. Intended for students interested in C S 1A or 2A, but would like a more gradual entry to computing foundations. Coding topics include hands-on practice with software engineering tools, simple programs, variables, control structures, functions, and input/output. Concept topics include the comprehension of specifications, adherence to style guidelines, and the importance of testing to ensure that programs are usable, robust and modifiable.
Introduction to the architecture, structure, functions, components, and models of the internet and other computer networks. The principles and structure of IP addressing and the fundamentals of Ethernet concepts, media, and operations are introduced to provide a foundation for the curriculum. Students will be able to build simple LANs, perform basic configurations for routers and switches, and implement IP addressing Schemes.
This course describes the architecture, components, and operations of routers and switches in a small network. Students learn how to configure a router and a switch for basic functionality. By the end of this course students will be able to configure and troubleshoot routers and switches and resolve common issues with RIPv1, RIPv2, single-area and multi-area OSPF, virtual LANs, and inter-VLAN routing in both IPv4 and IPv6 networks. This course is preparation for the CCENT and CCNA certification exams. This course describes the architecture, components, and operations of routers, and explains the principles of routing and routing protocols. Students will be given the opportunity to configure a router for basic and advanced functionality. Students will be able to configure and troubleshoot routers and resolve common issues with RIPv1, RIPv2, EIGRP, and OSPF in both IPv4 and IPv6 networks.
This course describes the architecture, components, and operations of routers and switches in larger and more complex networks. Students learn how to configure routers and switches for advanced functionality. By the end of this course, students will be able to configure and troubleshoot routers and switches and resolve common issues with OSPF, EIGRP, and STP in both IPv4 and IPv6 networks. Students will also develop the knowledge and skills needed to implement a WLAN in a small-to-medium network.
This course discusses the WAN technologies and network services required by converged applications in a complex network. The course enables students to understand the selection criteria of network devices and WAN technologies to meet network requirements. Students learn how to configure and troubleshoot network devices and resolve common issues with data link protocols. Students will also develop the knowledge and skills needed to implement IPsec and virtual private network (VPN) operations in a complex network.
Next step for students who want to enhance their CCNA-level skill set and help meet the growing demand for network security professionals. Provides an introduction to the core security concepts and skills needed for the installation, troubleshooting, and monitoring of network devices to maintain the integrity, confidentiality, and availability of data and devices. Prepares students for entry-level security career opportunities and the globally recognized Cisco CCNA Security certification.
The course provides the knowledge and skills necessary to plan, configure and verify the implementation of complex enterprise switching solutions using Cisco's Campus Enterprise Architecture. Secure integration of VLANs, WLANs, voice and video into campus networks is also provided. The material is presented in a lecture and discussion format supplemented by comprehensive laboratory exercises. This course uses the official Cisco Academy CCNP SWITCH curriculum and is designed to provide preparation for the CCNP SWITCH certification exam.
The fundamental aspects of computer and network security as it pertains to policy deployment and network defense. Core topics include cryptography, public key infrastructure, standards and protocols, physical security, infrastructure security, remote access, messaging, intrusion detection and system baselines. Industry-specific topics include certifications for CompTIA's Security+, ISC2, SSCP.
Survey of topics in field of firewall, advanced threats and their characteristics. Students will learn how to manage firewalls and advanced threats using security policies, profiles and signatures to protect networks against emerging threats.
Surveys current techniques used by malicious hackers to attack computers and networks, and develops the defenses that security professionals use to defend Windows and Linux systems from such attacks. Topics will be presented in the context of legal restrictions and ethical guidelines. Hands-on labs, playing the role of both attacker and defender, using port scans, footprinting, buffer overflow exploits, SQL injection, privilege escalation, Trojans, and backdoors.
Provides an overview of the forensic rules-of-evidence, evidence integrity, factual reporting, and the role of expert opinion in legal proceedings. The course is appropriate for students from information technology related fields. No previous experience in computer forensics is required. All students must agree with and sign the CyberSecurity Institute Code of Ethics and Conduct.
This course covers all aspects of server virtualization and draws its examples from VMware vSphere. This hands-on training course explores installation, configuration, and management of VMware vSphere, which consists of VMware ESXi and VMware vCenter Server. The course is based on ESXi and vCenter Server. Completion of this course satisfies the prerequisite for taking the VMware Certified Professional exam. Course is taught by a VMware certified instructor.
Presents the transition from a classic data center environment to a virtual data center. The student will understand Cloud virtualization at each layer--compute, storage, network, desktop, and application--along with business continuity in a virtual data center (VDC) environment. Explanation and discussion of Cloud computing basics, infrastructure components, service management activities, security concerns, and considerations for Cloud adoption.
The course presents a working knowledge of computer internals and provides practical skills in computer hardware assembly and software installation. Emphasis is placed on troubleshooting problems throughout the process. Activities include hands-on labs and virtual learning tools which encourage critical thinking and complex problem-solving skills.
An introduction to programming the iPhone, iPad and iPod Touch devices. Covers Swift, Cocoa Touch, and the Model/View/Controller architecture. Students will learn the basics of Swift and will acquire practical experience with the tools, techniques, and concepts needed to build a basic iOS app from scratch.
Introduction to mobile apps programming in Java for the Android. Coding topics include the Android SDK for Eclipse, the ADT plugin, XML fundamentals and a survey of API methods and objects used to control the Android user interface. Concept topics include layouts, activity lifecycles, runtime binding, intents, location awareness, audio, video, OpenGL ES, and monetizing apps.
Introduction of Big Data ecosystems, tool infrastructure and industrial applications. Overview of the evolution, characteristics and significance of Big Data and the analytics process model. Hands-on exploration of Big Data solutions for specific industries. Concept topics include data management such as acquiring, cleansing and normalizing Big Data; application to log analytics, fraud detection, social media patterns, call centers, etc.; review of traditional SQL based Relational Database Management and issues with scaling when datasets are too big; methodology of NoSQL; big data technology infrastructures, such as the Hadoop framework and ecosystem components including Hadoop Distributed File Systems (HDFS), Hbase, MapReduce, Oozie, Pig and functionality used in Big Data; survey of tools in analytics and data visualization (DVT); survey of deployment patterns used in various Industries.
Introduction to software quality assurance principles, techniques, processes and tools. A team project takes students through the planning and implementation of the test and release of a software product using a current toolset.
Students evolve simple static websites into dynamic, database-driven web applications. Students will use the popular LAMP framework (Linux, Apache, MySQL, and PHP), in combination with JavaScript, CSS, and HTML5.
An introduction to distributed data management including distributed database design, implementation techniques including concurrency control, query processing and optimization, data replication, integration and peer-to-peer systems. Distributed database solutions are also presented, including data management systems for Cloud computing.
STUDENT SUCCESS
We are proud of our students!
Find out from your instructor
how to be featured in our
student successes
Featured Courses
-
C S 52A - ADVANCED IP ROUTING PROTOCOLS & SERVICES (CCNP) - Units: 4.5
The ROUTE course is designed to help students advance their knowledge and skills and work independently on complex network solutions. Students will plan, configure and verify the implementation of secure enterprise LAN and WAN routing solutions using a range of routing protocols. Configuration of solutions to support branch offices and mobile workers will be presented. This course uses the official Cisco Academy CCNP ROUTE curriculum and is designed to provide preparation for the CCNP ROUTE certification exam.