This course is an examination of information systems in business. Students will focus on information systems, database management systems, networking, e-commerce, ethics and security, computer systems hardware and software components. Application of these concepts and methods will be through hands-on projects developing computer-based solutions to business problems.
Evergreen Valley College
It is the lifeblood of Silicon Valley, the fuel for our local economy, and the guiding force that drives the high-tech workplace. Over these last few decades, computer and information technologies have revolutionized the way society operates and interacts.
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.
This course is an introduction to computer programming and the fundamentals of application development. The focus is on problem solving and program design, including analysis, data structures, programming logic, and fundamental design techniques for event-driven programs. Students will code their designs in a modern programming language and development platform. Debugging and testing will be treated as extensions of the coding task.
Students will learn Visual Basic for .NET Framework in order to rapidly develop Windows Applications with Graphical User Interface. This course covers Visual Basic concepts, tools, and programming methodology. Lecture Hours: 2.5 Lab Hours: 1.5 Repeatable: No Grading: L Recommended: Knowledge of programming equivalent to that taught in either CIT 020, CIT 042, CIT 044, or COMSC 075
This course teaches basic skills in HTML and design/layout concepts. These techniques will be used to design, develop and maintain professional Web sites. Lecture Hours: 2.5 Lab Hours: 1.5 Repeatable: No Grading: L
Recommended: Knowledge of Internet, equivalent to material taught in CIT 010. Familiarity with file manager; ability to use a simple text editor such as Notepad
XML is a notation for generating custom markup languages. Students will create their own XML-based markup, validate it, and integrate different markup languages in a single document. They will use stylesheets to display their XML documents in a browser. Students will also use tools from the XML family of technologies to transform documents and adapt them for multiple purposes
This course is intended for students with some knowledge of programming, and covers most of the Perl programming language. The course includes a review of programming basics and continues on to object-oriented programming, networking, and graphics. Students will learn how to create packages and modules, and interact with web pages via CGI.
This course will introduce students to PHP and MySQL. This course will cover installation, configuration, and administration of PHP and MySQL. Students will use PHP for server-side processing of their dynamic web pages. Students will use SQL to build MySQL databases and tables, to access, insert, delete, and modify database content, and to administer user accounts. This course will use PHP to interact with MySQL database for simple Web-based applications.
This course is intended for students with some knowledge of programming who want to develop Java applets and stand-alone applications. Java interfaces, class inheritance, and exceptions will be covered. Applications covering I/O and graphics will also be addressed. Lecture Hours: 2.5 Lab Hours: 1.5 Repeatable: No Grading: L Recommended: Knowledge of programming equivalent to that taught in either CIT 020, CIT 042, CIT 024, or COMSC 075
This is an introductory course in the UNIX/Linux operating system. It covers a basic editor, file and directory manipulation, processes, standard files, access permission, mail, write and talk. The course also addresses the Bash Shell, including the shell command line, setup, customizing the shell environment, the alias mechanism, pipes, filters, and I/O redirection. Additionally, document formatting packages and system administration are briefly introduced.
This is a beginning course in UNIX/Linux Shell Programming using different shell programs available with the UNIX and Linux operating systems. The course will include use of bash and C-Shell Programming theory and concepts. These concepts include interpretation of different quote characters, shell variables, decision making commands and looping mechanisms. Students will also learn passing of arguments to shell scripts, IO redirection, terminal/file IO, subshells and using special UNIX commands. Additionally, this course will include use of the sed and awk utilites, and an introduction to Korn shell commands.
This course includes a review of basic UNIX/Linux commands and also covers: using administration tools, mounting and unmounting the file systems, adding and removing users from the system, and backing up and restoring the file system. Students learn to utilize UNIX/Linux tools to administer user accounts and groups and administer devices, printers and networking services. Also included are planning, setting up and administering log files, basic network file system setup, use of UNIX/Linux tools to administer hardware, and troubleshooting file access problems.
This course is an 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 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 introduces the design, configuration, deployment, analysis and troubleshooting of Local Area Networks. It provides both lecture and laboratory practices in a variety of areas such as the fundamentals of Ethernet switches, Virtual Local Area Networks (VLANs), the VLAN Trunking Protocol (VTP), the Spanning Tree Protocol (STP and RSTP) and Inter-VLAN Routing. Students learn the details of the configuration of these functions and operation of the protocols. This course helps prepare the student for the Cisco CCNA, CCNP and CWNA certification.
This course introduces Wide Area Network technologies and protocols, network security, and IP addressing services. It provides both lecture and laboratory practice in a variety of areas including PPP and Frame Relay, Access Control Lists, Virtual Private Networks (VPNs), Dynamic Host Configuration Protocol, DHCP, Network Address Translation (NAT) and Network Troubleshooting. This course helps prepare the student for the Cisco CCNA and CCNP certification.
This course provides a next step for students who want to enhance their CCNA-level skill set and help meet the growing demand for network security professionals. The course 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. This course helps prepare students for entry-level security career opportunities and the globally recognized Cisco CCNA Security certification.
This 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.
This 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
This course provides the knowledge and teaches the skills necessary to (1) plan and perform regular maintenance on complex enterprise routed and switched networks and (2) use technology-based practices and a systematic ITIL- compliant (Information Technology Infrastructure Library) approach to perform network troubleshooting. This course uses the official Cisco Academy CCNP TSHOOT curriculum and is designed to provide preparation for the CCNP ROUTE certification exam.
This course provides a broad and in-depth knowledge of enterprise wireless LAN administration. It provides a complete foundation of knowledge needed for entering into or advancing in the wireless networking industry. From basic RF theory to 802.11 frame exchange processes are covered. This course delivers hands-on training that will benefit the novice as well as the experienced network professional. It provides preparation for the CWNA Certification examination.
This course prepares students to manage large-scale collections of data as objects to be stored, searched, selected, and transformed for use. Students examine both the background theory and practical application of information retrieval, database design and management, data extraction, transformation and loading for data warehouses, and operational applications. In addition, traditional methods of information retrieval and database management as well as new approaches that use massively parallel computation (MapReduce/Hadoop) will be examined. Through readings, discussion, and hands-on experimentation, students will be prepared to discuss, plan, and implement storage, search and retrieval systems for large-scale structured and unstructured information systems using a variety of software tools. They will also be able to evaluate large-scale information storage and retrieval systems in terms of both efficiency and effectiveness in providing timely, accurate, and reliable access to needed information.
The course covers principles of computer systems and network security. We will discuss various attack techniques and how to defend against them. Topics include network attacks and defenses, operating system holes, web security, e-mail, botnet, malware, social engineering attacks, privacy, and digital rights management. Course projects will focus on building reliable code and understanding attacks.
This course provides an overview of fundamental techniques in machine learning, data mining and statistical learning. Topics include density estimation (parametric and nonparametric approach), linear and nonlinear regression, decision trees, Naive Bayes, clustering algorithms, association rules, dimension reduction, anomaly detection, graph mining, time-series analysis and applications in social media analysis, recommendation system, and massive data analytics.
The course covers data mining and machine learning algorithms for analyzing very large amounts of data. The emphasis is on Map Reduce as a tool for creating parallel algorithms that can process very large amounts of data.
The course covers various applications of data mining in computer and network security. Topics include: Overview of the state of information security, malware detection, network and host intrusion detection, web/ email/ and social network security, and authentication and authorization anomaly detection.
This course is an introduction to the systematic approach to design, construction, and management of computer programs; emphasizing program documentation, testing, debugging, maintenance and reuse. C ++ features included are data types, control structures, I/O, functions, classes & objects, pointers, inheritance and polymorphism.
This course is a systematic treatment of intermediate concepts in information technology through the study of C++. Topics included are derived classes, class templates, function templates, virtual functions, operator overloading, an introduction to the Standard Template Library, multiple inheritance, pointers, dynamic memory allocation, file I/O, polymorphism, method chaining, functional programming, linked-lists, FIFOs, LIFOs, events in GUIs and guarded code.
This course is a systematic treatment of concepts in Java programming. Topics include Java interfaces, class extension, generics, the Java collections framework, multi-dimensional arrays, file I/O, inheritance, polymorphism, method chaining, functional programming, linked-lists, FIFOs, LIFOs, event-driven programming and guarded code.
Systematic introduction to fundamental concepts of programming through the study of the Python programming language. Topics include control structures, functions, classes, string processing, lists, tuples, dictionaries, working with files, elementary graphics, recursion, data abstraction, problem solving strategies, 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.
This course is an introduction to the architecture, API and techniques used to create robust, high-performance applications for Android mobile devices. It is an overview of the most common tools and techniques for writing Android applications. Other topics include user interfaces, local storage, maps, multimedia, content providers, sensors, and user events. Storage strategies for persistent information are introduced, including the use of SQLite database features. The course is intended for students with previous Java programming experience.
This course is an introduction to the architecture, API and techniques used to create robust, high-performance apps for iOS mobile devices (iPhone, iPad and wearable) with the Swift programming language. It is an overview of the most common tools and techniques for designing and creating 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 for persistent information are introduced, including the Core Data framework and the use of SQLite database features. The course is intended for students with previous programming experience
This course will provide a student with the knowledge and skills required to build, maintain, troubleshoot and support server hardware and software technologies. The student will be able to identify environmental issues; understand and comply with disaster recovery and physical/ software security procedures; become proficient with industry terminology and concepts; understand server roles/specializations and interaction within the overall computing environment.
The course gives a broad overview of essential concepts and methods for providing and evaluating security in information processing systems (such as operating systems and applications, networks, and protocols). The course will cover software security, practical cryptography, and basics of Network security
This course introduces the network security specialist to the various methodologies for attacking a network. Students will be introduced to the concepts, principles, and techniques, supplemented by hands-on exercises, for attacking and disabling a network within the context of properly securing a network. The course will emphasize network attack methodologies with the emphasis on student use of network attack techniques and tools and appropriate defenses and countermeasures. Students will experience a hands-on practical approach to penetration testing measures and ethical hacking.
This course is an introduction to computer cyber crime and hacking investigation processes. Topics include computer forensics tools, hacking investigation tools, data recovery, information gathering techniques, computer data preservation techniques, and computer cyber crime investigation techniques. System administrators, security professionals, IT staff, and law enforcement personnel, would benefit from taking this course. Also, this course can help prepare students to pass computer forensics certification examinations, such as the ECCouncil Computer Hacking Forensic Investigator (CHFI) or the Certified Forensic Computer Examiner (CFCE) credential.
Introduction to the field of Big Data, its concepts and technologies, as well as R programming. Students will explore the roles of a data scientist in terms of network architecture, data analytics and predictive analysis. Differentiation among raw data, clean data, and tidy data; and tools to convert data to/from these formats will be covered. Effective management of large data in single and distributed computing environments, including managing data redundancy and failures, will be covered. Testing, correlation, clustering, and data visualization will be introduced.
This course is an introduction to basic computer programming concepts using both the procedural and an object-oriented paradigm. It is intended for non-computer science majors, and for students interested in COMSC 075 but would like a more gradual entry into computing fundamentals. Topics include hands-on practice with software engineering tools, simple programs, variables, control structures, functions, input/output and introduction to abstraction. Specifications, adherence to style guidelines, and the importance of testing to ensure that programs are usable, robust and modifiable, will be addressed throughout the course.
This course is an introduction to the discrete and combinatorial mathematics that serves as a foundation for advanced courses in mathematics and computer science. Topics include logic, predicates and quantifiers, validity of argument, mathematical proof techniques (including induction), sets, Boolean algebras, recursive algorithms, functions, relations, elementary number theory, combinatorics, discrete probability, and an introduction to graphs and trees.
This course is an introduction to computer programming concepts from a computer science perspective. Programming structures of sequential, selection and repetition are covered using a high-level object oriented language. Using existing classes and creating classes, methods, argument passing, program and data abstraction (including arrays) are covered. Documentation, programming style, and program design and development are addressed throughout the course.
This course covers data abstraction and structures as well as associated algorithms for linear lists, stacks, queues, trees, and other linked structures, arrays, strings, and hash tables. Software engineering techniques are applied to the design and development of large programming projects in an object-oriented environment. Searching and sorting algorithms are also covered.
This course covers the internal organization and operation of digital computers at the assembly language level. Topics include the mapping of high-level language constructs into sequences of machine-level instructions; assembly language and assemblers; linkers and loaders; internal data representations and manipulations; numerical computation; input/output (I/O) and interrupts; functions calls and argument passing; and the basic elements of computer logic design.