Course Requirements

  • CIS 5 Intro to Computer Science and Programming I (3)
    The course focuses on computer science foundations, problem solving, basic data types, basic algorithms, and programming methodology, including object-oriented programming. This class does not assume any prior programming experience. The goal of the course is to teach the student to program a computer (write code), to read code written by others, and to take a problem description and translate it into a computational problem (think  algorithmically).

    CIS 10 Intro to Computer Science and Programming II (3)
    Continued focus on computer science foundations and architecture, problem solving, abstract data types, algorithms, programming methodologies, including object-oriented programming,  and web technologies. The goal of this course is to apply computer science principles to relevant problem sets. Prerequisite CIS 5.

    CIS 15A Introduction to Data Structures and Algorithms (3)
    Fundamentals of data structures and algorithms, including lists, queues, trees, graphs, hash tables, sorting, searching, and hashing.

    CIS 15B Algorithm Design and Analysis (3)
    Designing, writing and analyzing algorithms using various data structures. Asymptotic analysis of performance and analysis of space characteristics. Including algorithm design techniques. Prerequisite CIS 15A.

    CIS 50A Software Engineering 1 (3)
    Overview of software development methodologies as well as software development phases and activities. Description of techniques to improve software quality including: analyzing requirements, effective designs, unit test, static analysis and code inspections. Overview of development planning, risk analysis techniques, and effective use of metrics for reporting. 

    CIS 50B Software Engineering 2 (3)
    Focuses on the process of designing, developing, and maintaining real world software applications. Students will work in teams on developing a complex software system over the course of the semester.

    CIS 65 Applied Databases (3)
    Examination of file organizations and file access methods. Studies various data models including relational, hierarchical, network, and object-oriented. Emphasis given to the relational data model. SQL, the data definition and manipulation language for relational databases, is described.

    CIS 70 Web engineering (3)
    Organization of and access to information on the Internet. Design, creation and publication of interactive web pages with HTML, multimedia, animated custom graphics, applets and JavaScript programming. Ethical issues, including security and privacy on the World Wide Web.

    CIS 75 Data Mining and Predictive Modeling (3)
    Techniques for discovering hidden patterns in data generated by businesses, science, web, and other sources. Focus is on the key tasks of data mining, including data preparation, classification, clustering, association rule mining, and evaluation.

    MTH 5A Calculus 1 (4)
    Limits; continuity; derivatives of algebraic and transcendental functions with applications; antiderivatives; an introduction to the definite integral; the Fundamental Theorem of Calculus. Prerequisite: Three to four years of high school mathematics including trigonometry.

    MTH 5B Calculus 2 (4)
    Techniques of integration (including substitution and parts); numerical methods of integration; applications of the integral (including areas, and volumes); improper integrals; differential equations an introduction to parametric equations and polar coordinates. Prerequisite: Grade of C - or better in MTH 5A.

    MTH 5C Calculus 3 (4)
    Partial derivatives; multiple integrals; three-dimensional space; vectors in two- and three-dimensional space; vector calculus. Prerequisite: Grade of C or higher in MTH 5B or consent of instructor.

    MTH 38 Elements of Probability and Statistics (3)
    Elementary probability theory, properties of distributions, sampling, estimation, hypothesis testing, correlation

    MTH 135 Structure & Comparison of Programming Languages (3)
    Basic concepts of syntax and semantics. Comparison of syntax and semantics of selected programming languages, language design. How to evaluate a computer programming language. Prerequisites: MTH 5A, CIS 10, or consent of instructor