|Code||Course Title / Description|
|COMS101||Computer Applications 1 credit|
Applications course focused on basic computer concepts and developing competency using microcomputer software in the following areas: word processing, e-mail, file management, internet searching, basic graphics, and scanning.
|COMS103||Intro to Programming I 3 credits|
Introductory course for computer science majors and minors in programming using a high-level language. The emphasis is on problem solving, designing, writing, and executing structured programs.
|COMS104||Intro to Programming II 3 credits|
A continuation of COMS103 - Intro to Programming I. Advanced topics include searching, sorting, data structures, and object-oriented concepts. Prerequisite: COMS103 - Intro to Programming I.
|COMS201||Object Oriented Programming 3 credits|
A continuation of the object-oriented programming (OOP) concepts introduced in COMS104 - Intro to Programming II. Topics covered include a history of the OOP paradigm, how OOP differs from procedural programming, objects and classes, inheritance, encapsulation, composition, polymorphism, cohesion and coupling, and an introduction to UML modeling. Prerequisite: COMS104 - Intro to Programming II.
|COMS210||Internet Programming 3 credits|
Internet programming includes web server configuration and file security as well as client-side web browsers, HTML, CSS, and scripting. Additional topics covered include internet protocols such as TCP/IP, UDP, and HTTP, and standards such as REST and JSON. Prerequisite/Corequisite: COMS201 - Object Oriented Programming.
|COMS304||Computer Organization 3 credits|
Introduction to the relationship between computer software and hardware. Topics include the hierarchal organization of data storage such as disk drives and memory, CPUs, system input and output, and an evaluation of how hardware components affect system performance. Prerequisite: COMS104 - Intro to Programming II.
|COMS320||Data Communication 3 credits|
Introduction to network technology and design issues students may encounter as information systems professionals. Topics include fundamentals of data transmission, hardware, network topology, and protocols. Prerequisite: COMS103 - Intro to Programming I.
|COMS322||Database Systems 3 credits|
Introduction to relational database management systems (RDBMS) using Microsoft SQL Server. Topics covered include database design, data types, indexes and keys, database normalization, and structured query language (SQL). A basic introduction to big data and multi-model data is also included. Prerequisite: COMS201 - Object Oriented Programming.
|COMS324||Data Modeling 3 credits|
Covers conceptual modeling of cardinal relationships between real-world data objects. The focus is on mapping data relationships using the entity relationship diagram (ERD) as well as an introduction to the application of relational algebra to data objects. Prerequisite: COMS104 - Intro to Programming II.
|COMS326||Data Structures 3 credits|
A continuation and expansion of the data structures introduced in COMS104 - Intro to Programming II and used in modern programming languages. Topics covered include arrays, vectors, stacks, queues, lists, dictionaries, and iterators as well as sorting and comparison of data stored in these structures. Prerequisite: COMS201 - Object Oriented Programming.
|COMS340||Programming Languages 3 credits|
Covers the history and basic principles of programming languages and their various structures including object-oriented, procedural, functional, and scripting languages. Prerequisite/Corequisite: COMS304 - Computer Organization.
|COMS442||Software Architecture 3 credits|
An introduction to the architecture of software systems including architectural types, such as pipe-and-filter, layered, event driven, blackboard, etc., as well as stakeholders involved in software projects, their viewpoints as they relate to a project, and the functional and quality attributes of software systems. Prerequisite: COMS201 - Object Oriented Programming and COMS322 - Database Systems.
|COMS480||Topics in Computer Science 3 credits|
Discussion of selected topics in computer science. Course is offered on a rotational basis and may be repeated for credit with different topics.
|COMS495||Computer Science Capstone 3 credits|
The senior capstone project is intended to allow the student to investigate a computer science area of their choice. The instructor will work with the student in an advisory capacity while the student completes a non-trivial research, hardware design, or programming project related to current trends in computer science. Prerequisite: COMS304 - Computer Organization, COMS320 - Data Communication, and consent of instructor.
|COMS499||Internship in Computer Science 3 credits|
Computer Science-related field experience with an approved agency fulfilling an individual learning contract negotiated between student, faculty advisor, and worksite. Computer Science majors only, by permission.