Computer Science Courses (CS)
Following certain course descriptions are the designations: F, Sp, Su. These indicate the semesters fall, spring, summer in which the course is normally offered and are intended as an aid to students planning their programs of study.
CS 111: (This course was changed to CIS 111.)
CS 201: Object-Oriented Programming (3) Introduces the fundamental concepts of programming from an object-oriented perspective. Through the study of object design, this course introduces data abstraction, inheritance, overriding, programming flow of control, operator precedence, and simple data structures such as lists and arrays. This course also introduces the basics of human-computer interfaces, graphics, and the social implications of computing, along with significant coverage of software engineering. F, Sp
CS 215: Discrete Structures for Computer Science (3) Introduces the fundamental concepts of programming from an object-oriented perspective. Through the study of object design, this course introduces data abstraction, inheritance, overriding, programming flow of control, operating precedence, and simple data structures such as lists and arrays. This course also introduces the basics of human-computer interfaces, graphics, and the social implications of computing, along with significant coverage of software engineering. F, Sp
CS 257: Introduction to RPG Programming (3) (Course deleted)
CS 259: Introduction to Programming: C# Programming (3) Introduction to programming in C# with a focus on object oriented programming techniques. In addition, the language syntax, data types, methods, functions, and procedures necessary to write C# programs will be covered. The language will be introduced using console examples and will migrate to windows examples during the course of the semester. Laboratory exercise will be assigned that represent common business problems for which the language is best suited. Prereq: CIS 111. F, Sp
CS 276: COBOL Programming I (3) (Course deleted)
CS 288: Microcomputer-Based Programming (Visual Basic) (3) An introduction to programming in the microcomputer environment. Online interactive techniques will be emphasized in the solution of common business problems. Visual Basic will be used to illustrate structured programming techniques. Lab assignments will be used to master syntax error correction as well as problem-solving skills. Prereq: CS 111 or equivalent. F
CS 301: Object-Oriented Design and Methodology (3) Continues the introduction of object-oriented programming begun in CS 201, with an emphasis on algorithms, data structures, string processing, internal searching and sorting, software engineering, and the social context of computing. Prereq: CS 201.. Sp
CS 311: Algorithm Design and Analysis (3) Introduces formal techniques to support the design and analysis of algorithms, focusing on both the underlying mathematical theory and practical considerations of efficiency. Prereq: CS 201, CS 215, CS 301. F, Sp
CS 321: Architecture of Digital Computers (3) An introduction to the internal structure of digital computers. The design of gates, flip-flops, registers, and memories to perform operations on numerical and other data represented in binary form. Sp
CS 357: Advanced RPG Programming (3) (Course deleted)
CS 359: Introduction to Programming: Advanced C# Programming (3) Advanced study of the C# programming language, emphasizing object-oriented techniques applied to complex business information needs. In addition, the course will deal extensively with database connectivity and utilization. The course will start with Windows examples and will migrate to Web examples during the course of the semester. Laboratory exercises will be assigned that represent common business problems for which the language is best suited. Prereq: CS 259. F
CS 365: Operating Systems (3) The course includes the fundamental principles of operating systems, resource allocation and use by applications, device organization, interrupts, concurrency, user/system state, and protection. It develops each of these areas in greater depth: scheduling and dispatch, preemptive and non-preemptive scheduling, processes and treads, file systems, buffering, encryption, virtual memory, paging, swapping, security, protection, and related topics. Both Microsoft and Unix systems will be covered. Prereq: CS 201, CS 215, CS 301, and CIS 311. F
CS 376: COBOL Programming II (3) (Course deleted)
CS 377: Introduction to Data Base Concepts (3) Introduction to database theory. Discussion of data structures, indexed and direct file organizations, models of data including hierarchical, network, and relational. Discussion of data analysis, design, implementation, and database administrator functions. Application of database, data definition languages, data manipulation languages, and/or data manipulation through a host language. Cross-listed as CIS 377. Prereq: a program language, e.g. Visual Basic, Object-Oriented Programming, C#, etc. F
CS 379: Programming Languages (3) Introduction to formal study of syntax semantics and the logic of programming languages. Features of prominent languages will be examined. Prereq: CS 201 CS 215, CS 301 and CS 311. F
CS 388: Advanced Microcomputer-Based Programming (Visual Basic) (3) Advanced programming techniques in the microcomputer environment. Windows, networking, and remote communications techniques will be explored. Visual Basic will be used to illustrate the necessary programming techniques to solve these problems. Lab assignments will be used to master language and problem-solving skills. Prereq: CS 288. Sp
CS 411: Network Management and Security (3) This course provides an overview of network management and security. It covers topics in communication technologies, communication design, communication protocols, and communication system planning and development. It includes distributed computing, encryption technology, and collaboration technology. It will introduce security sites representing the state of the art in security. It will cover major security concerns of IP security, network security, security in distributed object systems, security in distributed systems, Web security, e-mail security, viruses, trojans and worms, firewalls, and denials of service. Hands-on assignments with system and firewall configuration. Prereq: CS 201, CS 301, and CS 365. F
CS 421: Study of Legacy Systems (3) This course is an overview of legacy systems that will include the study of operating systems, user interfaces, basic operator commands, flat file architecture, editors, interactive and batch programming concepts, and programming languages. Laboratory exercises will be assigned what emulate common problems encountered in businesses utilizing legacy systems. Prereq. CS 388 or CS 359 or CS 301.
CS 437: Numerical Analysis (3) A survey of current methods in numerical analysis. Topics will include: polynomial approximation and interpolation, numerical differentiation and integration, numerical solution of differential equations, functional approximation, solution of linear and nonlinear equations, and matrix methods for inverse and eigenvalue problems. Cross-listed as MATH 437. Prereq: CS 141, CS 331, MATH 330, and MATH 335. Every third semester.
CS 461: Artificial Intelligence (3) Introduces students to the fundamental concepts and techniques of artificial intelligence (AI). Prereq: CS 201, CS 215, CS 301. Sp
CS 478: Software Development (3) Provides an intensive, implementation-oriented introduction to the software-development techniques used to create medium-scale interactive applications. Prereq: CS 201, CS 215, CS 301. F
CS 483: Senior Software Development Project (3) This course applies computer programming and software engineering concepts, principles, and practices to a comprehensive system development project. A team approach is used to analyze the problem, and then specify, design, implement, test, validate, and deliver a software package that solves the problem. Teams will use software engineering techniques, project management techniques including milestones and formal presentations to create and test the package solution to the system problem. Prereq: CS 201, CS 301, CIS 315, CS 365, CIS 367, CIS 375, and CS/CIS 377, Senior Standing. F
CS 499: Projects in Computer Science (3) Advanced project in mathematics, business, or other area, done under supervision of instructor in area. Prereq: six hours upper-division computer science courses. Sp



