Choose a Catalog:  

2012-13 Undergraduate Catalog

PDF of Computer Science Courses

Computer Science Courses

All Computer Science Courses

CS 1107 Introduction to Computers (3 credits)

An examination of the development of computing devices, modern computing practices, components of a computing system, common application software, and uses of computers in society. No previous experience with computers is assumed. Note: This course is not intended for Computer Science majors or minors. Liberal Education Goal Area 9.
Common Course Outline

CS 1309 Problem Solving and Computer Science (4 credits)

Introduction to general problem-solving techniques applicable to solving problems in computing. Techniques include using systematic lists, using diagrams, and looking for patterns. Includes fundamental computer science concepts in information representation, computer organization, process application, and social and ethical issues in computing. The one-hour lab introduces the use of software to solve a variety of problems. The prospective student should have a general understanding of computers and their operation. Prerequisite: MATH 1100 and MATH 1170 or higher.
Common Course Outline

CS 2207 Computer Programming: BASIC (3 credits)

Fundamental concepts of computer programming using a modern version of the BASIC language. Prerequisites: MATH 1170 and CS 1107 or equivalent. Might not be offered every year.
Common Course Outline

CS 2260 Linux Systems Programming (3 credits)

Introduction to systems programming tools, including shell, awk, and perl programming. These tools are helpful in developing software in a Linux environment, doing system administration, and developing websites. No prior Linux experience assumed. Prerequisite: Programming experience at the level of CS 2207 or higher. (Might not be offered every year)
Common Course Outline

CS 2270 Introduction to Web Programming (3 credits)

This course expands on basic knowledge of markup languages and web programming languages. Students learn how to use current web markup languages, aspects of various transfer protocols, and client-side scripting languages. All of these topics support the development of both web pages and web sites. Prerequisite: CS 1309.
Common Course Outline

CS 2321 Computer Science I (4 credits)

Introduction to the basic principles of software development using a modern high-level language, including using selection, looping, function calls, and recursion, along with simple data structures such as arrays and objects, to solve problems. Includes an introduction to software engineering techniques such as interactive debugging, software testing, and methods of software validation. Includes a two-hour lab. Prerequisite: CS 1309 and MATH 1170 or MATH 1470 or higher.
Common Course Outline

CS 2322 Computer Science II (4 credits)

Topics include pointers, dynamic allocation, recursion, and structured data types such as objects, strings, lists, stacks, queues, templates, containers, binary trees, and hash tables. Also includes a group-oriented software design and implementation project. Includes a two-hour lab. Prerequisite: CS 2321.
Common Course Outline

CS 2810 Computer Organization and Assembly Language Programming (3 credits)

An introduction to the register level architecture of a modern computer and programming with an assembly language for that processor. Includes a two-hour lab. Prerequisite or Corequisite: CS 2322.
Common Course Outline

CS 3270 Advanced Web Programming (3 credits)

This course builds on topics from CS 2270. Students learn server-side scripting, database connectivity, and dynamic web-page updating. Web development frameworks are also studied. Prerequisite: CS 2270.
Common Course Outline

CS 3350 Event-Driven Programming in a Windows Environment (3 credits)

Uses a language suitable for creating event-driven programs while focusing on methodology suitable for developing event handlers in windows-oriented programs. Prerequisite: CS 2322 or equivalent.
Common Course Outline

CS 3360 Object-Oriented Software Development (3 credits)

Techniques used in object-oriented software development. Key components of these techniques include design patterns, abstraction, encapsulation, modularity, message passing, polymorphism, inheritance, and incremental software development. Students translate a design into software using an object-oriented programming language. Additional topics may include applets, markup languages, multi-threaded programming, and rudimentary network programming. Prerequisite: CS 2322 or equivalent. May not be offered every year.
Common Course Outline

CS 3507 File Processing and Database Systems (3 credits)

An examination and analysis of algorithms and file structures used by computer systems including sequential, direct (random) access, and keyed (indexed) files. Covers the creation, deletion, modification, and maintenance of files and their use in database systems. Prerequisite: CS 2322. May not be offered every year.
Common Course Outline

CS 3528 Data Structures and Algorithms (3 credits)

Study of advanced abstract information storage structures, including priority queues, binary trees, generalized trees, and graphs. Study of algorithm development techniques, including divide and conquer, greedy algorithms, and dynamic programming. Prerequisites: CS 2322 and MATH 2210 or consent of the instructor.
Common Course Outline

CS 3560 Data Communications and Networks (3 credits)

Principles of data communications as applied to modern computer networks. Prerequisite: CS 2810. May not be offered every year.
Common Course Outline

CS 3610 Introduction to Operations Research (3 credits)

A computer-oriented survey of linear programming, integer programming, dynamic programming, network analysis, queuing systems, inventory control, game theory, and discrete system simulation. Prerequisites: MATH 2472, and CS 2321. May not be offered every year.
Common Course Outline

CS 3627 Theory of Computation (3 credits)

Explores the theoretic roots and limits of computing. Prerequisites: CS 2322 and MATH 2210.
Common Course Outline

CS 3718 Computer Graphics (3 credits)

Fundamental concepts of computer graphics with emphasis on understanding underlying principles. Topics include line and curve drawing, windowing, clipping, shading, geometric transformations and 3-dimensional viewing. Prerequisites: CS 2322 and MATH 2471. May not be offered every year.
Common Course Outline

CS 3931 Experimental Course (3 credits)

A course proposed for inclusion in the University curriculum. May not be offered more than two times as an experimental course.
Common Course Outline

CS 4280 Programming Language Structures (3 credits)

Uses historical perspectives and several modern high level languages to examine principles and paradigms supported by programming languages. Prerequisites: CS 3528.
Common Course Outline

CS 4298 Compiler Construction (3 credits)

The theory, design, and construction of a compiler. Prerequisite: CS 3528. May not be offered every year.
Common Course Outline

CS 4361 Software Engineering I (3 credits)

Software Engineering (SE) I and II provide students a capstone experience that integrates the theory and practice of SE. SE I investigates a variety of SE models and guidelines used in industry. In the first part of a year-long project, students complete the requirements and specifications phases and reviews of SE and begin the formal design phase. Includes a two-hour lab. Prerequisites: CS 2810 and CS 3528.
Common Course Outline

CS 4362 Software Engineering II (3 credits)

A continuation of the capstone experience begun in SE I. SE II continues the year-long project, including design and implementation, with structured walk-throughs of all phases, and module, integration, and system testing. Includes a two-hour lab. Prerequisite: CS 4361.
Common Course Outline

CS 4390 Social, Ethical, and Professional Issues in Computing (2 credits)

Features topics related to standards for computing professionals. Prerequisites: At least one CS course numbered 3000 or higher. Might not be offered every year.
Common Course Outline

CS 4840 Operating Systems (3 credits)

Fundamentals of operating system design with emphasis on at least one modern operating system. Topics include scheduling, memory management, paging, file management, and mutual exclusion. Required work will include programming investigations. Prerequisites: CS 2810 and CS 3528.
Common Course Outline

CS 4910 Directed Independent Study (3 credits)

Arranged individual study.
Common Course Outline

CS 4970 Internship (3 credits)

Graded Satisfactory/Unsatisfactory only. Student internships may be either full-time or part-time in a public or private agency appropriate to the degree objective. Internships consist of closely supervised periods of service that are arranged in advance of the course registration. Students should consult their advisor concerning prerequisites.
Common Course Outline