Degrees and Requirements

Computer Science

A minor in Computer Science is an opportunity for students to fulfill career or personal interests, and/or to facilitate in depth study in a field of secondary interest.

Minors must be completed within the student's graduation timeline. A minimum GPA of 2.0 must be achieved in the following courses to qualify for this minor.

To complete a minor in computer science, a minimum of 23 credits must be taken in computer science in accordance with the following schedule.

17 credits in Required Courses and a minimum of 6 additional 2000+ level computer-science credits.

 

Summary of Requirements

Computer Science Minor Electives: Choose 6 Credits from the following 2000+ Level courses

  • CRIM4030
    COMPUTER FORENSICS INVESTIGATIONS |

    CRIM4030
    COMPUTER FORENSICS INVESTIGATIONS |

    Credits (Min/Max): 3/3

    This course provides a comprehensive examination of the application of computer security techniques to the physical evidence of a crime. Crime scene processing procedures will be utilized in the analysis of physical digital evidence. The course will also include training in report writing and courtroom testimony, to include a moot court exercise.|

    PREREQUISITES:

    CRIM3043 & CSCI3042

  • CSCI2025
    SYSTEMS PROGRAMMING |

    CSCI2025
    SYSTEMS PROGRAMMING |

    Credits (Min/Max): 3/3

    This course will introduce the students to the important systems language,C,and to several topics related to the hardware and software environment. These are issues related to system interfaces and software synchronization provided by operating systems, the linkage of operating system services to application software, and the fundamental mechanisms for computer communications.|

    PREREQUISITES:

    CSCI2010 & Concur: CSCI2025L

  • CSCI2035
    COMPUTER ORGANIZATION & DESIGN |

    CSCI2035
    COMPUTER ORGANIZATION & DESIGN |

    Credits (Min/Max): 3/3

    This course will introduce students to the function and design of digital computers. Topics covered include: Value representation, ALU structure and operation, simple digital electronics, basic assembly language programming, I/O and bus architectures, and complex processor architectures including virtual memory.|

    PREREQUISITES:

    CSCI2025

  • CSCI2055
    DATABASE-SYSTEMS THEORY |

    CSCI2055
    DATABASE-SYSTEMS THEORY |

    Credits (Min/Max): 3/3

    This course is designed to present the essential concepts, principles, techniques, and mechanisms for the design, analysis, use, and implementation of computerized database systems. Key information management concepts and techniques are examined: database modeling and representation; information interfaces - access, query, and manipulation, implementation structures, and issues of distribution. The database and information management system technology examined in this course represents the state-of-the-art, including traditional approaches as well as recent research developments. The course should allow the student to understand, use, and build practical database systems. The course is intended to provide a basic understanding of the issues and problems involved in database systems, a knowledge of current practical techniques for satisfying the needs of such a system, and an indication of the current research approaches that are likely to provide a basis for tomorrow's solutions.|

    PREREQUISITES:

    CSCI1010

  • CSCI3040
    OPERATING SYSTEMS |

    CSCI3040
    OPERATING SYSTEMS |

    Credits (Min/Max): 3/3

    This course is an in-depth study of modern operating systems. Students will learn about the services provided by an operating system, how to use these services and how the services are implemented. Topics covered include: Initialization (boot), Processes, Controlling shared resources, Memory, Bulk storage systems, and Network Communications (TCP/IP) as they relate to the computer operating system.|

    PREREQUISITES:

    CSCI2035

  • CSCI3042
    COMPUTER SECURITY |

    CSCI3042
    COMPUTER SECURITY |

    Credits (Min/Max): 3/3

    This course covers fundamental issues and first principles of security and information assurance. The course will look at the security policies, models and mechanisms related to confidentiality, integrity, authentication, identification, and availability issues related to information and information systems. Other topics covered include basics of cryptography (e.g., digital signatures) and network security (e.g., intrusion detection and prevention), risk management, security assurance and secure design principles, as well as e-commerce security. Issues such as organizational security policy, legal and ethical issues in security, standards and methodologies for security evaluation and certification will also be covered.|

    PREREQUISITES:

    CSCI4045 & CSCI1010 or CSCI1010 & ISTC2030

  • CSCI4010
    COMPILER DESIGN |

    CSCI4010
    COMPILER DESIGN |

    Credits (Min/Max): 3/3

    Compiler Design is an area of computer science where students learn formal language definitions and grammars. They will ultimately learn how to translate one language into another. This subject has many applications besides just the creation of language compilers!|

    PREREQUISITES:

  • CSCI4020
    INTRO TO SOFTWARE ENGINEERING |

    CSCI4020
    INTRO TO SOFTWARE ENGINEERING |

    Credits (Min/Max): 3/3

    This course is an introduction to field of software engineering. It will combine a range of topics integral to the design, implementation, and testing of a medium-scale software system with the practical experience of implementing such a project as a member of a programmer team.|

    PREREQUISITES:

  • CSCI4045
    COMPUTER NETWORKS & DISTRIBUTED APPLICATIONS |

    CSCI4045
    COMPUTER NETWORKS & DISTRIBUTED APPLICATIONS |

    Credits (Min/Max): 3/3

    This course introduces the fundamentals of computer networking for distributed applications. Topics covered include network architecture, protocols, standards, security and socket programming. The course provides students with the ability to create programs making appropriate use of networked architectures with a specific focus on the Internet.

    PREREQUISITES:

    CSCI2010

  • CSCI4046

    CSCI4046

    Credits (Min/Max): /

    PREREQUISITES:

  • CSCI4055
    ADVANCED DATABASE THEORY |

    CSCI4055
    ADVANCED DATABASE THEORY |

    Credits (Min/Max): 3/3

    This course is a continuation of Database-Systems Theory. It concentrates on object-oriented database design, object relational design, data warehousing, data marts, and data mining. Emphasis will be placed on modeling languages such as UML, ODMG, as well as ODL and SQL3 standards. Also, Online Analytical Processing and its relationship to data warehousing, data mining, and decision support systems will be discussed.|

    PREREQUISITES:

    CSCI2055

  • CSCI4070
    INTRO TO ARTIFICIAL INTELLIGENCE |

    CSCI4070
    INTRO TO ARTIFICIAL INTELLIGENCE |

    Credits (Min/Max): 3/3

    This course will provide an introduction to the fundamental concepts and techniques underlying the construction of intelligent computer systems. Topics covered in the course include: problem solving and search; logic and knowledge representation; planning; uncertain knowledge and reasoning; and machine learning. Formal approaches will support implementation, both through available tools and student-written functions.|

    PREREQUISITES:

  • MATH2051
    DISCRETE MATHEMATICS II |

    MATH2051
    DISCRETE MATHEMATICS II |

    Credits (Min/Max): 3/3

    A continuation of MATH1014. Topics to be covered will include some or all of the following: integers and integers Mod n; counting techniques, combinatorics, and discrete probability; graphs, trees, and relations; Boolean algebras; and models of computation such as grammars, finite-state machines, and Turing machines.|

    PREREQUISITES:

    MATH2050

Required Courses: 17 credits

  • CSCI1002
    INTRO TO COMPUTER SCIENCE (SLSC1012) |

    CSCI1002
    INTRO TO COMPUTER SCIENCE (SLSC1012) |

    Credits (Min/Max): 3/3

    This course is an introduction to the field of computer science. A scientific foundation of many aspects of CS will be developed upon which more advanced CS courses will build. Topics include: computer design, computer programming, information processing, algorithm design, operating systems, software engineering, and artificial intelligence. Cross-listed with SLSC1012|

    PREREQUISITES:

  • CSCI1010
    PROGRAMMING I |

    CSCI1010
    PROGRAMMING I |

    Credits (Min/Max): 3/3

    This course introduces the art of algorithm design and problem solving in the context of computer programming. The basic structure and logic of the Java language is presented. Topics covered include data types and operators, control flow, repetition and loop statements, arrays and pointers. Good programming practices will be taught and encouraged.|

    PREREQUISITES:

    CSCI1002 or SLSC1005 or SLSC1012 & Concur: CSCI1010L

  • CSCI1010L
    PROGRAMMING I-LAB |

    CSCI1010L
    PROGRAMMING I-LAB |

    Credits (Min/Max): 1/1

    Lab work for CSCI1010 Programming I.|

    PREREQUISITES:

  • CSCI2010
    PROGRAMMING II |

    CSCI2010
    PROGRAMMING II |

    Credits (Min/Max): 3/3

    This course is a follow-on to Programming I. Topics covered include; data structures, file input and output, and other advanced object-oriented programming concepts found in Java.

    PREREQUISITES:

    CSCI1010

  • CSCI2010L
    PROGRAMMING II-LAB |

    CSCI2010L
    PROGRAMMING II-LAB |

    Credits (Min/Max): 1/1

    Lab work for CSCI2010 Programming II|

    PREREQUISITES:

    CSCI1010 & CSCI1010L & Concur: CSCI2010

  • CSCI2020
    ALGORITHM ANALYSIS |

    CSCI2020
    ALGORITHM ANALYSIS |

    Credits (Min/Max): 3/3

    This course teaches techniques of programming utilizing data structures such as lists, stacks, and queues and algorithmic approaches such as recursion, searching and sorting. These techniques are learned through programming exercises as well as classroom study.N×|

    PREREQUISITES:

    CSCI2010

  • MATH2050
    DISCRETE MATHEMATICS I |

    MATH2050
    DISCRETE MATHEMATICS I |

    Credits (Min/Max): 3/3

    A basic course dealing with mathematics applicable to computer science. It provides an introduction to mathematical methods and covers such topics as: enumeration, set theory, mathematical logic, proof techniques, number systems, functions and relations, graphs and digraphs, trees, combinitorics, basic algebraic structures, recurrence relations, Boolean algebra, and analysis of algorithms.|

    PREREQUISITES:

    MATH1032