Undergraduate 2017-2018

College of Natural and Health Sciences

School of Mathematical Sciences

CS 101 Introduction to Computer Science

Breadth-first study of computer science concepts. Topics include machine architecture, programming, problemsolving techniques, algorithms, operating systems, networking, security, computations, graphics, GUIs, Al, databases, software engineering, and social issues. (LAC)


CS 102 Structured Programming

Prerequisite: CS 101 or CG 120 with the grade of "C" or better (C- is not acceptable). Study the structured programming development methods; the data types, operators, expressions, control flow, and input and output of a specific structured programming language; and some elementary data structures and algorithms.


CS 200 Object-Oriented Analysis, Design, and Programming

Prerequisite: CS 102. Study the software development life cycle; elements of the object model; object-oriented data types and functions; object-oriented enhancements to structured programming; and additional data structures and algorithms.


CS 301 Algorithms and Data Structures

Prerequisite: CS 200. Internal representation and applications of lists, trees, graphs, sorting, searching, and hashing. Focus on the interactions among algorithm, data structures, and storage structures for the processing of data.


CS 302 Programming Languages

Prerequisite: CS 301. Basic components of programming languages. Specification of syntax and semantics. Description of programming languages features. Examine a wide variety of languages with an emphasis on their structure, design, and use.


CS 350 Software Engineering I

Prerequisite: CS 301. Study concepts of engineering software systems. Design and implement a software system project using the team approach.


CS 395 Special Topics in Computer Science

Consent of instructor. Topics in computer science that reflect the specific interests of available instructors and the specific needs of the students. Repeatable, under different subtitles.

1- 3

CS 422 Directed Studies

A plan should be submitted and approved by all computer science faculty. Individualized investigation under the direct supervision of a faculty member. (Minimum of 37.5 clock hours required per credit hour.) Repeatable, maximum concurrent enrollment is two times.

1- 4

CS 440 Operating Systems

Prerequisites: CS 301. Study operating systems history, concepts/structure and design; process, processor, memory, file system and input/output management; and representative operating systems.


CS 442 Networking

Prerequisite: CS 301. Study data communications; network structure, design and architectures; network services and standardization; and respective networks all in the framework of the OSI model.


CS 460 Problem Solving with Supercomputers

Prerequisites: CS 101 with a grade of "B" or better or CG 120 with a grade of "B" or better. Sophomores and above. Basics of Linux administration and scripting in an HPC environment. Utilizing an HPC cluster to carry out a significant research project.


CS 480 Graphics

Prerequisite: CS 301. Study graphics theory and applications including the description and transformation of world, viewpoint, eye and screen coordinates, two and three dimensional graphics and hidden line algorithms.


CS 497 Senior Project

Senior or above. A significant computer project will be developed and implemented under the guidance of a computer science professor. A project proposal should be submitted and approved by all computer science faculty. Repeatable, maximum of eight credits.

1- 8