Computer Science (CSC)

CSC 104   Fundamentals of Programming   3 Units

This course covers the basic principles of computer programming and the procedures involved in coding, program development, algorithms design, development and control. The class addresses basic programming language syntax and constructs, commands and utilities used for writing quality computer programs using the C# programming language. The course also introduces the basic concepts of assembly and high-level programming languages. Students in the class will be able to write elementary programs that will run on Intel based microcomputers.

CSC 105   Web Design   3 Units

This course introduces contemporary web design. Students will learn basic HTML and CSS for building static web pages. The course will include JavaScript, jQuery, Bootstrap, and JSON to build an interactive website. Students will also learn about responsive web design and user experience concepts.

CSC 210   Introduction to Operating Systems   3 Units

This course examines the functional components of computer systems, including their hardware implementation and management at different levels, and their interaction, characteristics, and performance. The course will include process management, I/O devices, interrupt structures, resource and memory management, and file systems.

CSC 212   Data Structures   3 Units

This course examines the basic concepts of data structures and related algorithms. Topics include arrays, structures, stacks, queues, linked lists, trees, graphs, and tables to design algorithms. Students will write complete programs to implement these algorithms. Recursion, searching, sorting, timing and space analysis for algorithms, and memory management will also be discussed. Prerequisite: CSC 104.

CSC 214   Programming Languages   3 Units

This course examines disciplined programming using a high-level language with specific emphasis on program design, style, efficiency and documentation. Topics include syntax and semantics, statement and subprogram control, data types and data control, design and implementation issues and source control. Offered alternate years.

CSC 316   Introduction to Networking   3 Units

This course serves as an introduction to the structure and components of computer networks, functions and services. In addition, this course discusses current protocols, technologies, and performance issues. Topics include computer network application layers, data communication basics. network layer and routing, network security and other selected topics. Offered alternate years. Prerequisites: CSC 104, CSC 210.

CSC 318   Object-Oriented Programming   3 Units

This course examines student problem solving with object oriented programming techniques using Java. The topics include exception handling, generics, inheritance, design patterns, and data structures. Offered alternate years. Prerequisites: CSC 104, CSC 214.

CSC 320   Server Side Development   3 Units

This course provides an overview of programming and database techniques used in server-side programming. Topics include handling web form data, SQL, database design, security considerations, stored procedures, n-tier architecture, transportation and data encoding techniques. Offered alternate years. Prerequisite: CSC 104.

CSC 322   Software Engineering   3 Units

The course introduces software design, development, lifecycle and principles applied for each application development stage and managing software projects, including the phases of software development, design patterns, software architecture and Agile software development. Students will learn the processes of creating, developing, testing and deploying software and the management methods in software development projects. Offered alternate years. Prerequisite: CSC 104.

CSC 324   Computer Architecture and Assembly   3 Units

This course examines the functional components of computer systems, including hardware implementation and management, major hardware components, peripherals of computers and the interrelation of the devices in performing functions. Students will learn concepts of microprocessors, data transfer and control methods, program sequencing, instruction sets and memory organization theories. Offered alternate years. Prerequisite: CSC 104.

CSC 426   Database Management Systems   3 Units

This course examines integrated database systems, logical organization, data description language (DDL), data manipulation language (DML), hierarchical networks and relational databases, and an overview of selected database management systems (DBMS). Offered alternate years. Prerequisites: CSC 104, CSC 212.

CSC 428   Information Security   3 Units

This course examines the fundamentals of information and web security. Topics will include practices of computer system security, operating system security, network security, software security, web security and cryptography algorithms. Offered alternate years. Prerequisites: CSC 104, CSC 214.

CSC 430   Development and Operations   3 Units

Computer operating systems; topics include time sharing, process communication, memory management, storage allocation, interrelationships between the operating system and the architecture of computer systems. Offered alternate years. Prerequisites: CSC 104 and CSC 210.

CSC 490   Internship: Computer Science   1-8 Units

This class is a supervised individual field work experience where a student is required to work in the area of computer science. A written contract between the student and the company allowing the internship needs to be submitted and approved by the department chair prior to the internship assignment. Prerequisite: Senior standing or consent of instructor.

CSC 495   Software Project   3 Units

The course provides students realistic hands-on software development experience. Students will work in teams to build a medium-size software project. Students will use agile software development and tools necessary to support teamwork. This course assumes the student has a good programming background in at least one programming language and is willing to learn new tools and technologies. Prerequisites: Senior standing or consent of instructor.