Northwest Vista Computer Science Department Home

Welcome to our Computer Science Department! We pride ourselves on offering a comprehensive and hands-on curriculum that prepares students for both academic and professional success in the tech industry.

Our program begins with Programming 1, where we lay the foundation by covering programming fundamentals using C++. This course is crucial as it introduces students to the basics of coding, logic, and problem-solving. The course focuses on best practices, input/output, loops, functions, enumeration, arrays, vectors, structures, and an introduction to object-oriented programming.

Building on that foundation, we move to Programming 2, where students delve into Object-Oriented Programming (OOP) with Java. This course takes an advanced look at objects, classes, inheritance, polymorphism, aggregation, abstract classes, Object Design Patterns, and the principles of OOP, which are essential for writing robust and scalable software.

After mastering OOP, our students proceed to Programming 3, focusing on Data Structures using C++. Here, they learn about the critical concepts that underpin efficient algorithms and effective software design, such as pointers. linked lists, sets, trees, graphs, sorting/searching algorithms, stacks, queues, hash tables, and recursion.

For those interested in automation and rapid development, we offer Introduction to Scripting with Python. This course is designed to introduce students to scripting, which is invaluable for tasks ranging from system administration to data processing and beyond. Topics include python basics, OOP concepts, scripting for web interaction, building and testing robust scripts, data processing, and machine learning.

We also offer an Introduction to Databases course that covers the fundamentals of relational databases using MySQL. Students gain hands-on experience in database design, querying, and management—essential skills in today’s data-driven world.

In our Object Design course, students engage in an in-depth exploration of software design principles and patterns. This course bridges the gap between conceptual OOP knowledge and practical application, enabling students to design complex software systems focusing on reusability, scalability, and maintainability.

Whether you're interested in software development, data analysis, or systems engineering, our curriculum provides the tools and knowledge you need to succeed. We’re committed to helping students develop the skills they need to thrive in a rapidly evolving field.