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: MA 100, MA 100E, MA 105 or Any area III math included in the General Education components, or a Math ACT score of 22/SAT of 570 or higher. (Fall, Spring)
Course Fees: $105
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: $105
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: $105
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: $105
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: $105
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: $105
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: $105
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: $105
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: $105
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: $105
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: $105
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: $105
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: $105
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: $105
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: $105
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: $105
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)
Course Fees: $105
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: $105
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: $105
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: $105
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) or CIS 315 (with a grade of C or higher). (Fall, Even-numbered years)
Course Fees: $105
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 440 (with a grade of C or higher in all). (Fall, Spring)
Course Fees: $105
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: $105
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: $105