Computer Science Course Descriptions

CS 132 Computer Applications3 semester hours

Introduction to computers and a brief survey of modern computer hardware and software. The primary focus of the course is on practical applications of computers, including word processing, spreadsheets, and presentation software. Not for CS or CIS majors except as a general elective.

CS 133 Introduction to Web Design 3 semester hours

Introduction to the design and development of Web-based systems, including Internet and Web technology; Web development using design procedures, HTML, XHTML, and XML; and hands-on experience in website design and authoring. The course enables students to understand Internet and Web technology, to understand the concepts of Web authoring and Website design, and to develop skills in using Web authoring tools.

CS 135 Introduction to Scientific Computing 3 semester hours

This course takes an interdisciplinary approach to classroom assignments, emphasizing multidisciplinary team projects to introduce a variety of computational tools. Students will participate in projects requiring a scientific approach to problem solving, analytical thinking, data collection and analysis, result write-up, and public presentation. The course is designed for freshman science majors.

CS 230 Computer Programming I 4 semester hours

Prerequisite: CS 135. This course introduces fundamental programming concepts and techniques. It is designed for students who plan to use computer programming in their studies and careers. Elements of object-oriented design and programming are introduced. Topics covered include control structures, arrays, functions, and structured program design. This course requires students to co-register for a programming lab, CSL 230, that gives extra hands-on practice with guided supervision. Students will develop working programs with checkpoints for each development phase.

CS 231 Computer Programming II 4 semester hours

Prerequisite: CS 230. This course is a continuation of CS 230. Topics covered include: recursion, file-based I/O, classes, packages, method overloading, inheritance, polymorphism, abstract classes, interfaces and exceptions. This course requires students to co-register for a programming lab, CSL 231. The lab provide students with hands-on practice developing programs implementing the programming constructs.

CS 330 Databases 3 semester hours

Prerequisite: CS 230 or CIS 331. This course examines the underlying concepts and theory of database management systems. Topics include database system architectures, data models, structured query languages, conceptual and logical database design, and physical organization. The entity-relationship model and relational model are investigated in detail; object-oriented databases are introduced. Integrity constraints, dependencies, and normalization are studied as a basis for formal design. An introduction to transaction management, concurrency control, distributed and Web databases and database recovery are presented.

CS 332 Computer Organization and Assembly Language 3 semester hours

Prerequisite: CS 231. Introduction to computer architecture, organization, and assembly language. Includes: addressing techniques, input/output processing, interrupt handling, and the implementation of data structures including characters and strings, number systems and formats.

CS 333 Data Structures and Algorithms3 semester hours

Prerequisite: CS 231. This course covers the design and implementation of data structures including generics and collections, lists, stacks, queues, trees, and graphs. Other topics include efficiency of algorithms, sorting, searching, and hashing. Course work involves both written homework and programming assignments.

CS 334 Object Oriented Design 3 semester hours

Prerequisite: CS 231. Topics include classes, operator overloading, inheritance, virtual functions and polymorphism, templates, file processing, and the use of UML. The course emphasizes a modern approach to software development. Students will be assigned to programming teams for assignments. The course has a term project requiring team programming.

CS 335 Discrete Structures 3 semester hours

Prerequisites: CS 231 and MA 132. An introduction to the theory of computation: review of combinatorics, introduction to analysis of algorithms, graphs, computability, finite-state machines, and a brief introduction to complexity theory.

CS 336 Software Engineering 3 semester hours

Prerequisite: CS 231. A study of the techniques and approaches used to build large, reliable software systems. Methods, languages and tools used in modern software development are examined. Topics include software life-cycle models, software analysis, design, design verification, validation and reliability. Software engineering ethics and professionalism are explored. Programming topics include modularity, data abstraction, object-oriented programming. Laboratory assignments use a high level programming language.

CS 340 Computer Networks and Communications4 semester hours

Prerequisites: CS 135 or CS 230. Introduces the concepts of computer networks and data communications. Topics include data transmission, transmission media, transmission signal encoding, link control and multiplexing, circuit switching, packet switching, local area networks, ATM, Open Systems Interconnection Architecture (OSI), TCP/IP, X.25, System Network Architecture (SNA) and network security. Includes a laboratory.

CS 411-412 Computer Science Seminar 1-6 semester hours

Prerequisite: senior standing and instructor approval. Selected topics in computer science or computer information systems.

CS 432 Numerical Analysis 3 semester hours

Prerequisite: CS 231, MA 334 Differential Equations and MA 335 Linear Algebra. Numerical algorithms and error analysis for the approximation of integration, differentiation, solutions of systems of equations, and solutions of differential equations.

CS 433 Operating Systems 3 semester hours

Prerequisites: CS or CIS junior or senior standing. Basic principles of multiprogramming and time-sharing systems including interrupts, data channels, memory management, virtual memory, segmentation and paging, interprocess communication, deadlock handling, and distributed systems.

CS 436 Computability 3 semester hours

Prerequisites: CS 335 and senior standing. This course is an introduction to the theory of computation in computer science. Topics include formal languages and grammars and their application to programming language design, and models of computation including finite automata, pushdown automata and Turing machines.

CS 437 Digital Circuits 4 semester hours

Prerequisite: CS 332 and PH 252. Digital logic circuits with feedback, fundamental mode circuits, Boolean algebra, Karnaugh maps, combinatorial networks, flip-flops, encoders, decoders, multiplexers, half-adders, adders, counters, state and flow tables, and memory design. Includes a laboratory, CSL 437.

CS 438 Computer Architecture 3 semester hours

Prerequisite: CS 437. Basic concepts of computer architecture and organization, including computer evolution, CPU architectures, instruction sets, ALU design, memory hierarchies, input and output architectures, interrupts and DMA, and parallel processing.

CS 390/490 Cooperative Education/Field Experience1-6 semester hours

Work, research, or internship experience at the junior (CS 390) or senior (CS 490) levels. Students must have a minimum cumulative grade point average of 2.5. The department head in the student's discipline will determine semester hour credits after the details of placement have been made.

CS 499 Senior Seminar 3 semester hours

Prerequisite: CS or CIS senior standing, EN 131, EN 132 and EN 250. Each student will design and conduct a research project and write a senior project research paper on a topic of interest chosen by the student with faculty assistance and supervision. Students must also pass the CS/CIS Senior Comprehensive Exam.

Sidebar