Computer Science
Computer Science
Computer Science focuses on the design, modeling, analysis, and applications of computer-related systems. The Computer Science program at Ventura College prepares students for further study in computer technologies and training necessary to understand, design, implement and use the software and hardware of digital computers and digital systems.
This course is an introduction to computing systems with an emphasis on computer science applications including computer hardware, data storage, operating systems, networking, the World Wide Web, software, digital security, an overview of computer programming languages, information systems, databases, computer graphics, software engineering, and artificial intelligence. The ethics and privacy of computer systems will also be discussed as well as careers and current events in computer technology.
This course introduces the student to fundamental concepts of procedural programming. Topics include data types, control structures, functions, arrays, files, and the mechanics of running, testing, and debugging. The course emphasizes good software engineering principles and developing fundamental programming skills in the context of a functional programming language.
This course introduces the concepts of object-oriented programming to students with a background in the procedural paradigm. The course begins with a review of control structures and data types, with emphasis on structured data types and array processing. It then moves on to introduce the object-oriented programming paradigm, focusing on the definition and use of classes along with the fundamentals of object-oriented design. Other topics include an overview of programming language principles, simple analysis of algorithms, basic searching and sorting techniques, and an introduction to software engineering issues.
This course builds on the foundation provided by the programming fundamentals/object-oriented programming sequence to introduce the fundamental concepts of data structures and the algorithms that proceed from them. Topics include recursion, the underlying philosophy of object-oriented programming, fundamental data structures (including stacks, queues, linked lists, hash tables, trees, and graphs), the basics of algorithmic analysis, and an introduction to the principles of language translation.
This course introduces the student to discrete mathematics as it is used in computer science. Topics include formal logic, proofs, sets, combinatorics, probability, functions, graph theory, Boolean Algebra, and Modeling with programming.
This course introduces students to the organization and architecture of computer systems, beginning with the standard von Neumann model and then moving forward to more recent architectural concepts. This course also offers the student an introduction to assembly language for low-level programming of system software and computer applications.
This course introduces the student to the concepts of object-oriented programming. The course reviews control structures and data types with emphasis on structured data types and array processing. It introduces the object-oriented programming paradigm, focusing on the definition and use of classes along with the fundamentals of object-oriented design. Other topics include an overview of programming language principles, analysis of algorithms, and an introduction to software engineering issues. A complete object-oriented development framework is presented that encourages extensibility, reusability, and manages complexity.
This course introduces the student to fundamental concepts of object-oriented programming with Java. Topics include data types, control structures, functions, arrays, files, and the mechanics of running, testing, and debugging. It then moves on to introduce the object-oriented programming paradigm, focusing on the definition and use of classes along with the fundamentals of object-oriented design. The course also offers an introduction to the historical and social context of computing and an overview of computer science as a discipline.
This course will introduce students to the basics of Information and Communication Technology (ICT) including hardware and software installation, usage, and maintenance and networking. The roles and responsibilities of an ICT professional will be discussed including security and safety, troubleshooting, and customer service related to computing environments. The practice of software and hardware concepts will be practiced through hands-on lab exercises including setting up a computer, installing software and operating systems, and troubleshooting software and hardware issues. This course will prepare students to take the CompTIA A+ certification exams.
This course builds on the students’ knowledge of object-oriented design and provides the student with the skills and techniques to create Java applications and applets. Topics included in this course are the Java language, Java API, Java programming techniques, integrating graphics, data structures, security issues, Java tools, Java applets, and Java database connectivity.
This course provides instruction and hands-on training on the open-source Linux operating system. Students will gain knowledge about open-source software, learn how to install Linux from various media, and create and manage files and folders. Students will also perform tasks such as navigating the Linux file system, installing hardware and software, configuring file settings, administering group and user accounts, and setting up the appropriate permissions on files and folders as well. Students will learn to write shell and Python scripts using commands to automate system tasks. This course is taught using a combination of lectures, hands-on projects, demonstrations, and discussions.
This course provides an introduction to cloud computing including cloud deployment and service models, cloud infrastructure, cloud backup and storage, and key considerations for migrating to cloud computing. Students will utilize mainstream Cloud Service Providers (CSPs) such as AWS, Azure, or Google Cloud (GCP). Prepares students for the CompTIA Cloud+ certification.
This course provides a broad overview of cloud security, including architectural concepts and design requirements for public, private, and hybrid clouds. Students will perform risk assessments and review of various cloud providers including a range of topics such as patch and configuration management, virtualization security, application security, automation, and change management. This course will also include a discussion of compliance and legal concerns about the governance and risk assessment of cloud IT. This course will prepare students to complete the Certified Cloud Security Professional (CCSP) exam.
This course introduces the Open Systems Interconnection (OSI) networking reference model, networking industry standards, networking topologies and medium, numbering systems, IP addressing and subnetting. It covers how networks operate and introduces the basic configurations for routers, switches, and wireless access points. The course content is based on the material from the CISCO Network Academy. This is the first of three courses that prepares a student for the CCNA (Cisco Certified Network Associate) Certification Exam.
This course provides intermediate-level instruction on routing and LAN (local area network) switching, VLANs (virtual local area networks), routing protocols, access control lists (ACLs), and network management. It covers WANs (wide area networks), WANs design, virtual private networking, and network management. Students learn how to deploy a variety of security best practices, and includes automation and programming of network services. The course content is based on the material from the CISCO Network Academy. This course along with the others prepare students for the CCNA (Cisco Certified Network Associate) Certification Exam.
This third and last course in the Cisco Certified Networking Associate (CCNA) curriculum provides students with knowledge and skills to describe the architecture, components, operations, and security of large networks. It covers routing protocols, access control list (ACL), network address translation (NAT), wide area network (WAN), WAN designs, virtual private network (VPN), and network management tools. Students learn how to deploy a variety of security best practices including network virtualization, software defined network (SDN), and network automation to program network services. The course content is based on the material from the CISCO Network Academy. This course along with the others prepare students for the CCNA (Cisco Certified Network Associate) Certification Exam.
This course offers specialized study opportunities for students who wish to pursue projects not included in the regular curriculum. Students are accepted only by a written project proposal approved by the discipline prior to enrollment.
This course offers students who are volunteers (unpaid) an opportunity to obtain work experience related to their field of study. Students are accepted as a result of consultation with a designate faculty member in the discipline and the acceptance of an approved work proposal. This is an unpaid occupational work experience course, where 1 unit of credit is earned for each 60 hours of unpaid internship. A maximum of 4 units can be completed in a semester, and no more than 16 units can be earned in total.
This course offers students who are employed in the field an opportunity to expand their work experience related to their field of study. Students are accepted as a result of consultation with a designated faculty member in the discipline and the acceptance of an approved work proposal. This is a paid occupational work experience course, where 1 unit of credit is earned for each 75 hours of paid internship. A maximum of 4 units can be completed in a semester, and no more than 16 units can be earned in total.