Program Purpose: Computer Science involves the design, modeling, analysis, and applications of computer-related systems. Students who complete the Computer Science Program will be able to critically think and work with computers and computer programs both as consumers and/or programmers. Students will also gain knowledge in computer programming by learning programming skills and the functional capabilities and limitations which it entails. Students who successfully complete computer science courses will gain “hands-on” experience writing computer program codes in one or more computer languages, develop effective methodologies to problem solving using symbolic and abstract reasoning, and employ sound programming techniques. The Computer Science Program prepares students for transfer to a degree completion institution, and it also provides vocational training in the design, implementation, and use of computer software and hardware for digital systems.
Computer Science is concerned with the design, modeling, analysis, and applications of computer-related system 170s. The Computer Science program at Moorpark College prepares students for further study in Computer Science. It also provides vocational training necessary to understand, design, implement, and use the software and hardware of digital computers and digital systems.
Students planning to transfer need to consult with a counselor, prepare a Student Education Plan, and take advantage of the support services available in the Career Transfer Center located in Fountain Hall, (805) 378-1536.
NOTE: Some courses may have credit limitations. Refer to the Credit Limitations and UC Credit Limitations areas or see the UC Transfer Course Agreement page for details.
Provides an introduction to various topics in computer science. Discusses computer hardware, computer operating systems, algorithms, computer programming, computer networks, the Internet, databases, ethical issues, and current events which involve technology issues.
Introduces modern database concepts while emphasizing the relational database model. Includes such topics as design methodologies, normalization of tables to reduce redundancies, supertypes and subtypes to reduce nulls, data integrity, referential integrity, and using locks and other techniques for concurrency control in a multi-user database. Describes the factors that should be balanced during the design of a database. Documents databases, entity relationship diagrams, relational schemas, and data dictionaries are described. Applies the principles by performing exercises using MS SQL Server, MySQL, or other database management system. Uses SQL and other languages to create and fill tables, retrieve data, and manipulate it by stored programs.
Provides a comprehensive introduction to the field of Data Science. Studies machine learning which is a type of artificial intelligence (AI) that provides systems the ability to automatically learn and improve from experience without being explicitly programmed. Distinguishes supervised and unsupervised machine learning (Data Mining) algorithms. Studies the emergence of massive datasets containing millions or even billions of observations which provides the primary incentive for the field, such data sets arise, for instance, in large-scale retailing, telecommunications, astronomy, engineering, health, and internet social media. Provides the key knowledge of data development, management, statistical analysis, data visualization, and inference.
Introduces the basic components, syntax, and semantics of the Java programming language are covered. Uses the Java computer language to introduce basic programming concepts such as algorithms, data and control structures, debugging, documentation, graphical user interface (GUI) and object-oriented programming.
Utilizes various cloud based Data Science tools and services available from Amazon Web Services (AWS) cloud platform to perform data science analysis and machine learning. Uses various examples of how data science and machine learning is used to process vast amounts of collected data to derive predictive analysis. Uses tools such as AWS SageMaker and Amazon Forecast and computer vision tools such as Amazon Rekognition, Amazon Ground Truth, image and video processing and other AWS data science services. Uses Natural Language processing such as Amazon Polly, Amazon Comprehend, and Amazon Translate. Uses AWS Academy Data Science and Machine Learning curriculum. Aligns to Data Science industry professional certification training. Prepares students to pass relevant AWS data science professional certification.
Provides an introduction to computer programming and algorithm design using the Python programming language. Covers the fundamentals of computer programming: basic data types, switching and looping constructs, functions, recursion, objects, arrays, and lists, and basic input and output, both interactive and with files. Explains some principles of algorithm design and analysis as well as techniques for testing programs.
Introduces computer programming and algorithm design using the R programming language. Covers an introduction to R, from installation to most of the statistical concepts, and machine learning. Includes the fundamentals of computer programming concepts: basic data types, variables, if-else, loops, functions, vectors, objects, matrices, arrays, data frames, lists, factors, basic input, data visualization, and output with files. Explains some principles of algorithm design and analysis as well as techniques for testing programs.
Applies best coding practices using Personal Home Page (PHP) language. Introduces different techniques to connect client side code hypertext markup language (HTML) with databases using queries. Performs different input/output (I/O) operations to manipulate data. Enables students to manage sessions and track user activities among different pages using sessions, cookies and database queries.
Introduces students to the basics of mobile app development using iOS as a development platform. Assists students in building foundation programming skills to create well-designed mobile apps based on user requirements. Applies core graphics and touch handling techniques to allow users to interface with their applications.
Exposes students to different programming standards relating to mobile/user interaction. Develops the skills needed to create network-based apps. Develops code that uses mobile device peripherals such as Global Positioning System (GPS), camera and maps to provide users with better services.
Provides on-the-job learning to develop effective work habits, attitudes, and career awareness in paid or unpaid internships that are related to the discipline. Involves the development and documentation of learning objectives and the completion of an internship paper, presentation, or project. Includes both workplace supervisor and faculty adviser feedback and/or written evaluations Course Credit Limitation: To take this course, contact the Career Transfer Center. Requires orientation session. Students receive one unit of credit for each 60 hours unpaid or 75 hours paid work. May enroll in up to 4 units a semester with a maximum of 16 total units of any type of work experience.
Allows independent study for students who wish to extend their knowledge of a particular area of Computer Science through research and study. Utilizes an approved independent project. Includes one-on-one work with instructor. Interested students should contact a Computer Science instructor for assistance in developing a contract for learning about a specific topic.
Provides an introduction to the C++ programming language. Covers the basic components, syntax, and semantics of the C++ programming language. Introduces basic programming concepts such as algorithms, data and control structures, documentation, structured programming, arrays, and pointers.
Presents the design of programming applications using software engineering techniques. Discusses the development of large programs, data abstraction and structures and the associated algorithms.
Introduces the organization and behavior of real computer systems at the assembly language level. Studies the mapping of statements and constructs in a high-level language into sequences of machine instructions. Discusses the internal representation of simple data types and structures and examines numerical computation, data representation errors and procedural errors.
Introduces the discrete structures used in computer science with an emphasis on their applications. Covers functions, relations, sets, basic logic, proof techniques, basics of counting, graphs and trees, and discrete probability.