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.

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

 

Summary of Requirements

Computer Science Minor: Required Courses: 14 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

Computer Science Minor: Required Course: Choose one: 3 credits

  • CSCI2017
    DISCRETE STRUCTURES FOR COMPUTER SCIENCE |

    CSCI2017
    DISCRETE STRUCTURES FOR COMPUTER SCIENCE |

    Credits (Min/Max): 3/3

    Discrete structures, also known as discrete mathematics, lie at the foundation of computer science. The discrete structures studied in this survey course comprise basic logic and proof techniques; sets, relations, and functions; the basics of counting; discrete probability; and graphs and trees.|

    PREREQUISITES:

  • 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

Minor Electives: Choose 2 courses: 6 credits

  • 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

  • CSCI4040
    PRINCIPLES OF PROGRAMMING LANGUAGES |

    CSCI4040
    PRINCIPLES OF PROGRAMMING LANGUAGES |

    Credits (Min/Max): 3/3

    This course provides a general introduction to programming language features and design, with a focus on techniques that will help students to quickly and efficiently learn new programming languages in the future. Current trends and issues in programming languages will be discussed. |

    PREREQUISITES:

    CSCI2025

  • CSCI4042
    ADVANCED COMPUTER SECURITY |

    CSCI4042
    ADVANCED COMPUTER SECURITY |

    Credits (Min/Max): 3/3

    This course builds upon the foundational principles students have learned in the introductory Computer Security course. It examines the underlying mechanics of the rapidly expanding and essential role that computer security plays in the digital age. Given the rapidly changing nature of this highly technical field, course topics will focus on current issues and applications. In addition, this course includes practical writing assignments and hands-on advanced technical skill building labs.|

    PREREQUISITES:

    CSCI3042

  • 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:

    CSCI2025

  • CSCI4XXX

    CSCI4XXX

    Credits (Min/Max): /

    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