CS - Computer Science (CS)

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. Upon completion, all students will develop an original, dynamic, multi-paged web portfolio suitable for publishing on the WWW. (Fall, Spring, Summer)

CS 155. Computer Science I. (3 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 better. (Fall, Spring, Summer)

CS 199. Service Learning. (3 Credits)

This course is designed to introduce students to Service Learning through the integration of academic learning about local, national, and global issues with service work addressing those concerns. Approval of supervising department required. (Offered upon sufficient demand.)

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. Prerequisites: MA 112; Prerequisite or Correquisite: CS 155.

CS 249. Introduction to Information Security. (3 Credits)

An introduction to both the technical and management aspects of information security. The course will provide a foundation for understanding the principles of protecting information assets, determining the levels of protection required, response, forensics, and recovery from security incidents, and developing a useful information security system with appropriate defenses, intrusion detection, auditing, and reporting. Prerequisites: CS 135 and MA 112 or any Area II math included in the General Education Component listed under Requirements for the Bachelor of Business Administration Degree. This course is corss listed with CIS 249.

CS 255. Computer Science II. (3 Credits)

Computer Science II. 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: C or better in CS 155. (Fall, Spring)

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

Computer Organization and Assembly Language Programming. 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.

CS 311. computer Architecture. (3 Credits)

Computer Architecture. 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. (Spring)

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

Graphical User Interface Programming. 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.

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

Programming for the Web. Introduction to programming for the World Wide Web, using current technology. Prerequisite: CS 255.

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.

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: C or better in CS 255. (Fall)

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.

CS 360. 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 255. (Fall)

CS 369. 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.

CS 389. On-Campus Internship. (3 Credits)

CS 390. Software Development in Ada. (3 Credits)

A study of software development techniques with the use of the programming language Ada. Emphasis on abstraction, generic subprograms and packages. Prerequisite: CS 255. (Offered on sufficient demand)

CS 399. Departmental Service Learning. (1-6 Credits)

This course is designed to provide students the opportunity to integrate academic learning about vital service issues within a specific discipline with service work addressing those issues. This course may be repeated for a maximum of six credits. Approval of supervising department required. (Offered upon sufficient demand.)

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. (Spring)

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, Prerequisite/Corequisite CS 355. (Fall)

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. Prerequisite: CS 355. (Spring)

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

Advanced asymptotic analysis of algorithms utilizing 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. Pre-requisites: C or better in both CS 245 and CS 355. (Fall odd numbered years)

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. Prerequiste:: CS 255. (Fall)

CS 455. Software Engineering. (3 Credits)

A study of all the phases in a software system¿s life cycle including analysis, specification, design, implementation, testing, and maintenance. A continued emphasis on problem solving concepts integrated within the treatment of the software life cycle, requirements specifications, and verification and validation issues. Prerequisite: CS 355 and Senior standing. (Spring)

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. (Spring)

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 Planning and Development. Must be a junior or senior and have a 3.0 overall grade point average. Prerequisites: CS 255 (with a grade of C or higher) and departmental approval.

CS 490. Senior Seminar. (3 Credits)

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