Computer Science

CS 150 — Introduction to Computers and Applications 3

A broad survey intended for the student who desires an introduction to computer concepts, uses, and problem-solving techniques. Includes an introduction to word processing, spreadsheet, database, and BASIC. Assumes no previous knowledge of computers. Fall, Spring

CS 181 — Computer Science I 4

An introduction to problem-solving and algorithm development. Design and testing of computer programs with emphasis on top-down and modular design. Fall

CS 182 — Computer Science II 4

A continuation of CS 181 — Computer Science I. Includes such topics as object-orientated programming, multiple-dimension arrays, data structures, recursion and file I/O. Prerequisite: CS 181 — Computer Science I. Spring

CS 200 — Database Software Applications 3

An introduction to database software. Covers all the fundamentals of using a particular database program. Exposes students to the important operations common to most database programs. Provides practice in applying the database software to various business applications. This course is taught using a hands-on approach in the microcomputer laboratory. Fall, Spring

CS 210 — Assembly Language Programming 4

The representation of data and conversion, addressing, relocatability, the use of base registers, interpretation of program listing and dumps, indexing, looping, branching, subroutines, and macros. Prerequisite: CS 181 — Computer Science I. Spring

CS 221 — Computer Networks 3

An introduction to the theory, design, and management of computer networks. Prerequisite: CS 181 — Computer Science I. Spring

CS 230 — BASIC 4

Programming in the BASIC language. Includes files, graphics, and sound on various brands of computers. Designed for the computer science education teacher. Prerequisite: CS 181 — Computer Science I. Offered on demand. 122

CS 240 — Data Structures 4

An introduction to data abstraction. Introduces the analysis and comparison of algorithms. Considers some of the classic approaches to tasks such as sorting and searching. Explores several traditional abstract data types such as stacks, queues, binary trees, and heaps. Broadens the students' programming skills by concentrating on topics such as recursion and the use of pointers. Prerequisite: CS 182 — Computer Science II. Fall

CS 250 — FORTRAN 4

Problem-solving and algorithm development. Design and testing of computer programs using structured FORTRAN in scientific applications. Prerequisite: CS 181 — Computer Science I. Offered on demand.

CS 261 — COBOL I 4

Problem-solving and algorithm development. Design and testing of computer programs using structured COBOL in business applications. Prerequisite: CS 181 — Computer Science I. Offered on demand.

CS 262 — COBOL II 4

A continuation of CS 261 — COBOL I. Advanced file handling. Prerequisite: CS 261 — COBOL I. Offered on demand.

CS 271 — Visual Basic 3

Problem solving and algorithm development. Design and testing of computer programs using visual basic in a variety of applicaitons. Prerequisite: CS 181 — Computer Science I. Fall

CS 301 — Software Engineering I 3

A complete and detailed examination of all facets of the life cycle of a computer-based system ranging from problem definition, preliminary investigation, system design, and implementation. Documentation, hardware and software specifications, techniques of professional oral and written presentations of material. Prerequisite: CS 181 — Computer Science I. Fall, odd numbered years

CS 302 — Software Engineering II 3

A continuation of CS 301 — Software Engineering I. The development of a computer project using the techniques developed in CS 301 — Software Engineering I. Prerequisite: CS 301 — Software Engineering I. Spring, even numbered years

CS 330 — Graphics 3

An introduction to major topics in computer graphics-input/output devices, graphics software packages, transformations for rotation, scaling, clipping, and perspectiuW. Prerequisite: CS 370 — C++ and Math 105 — College Trigonometry. Offered on demand.

CS 345 — Computer Architecture: Design and Mathematical Foundations 3

An introduction to concepts in computer and hardware design and the underlying mathematical foundations of computing-discrete and finite mathematics. Prerequisite: CS 181 — Computer Science I and Math 103 — College Algebra. Spring

CS 370 — C++ 4

Problem-solving and algorithm development. Design and testing of computer programs using the object orientated language C++ in various scientific and business applications. Prerequisite: CS 182 — Computer Science II. Fall

CS 380 — Prolog 3

An introduction to non-procedural programming languages and to logic programming in general, and to the Prolog programming language in particular. A first look at techniques used in the field of artificial intelligence, particularly those related to expert systems. Prerequisite: CS 182 — Computer Science II. Offered on demand.

CS 430 — Operating Systems 4

Resource management, I/O programming, interrupt programming, machine structure, and memory management. Prerequisite: CS 240 — Data Structures and CS 370 — C++. Spring

CS 440 — Artificial Intelligence 3

An overview of the problems, history, and techniques of artificial intelligence. Investigates fundamental principles of knowledge representation and search heuristics. Considers areas such as planning, learning, natural language understanding, reasoning with uncertainty, robotics, vision, expert systems, neural nets, and so on. Prerequisite: CS 380 — Prolog. Offered on demand. 123

CS 460 — Compiler Design 3

Considers the theory and practice of compiler design. The overall design of compilers, lexical analysis, syntactic and semantic analysis, formal grammars, code generation. Exposure to both top-down and bottom-up parsing methods, as well as to automatic parser generators. Prerequisite: CS 210 — Assembly Language Programming and CS 370 — C++. Offered on demand.

CS 291, 491 — Seminar in Computer Science 1-3

Research and discussion of some aspect of computer science. Prerequisite: Consent of department chair. Offered on demand.

CS 492 — Research in Computer Science 1

Research and discussion of some aspect of computer science. Prerequisite: Consent of department chair. Spring

CS 294, 494 — Independent Study in Computer Science 1-3

Research in some area of computer science. May be taken for one, two, or three credits per semester and repeated until six credits are earned. Prerequisite: Consent of department chair. Offered on demand.

CS 297, 497 — Computer Science Internship 1-3

Actual work experience using a computer system. The number of credits earned is determined by the number of hours worked. May be taken for one, two, or three credits per semester and repeated until six credits are earned. Only three credits may be applied to a computer science major or minor. Prerequisite: Consent of department chair. Offered on demand.

CS 299, 499 — Special Topics in Computer Science 1-4

A study of topics of special interest. Prerequisite: Consent of department chair. Offered on demand.