Computer Science Courses

These listings are sourced from Curricunet, and some courses may not be offered every semester. For additional information, contact the academic department, speak with counseling or refer to the current Class Schedule and College Catalog.

CSCI 6 - Computer Programming for Visual Thinkers    ( 3.00 - Units )
Students work within 2D and 3D virtual worlds to create interactive games, stories and animations. Programs are assembled using a drag-and-drop interface to bypass the abstract syntax rules required by conventional languages. Topics covered include variables, data types, expressions, input/output, logic and control flow, loops, functions, parameters, arrays, recursion, flowcharts, graphics, animation, 3D modeling, and computer game design.

Student Learning Outcomes (SLO)
  1. Construct small program using various elements, such as variable, I/O, conditionals, loops, functions, expressions, and parameters.
  2. draw a flowchart to represent the logical structure of an given algorithm.
  3. Use skills gained in the course to design and program an original game, story or animation.

CSCI 7 - Introduction to Computer Programming Concepts    ( 3.00 - Units )
Introduction to computer programming for nonscience majors and for students requiring additional preparation before taking Computer Science 10 or Computer Science 14. Hardware, system software basics, the history of computing, basic computer operations, number systems, design of algorithms, and programming constructs such as variables, expressions, input/output, decision-making, loops, functions, and parameters.

Student Learning Outcomes (SLO)
  1. Able to draw a flowchart using the standard symbols showing the logic flow to add, subtract, divide, and multiply two numbers. Detect if the two entered numbers are valid numerics, and any "division by zero".
  2. code void and value-returning functions with value and reference parameters and use them in a program
  3. demonstrate steps involved in program development
  4. Produce well-documented, user-friendly programs of short to medium length
  5. Describe the major hardware components of a typical computer (e.g. main memory, secondary storage, CPU, input and output peripheral devices) and what function or part that each component performs when the computer system is functioning.

CSCI 8 - Computer Literacy    ( 3.00 - Units )
Introduction to computers including: Microsoft Windows, Microsoft Office, Multimedia, the internet, browsers, World Wide Web, an awareness of types of computer software in use including programming languages, electronic mail, computer-based careers and trends, and other computing issues in today’s society. No prior computer experience necessary. Course recommended for students of any major who want to learn about computers and how to use them. Hands-on laboratory experience reinforces lecture.

Student Learning Outcomes (SLO)
  1. Construct a basic database application using table, Input Form and Report Form using Microsoft Access
  2. Demonstrate the proper use of headers, footers, page numbering, footnotes, margin spacing, character properties and tables in word processing using Microsoft Word from the appropriate menu options.
  3. Develop a basic self calculating spreadsheet using formulas and functions in Microsoft Excel from the correct menu options recognizing these capabilities' use in a Business environment.

CSCI 10 - Introduction to Programming Using Visual BASIC.NET    ( 4.00 - Units )
Introduction to computer programming using Microsoft’s programming language Visual BASIC.NET for Windows. The course includes programming algorithm development, Visual Studio.NET’s IDE, the language’s basic syntax and grammar, object event procedures, input/output, looping techniques, decision logic, variable data types, functions and subroutines and text file and database manipulation. Intended for a general audience with little or no prior formal programming experience.

Student Learning Outcomes (SLO)
  1. Recognize the functionally and ease of windows based user interface (IDE) for programs written in Visual Basic.NET by selecting and understanding which of the proper or available objects controls to embed on the Form and to code the proper event that each of those objects "detect" when the program is executing. Discuss the advantages of a window based, event driven language vs. an older "command line prompt language such as C or C++.
  2. Use of graphics, sound, mouse and timer based capabilities within a Visual Basic application
  3. Using and concept of loops (i.e. for and while). When is a loop appropriate to the logic and which particular type of loop is best to use in that situation.
  4. Recognize the functionally and ease of windows based user interface for programs written in Visual Basic.NET by selecting and understanding which of the proper or available objects controls to embed on the Form and to code the proper event that each of those objects "detect" when the program is executing. Discuss the advantages of a window based, event driven language vs. an older "command line prompt language such as C or C++.

CSCI 14 - Introduction to Structured Programming In C++    ( 4.00 - Units )
Introduction to structured programming and problem solving using the C++ language. Problem solving techniques, algorithm design, testing and debugging techniques, and documentation standards. C++ syntax: elementary operators, data types, control structures, user-defined and library functions, basic input/output, sequential files, arrays and structs. Appropriate for students with little or no programming experience, but comfortable using computers with modern GUI operating systems.

Student Learning Outcomes (SLO)
  1. Code void and value-returning functions with value and reference parameters and use them in a program
  2. Demonstrate steps involved in program development
  3. Produce well-documented, user-friendly programs of short to medium length
  4. Understand the mechanics under C++ of passing argument values by values and by reference to a function. Given the relevant code, the student will demonstrate their knowledge of parameter passing by correctly determining what would be output of that function.

CSCI 15 - Object-Oriented Programming Methods    ( 4.00 - Units )
Object-oriented programming methods employed to design, program, test and document intermediate level problems. Includes strings and string objects, multidimensional arrays, pointers, dynamic allocation, classes, overloaded functions, inheritance and polymorphism, introduction to linked lists. Designed to satisfy Association of Computing Machinery (ACM) guidelines for CS I as required for Computer Science and related transfer majors.

Student Learning Outcomes (SLO)
  1. Define, design and use simple classes, including at least one project that uses a class inheritance hierarchy.
  2. Manipulate arrays using pointer notation.
  3. Manipulate objects in standard class libraries such as strings, vectors and streams.
  4. Use the new operator to implement a singly linked list.

CSCI 19A - Object-Oriented Programming Methods in Java    ( 4.00 - Units )
Object-oriented programming methods employed to design, program, test and document intermediate level problems in the Java language. Overview of Java syntax, control structures, methods, I/O, strings, single and multidimensional arrays, recursion and exception handling. Abstract Data Types and Object-Oriented Programming principles including classes, information hiding, aggregation, inheritance, method overriding and polymorphism. Introduction to graphical user interfaces (GUIs) and applets using the javax.swing package. Dynamic allocation and de-allocation of memory; comparison of Java references with pointers in C++. Implementation and use of linked lists. Designed to satisfy Association of Computing Machinery (ACM) guidelines for CSI as required for Computer Science and related transfer majors.

Student Learning Outcomes (SLO)
  1. construct a class hierarchy
  2. demonstrate steps involved in program development
  3. Produce well-documented, user-friendly programs of short to medium length
  4. Write program incorporating basic exception handling technique: try-catch and throw

CSCI 20 - Introduction to Data Structures    ( 4.00 - Units )
Design and implementation of larger projects using object-oriented software engineering principles. Emphasis on definition and use of data structures. Includes specification of Abstract Data Types, recursion, dynamic memory allocation, stacks, linked lists, priority queues, graphs, binary trees, heaps, sorting and searching, algorithm analysis, hashing techniques, random access files.

Student Learning Outcomes (SLO)
  1. Define a stack ADT and implement a stack ADT as array (or vector) and as a linked list.
  2. Design and code a complete program of 500 lines or more.
  3. Explain how recursion is implemented.
  4. Manipulate arrays using pointer notation.
  5. Write recursive methods.

CSCI 21 - Computer Organization and Assembly Language Programming    ( 4.00 - Units )
Basics of machine architecture, machine language, assembly language, operating system and higher level language interface. Data representation, instruction representation and execution, addressing techniques and use of macros. Space and time efficiency issues. Input/output including number conversion and use of system interrupts. Interrupt processing and interrupt handlers. Procedures including parameter passing and linkage to higher level languages.

Student Learning Outcomes (SLO)
  1. Ability to write a simple interrupt handler.
  2. Define the term interrupt
  3. Define the term interrupt handler and discuss how interrupts happen and how they are handled.
  4. Demonstrate familiarity with the function of CPU registers
  5. Design and write a simple interrupt handler

CSCI 28 - Discrete Mathematics    ( 3.00 - Units )
Sets, relations and functions; logic, methods of proof, induction; combinatorics, discrete probability, recursion, and recurrence relations; graphs and trees; logic circuits; finite state machines. Designed for majors in mathematics and computer science.

Student Learning Outcomes (SLO)
  1. Critically analyze mathematical problems using a logical methodology.
  2. Communicate mathematical ideas, understand definitions, and interpret concepts.
  3. Increase confidence in understanding mathematical concepts, communicating ideas and thinking analytically.

CSCI 41 - Introduction to UNIX    ( 2.00 - Units )
UNIX operating system capabilities, introduction to Perl, elementary batch programming and compilation of C. Components of a UNIX system, common commands, directory and file management, UNIX editors, shells, electronic mail and user communication, the C language development environment, Internet resources.

Student Learning Outcomes (SLO)
  1. Design and develop the logic for a basic C program under the UNIX environment. This task requires a working knowledge of one oth the available UNIX text editors, the file directory structure of the UNIX environment, file security permissions under UNIX as well as basic programming practices and procedures
  2. Differentiate between a single-user and multi-user system
  3. Edit, compile, and run a simple C program
  4. Identify the major components of a UNIX system
  5. Set the proper Owner, Group, Other security permissions on the relevant individual subdirectories and files to let the Instructor (Other) read and execute their assignments on their individual student accounts.
  6. Using one of the UNIX ASCII editors construct a basic HTML web page on their account, set the proper security permissions, import images and a sound file into their UNIX account and allow anonymous users from the web to see that web page on our UNIX server.
  7. Using one of the UNIX ASCII editors, the student should be able to write the source code for an elementary C program and then compile that program using the built in C compiler

CSCI 42 - UNIX Tools, Shell Programming and System Administration Concepts    ( 2.00 - Units )
Further experience with UNIX tools. Enhanced shells. Emphasis on Linux variant of UNIX. Basic networking concepts. Writing and testing shell scripts. Processes and scheduling. Security issues. Basis System administration.

Student Learning Outcomes (SLO)
  1. 70% of students will be able to analyze problems and design UNIX solutions using shell command files and scripts.
  2. 70% of students will be able to Develop and test Unix programming scripts by using different types of Unix shells
  3. 70% of students will be able to provide the main UNIX system administration tasks such as creating and managing user’s accounts on network servers.
  4. 70% of student will be able to use advanced UNIX utilities and introduction to system programming.