CSCI – Computer Science

CSCI 112 Programming Fundamentals I (4.00)

3.50 hours lecture – 1.50 hours lab Transferability: UC/CSU

Introduction to the basic concepts of Computer Science, the fundamental techniques for problem solving, and the software development process. Includes the syntax and semantics of the C programming language focusing on basic control structures, data types, and input/output.

CSCI 114 Programming Fundamentals II (4.00)

3.50 hours lecture – 1.50 hours lab Prerequisite: CSCI 112 Transferability: UC/CSU

Object-oriented programming in Java, focusing on classes, instances, methods, interfaces, encapsulation, overloading, file I/O, inheritance, polymorphism, and exception handling.

CSCI 130 Linux Fundamentals (3.00)

2.00 hours lecture – 3.00 hours lab Transferability: CSU

An introduction to fundamental end-user skills and tools in Linux, designed for students with little or no command-line Linux or UNIX experience. Emphasis on command line to run shell tools, and to automate routine functions.

CSCI 210 Data Structures (4.00)

3.50 hours lecture – 1.50 hours lab Prerequisite: CSCI 114 Transferability: UC/CSU

A systematic study of data structures, including arrays, stacks, recursion, queues, linear and non-linear linked lists, binary trees, hashing, comparative study of searching and sorting algorithms, graphs, Huffman codes, introductory analysis of algorithms, introduction to the complexity of algorithms including big

CSCI 212 Machine Organization and Assembly Language

(4.00)

3.50 hours lecture – 1.50 hours lab Prerequisite: CSCI 114 Transferability: UC/CSU

An introduction to Assembly Language programming. Language syntax is covered, together with a study of the instruction set mnemonics, segment, index, pointer, general purpose and flag registers. A variety of memory addressing techniques will be covered, as well as stack operations, particularly those associated with passing parameters to subroutine calls. Also includes I/O to screen, printer, and disk interfaces. Emphasis will be placed on interaction between the student’s code and the operating system’s supplied functions for I/O to peripheral devices. Use of editor and debugging tools will also be addressed.

CSCI 222 C++ and Object-Oriented Programming (4.00)

3.50 hours lecture – 1.50 hours lab Prerequisite: CSCI 114 Transferability: UC/CSU

Detailed study of the C++ programming language and its support for data abstraction and object-oriented programming.

Presents an introduction to the fundamental elements of object-oriented programming including encapsulation, classes, inheritance, polymorphism, templates, and exceptions.

CSCI 230 Java GUI Programming (3.00)

2.00 hours lecture – 3.00 hours lab Prerequisite: CSCI 114 Transferability: CSU

Graphical User Interface programming using Java. Emphasizing event-driven programming and the code to create GUI components such as buttons, text area, scrollable views.

Includes hands-on laboratory experience reinforcing the lecture material.

CSCI 235 Android Development (3.00)

2.00 hours lecture – 3.00 hours lab Prerequisite: CSCI 114 Transferability: CSU

Applied Java programming to mobile Android phones utilizing the Android Software Development Kit (SDK). Assignments and programs will specifically address the basic aspects of developing applications using the Android SDK.

CSCI 250 Introduction to Artificial Intelligence (4.00)

3.50 hours lecture – 1.50 hours lab Prerequisite: CSCI 114 Transferability: CSU

A hands-on introduction to Artificial Intelligence. Topics include: AI history & applications, neural networks, supervised & unsupervised learning, machine learning programming frameworks, computer vision, text and sequences, AI enabling technologies and limits.The course includes hands-on exercises and projects, in which students will learn how to apply common Artificial Intelligence and Machine Learning algorithms to real world problems in fields of computer vision and natural language understanding.

CSCI 275 iOS Development (3.00)

2.00 hours lecture – 3.00 hours lab Prerequisite: CSCI 114 Transferability: CSU

Focus on the Swift programming language and the tools and APIs required to build applications for the iOS platform.

Includes user interface designs for iOS mobile devices and unique user interactions using multitouch technologies.

CSCI 290 Introduction to Machine Learning (4.00)

3.50 hours lecture – 1.50 hours lab Prerequisite: CSCI 114 Transferability: CSU

A hands-on introduction to Machine Learning. Topics include: Supervised learning, including classification, and regression techniques; Unsupervised learning, including density estimation, clustering, and dimensionality reduction techniques; Reinforcement learning. The course includes hands-on exercises and projects, in which students will learn how to apply the Machine Learning algorithms to real world problems in fields of

Notes:

May be transferable to UC upon UC’s review of the course syllabus.

computer vision and natural language understanding.

To satisfy a prerequisite, the student must have earned a letter grade of A, B, C, P, or CR in the prerequisite course, unless otherwise stated.