CS - Computer Science (CS)

*Course Fees are Per Credit Hour

CS 1XX. Comp Science Elective. (1-3 Credits)

CS 101. Introduction to Computer Programming. (3 Credits)

A hands on, introductory computer programming course intended for students that are majoring in non-computing degree programs. Students use a modern programming language to learn basic programming principles including arithmetic, control structures, simple data structures and graphics. The course focuses on solving real-world problems. Prerequisites: Any area III math included in the General Education components, or a Math ACT score of 22 or higher. (Fall, Spring).

Course Fees: $90

CS 135. Computer Skills for Problem-Solving. (3 Credits)

Using personal computers as effective problem-solving tools, this course will enhance analytical thinking and abstraction skills. Topics include problem specification, problem-solving techniques, and the interpretation of results to problems from scientific, business, and social domains. Students will utilize productivity software, the Internet, and programming principles to foster an understanding of the impact of computing technology on society and culture. (Fall, Spring, Summer)

Course Fees: $90

CS 155. Computer Science I. (4 Credits)

An introduction to the theoretical foundations of computer science, the components of algorithms and the representation of these components using a high-level programming language. Special emphasis on software development and an introduction to object-oriented programming. Prerequisites: CS 135 and MA 112, or CS 135 and MA 115, or MA 125 w/min grade of B, or ACT Math 28 or higher (Fall, Spring, Summer)

Course Fees: $90

CS 245. Introduction to Discrete Structures. (3 Credits)

Sets, functions and relations, basic logic, proof techniques, basics of counting, graphs and trees, discrete probability and number systems with applications to various areas of computer science. Prerequisite: MA 112; Prerequisite or Correquisite: CS 155.(Fall).

Course Fees: $90

CS 255. Computer Science II. (3 Credits)

Continuation of CS 155 with emphasis on advanced programming techniques, including recursion and pointers. Introduction to elementary data structures such as queues, stacks, lists, strings, and trees. Discussion of professional ethics. Programming methodology with emphasis on object-oriented programming. Prerequisite: CS 155 (with a grade of C or higher). (Fall, Spring, Summer on sufficient demand)

Course Fees: $90

CS 310. Computer Organization and Assembly Language Programming. (3 Credits)

Overview of computer hardware organization, machine representation of numbers and characters, memory system organization and architecture. Overview of system software. Programming experience in assembly language. Prerequisite: CS 245 (with a grade of C or higher). (Spring)

Course Fees: $90

CS 311. Computer Architecture. (3 Credits)

Review of Boolean algebra and the elements of logic design including a laboratory experience. Study of the theory and design of register transfer, bus structure, arithmetic unit, control unit and memory. Consideration of design options including array processors, stack-based processors, pipelining, multiprocessing and distributed systems. Prerequisite: CS 310 (with a grade of C or higher). (Fall)

Course Fees: $90

CS 315. Graphical User Interface Programming. (3 Credits)

Introduction to programming for modern graphical user interfaces using a visual programming tool. Topics include integrated development environments, object-oriented design, use of components and rapid application development. Prerequisite: CS 255 (with a grade of C or higher). (Spring, Even-numbered years)

Course Fees: $90

CS 325. Programming for the Web. (3 Credits)

Introduction to programming for the World Wide Web, using current technology. Prerequisite: CS 255 (with a grade of C or higher). (Fall, Odd-numbered years)

Course Fees: $90

CS 335. New Developments in Programming. (3 Credits)

An introduction to a topic of current interest in the field of Computer Science. Prerequisite: CS 255 (with a grade of C or higher). (Spring, Odd-numbered years)

Course Fees: $90

CS 355. Data Structures and Algorithms. (3 Credits)

Introduction to the analysis of algorithms with regard to time and space. Methods of sorting and searching. Basic design techniques like divide and conquer, dynamic programming and backtracking. Algorithms for manipulating trees and graphs with platform independent implementation. Prerequisite: CS 255 (with a grade of C or higher). (Fall, Spring)

Course Fees: $90

CS 359. Special Course. (1-6 Credits)

Course number reserved for special courses offered from time to time in response to special circumstances. The courses are discipline specific with variable credit and when offered, they are identified by department content and credit.

Course Fees: $90

CS 410W. Programming Languages. (3 Credits)

Formal study of programming language concepts: syntax; characteristics of grammars such as context-free and ambiguous; Backus-Naur Form; organization of programming languages such as block structure, list processing, etc. Prerequisite: CS 355 (with a grade of C or higher). (Spring)

Course Fees: $90

CS 420. Operating Systems. (3 Credits)

History, overview, and principles of operating systems with emphasis on process, memory and device management, concurrency, system performance, file systems, and security. Contemporary operating systems will be investigated. Multi-processors, real-time and embedded systems, and distributed processing will also be presented. Prerequisites: CS 310 and CS 355 (with a grade of C or higher in both). (Fall)

Course Fees: $90

CS 421. Automata Theory and Compiler Construction. (3 Credits)

Definition of formal grammars, mathematical machines and their relationships. Description of compiler writing techniques and their application on a simple language. Prerequisites: CS 245 and CS 355 (with a grade of C or higher in both). (Spring, Even-numbered years)

Course Fees: $90

CS 430. Design and Analysis of Algorithms. (3 Credits)

Advanced asymptotic analysis of algorithms utilizing mathematical modeling with an emphasis on efficient methods for searching, sorting, trees, and graphs. Classic algorithm design techniques such as greedy, divide and conquer, dynamic programming, backtracking, and randomized algorithms will be investigated and analyzed. Study of the classification of the computational difficulty of problems: i.e. NP, intractable, and unsolvable. Prerequisites: CS 245 and CS 355 (with a grade of C or higher in both). (Fall odd-numbered years)

Course Fees: $90

CS 440. Computer Networking. (3 Credits)

Introduction to computer networking including basic networking concepts and components, architecture, protocols, server types, network operating systems and network security. Prerequisites: CS 245 and CS 355 (with a grade of C or higher in both). (Spring, Odd-numbered years)

Course Fees: $90

CS 447. Theory and Applications of Database Systems. (3 Credits)

Introduction to database systems, including the history of the development and basic concepts of the major types of database systems, inquiry systems and experience with a database model. Prerequisites: CS 255 (with a grade of C or higher). (Fall, Even-numbered years)

Course Fees: $90

CS 455. Software Engineering. (3 Credits)

A study of all the phases in a software systems life cycle including analysis, specification, design, implementation, testing, and maintenance. An emphasis on tools and techniques integrated within the treatment of the software life cycle, requirements specifications, and verification and validation issues. Prerequisites: CS 355 (with a grade of C or higher) and Senior standing. (Fall)

Course Fees: $90

CS 456. Computer Science Capstone. (3 Credits)

A culminating capstone project course that integrates the skills and abilities throughout the curriculum into a comprehensive design and development experience for computer science majors. Each student will participate in a sizable, complex, software development project based on a team approach using a defined process. Each team will be required to present oral and written documentation of their work. Prerequisites: CS 455 (with a grade of C or higher) and Senior standing. (Spring)

Course Fees: $90

CS 470. Artificial Intelligence. (3 Credits)

A survey of topics including knowledge representation and reasoning, expert systems, informed and uniformed search algorithms, search and constraint satisfaction, and the use of artificial intelligence languages. Prerequisite: CS 355 (with a grade of C or higher). (Fall, Even-numbered years)

Course Fees: $90

CS 476. Software Architecture. (3 Credits)

An introduction to modern architectural alternatives, their characteristics, and the trade-offs involved in their implementation. Students will be introduced to a wide range of languages, tools, techniques, and concepts. Software engineering methodologies, tools, and techniques will be discussed and employed throughout the semester. Prerequisites: CIS 315 or CS 255, CIS 376 or CS 325, CIS 344 or CS 360 or CS 440 (with a grade of C or higher in all). (Fall, Spring)

Course Fees: $90

CS 480. CS Internship. (3 Credits)

A minimum 150-hour work related experience in the University or other public or private organization where the student will have hands-on experience in the day-to-day operation, development, or management of computer systems. The internship must occur in a work environment related to the computer science discipline. Application process is coordinated through Career Center. Must be a junior or senior and have a 3.0 overall grade point average. International students must receive approval from the Office of International Affairs prior to course registration. Prerequisites: CS 255 (with a grade of C or higher) and departmental approval.(Fall, Spring, Summer).

Course Fees: $90

CS 490. Senior Seminar. (3 Credits)

Computer science topics selected according to the needs of the students. Prerequisite: departmental approval. (Offered on sufficient demand)

Course Fees: $90