Computer
Courses

SOU CATALOG HOME : SCHOOLS AND DEPARTMENTS : COMPUTER SCIENCE : COURSES

See Course Prerequisites Policy.

Computer Information Science

Lower Division Courses

CIS 199 Special Studies

Credit to be arranged

CIS 200 Programming I

4 credits

Introduction to computer and information sciences and the support infrastructure for CS and CIS majors and those who want a technical survey of computer systems. Topics include fundamental control and data structures in computer science, graphical user interfaces, and databases. Prerequisites: skill with two or three application packages and the ability to learn new software from the manual. This can be obtained from CS 115, BA 131, or self-study and competency exams.

CIS 209 Practicum

Credit to be arranged

CIS 256 COBOL

4 credits

Programming techniques applied to business problems using COBOL. Covers the syntax of the language, break processing, and introduces the concept of indexed files. Prerequisite: CS 257.

Upper Division Courses

CIS 326 System Software and Architecture

4 credits

A functional, systems-level review of computing equipment and the organization of components and devices into computer architectural configurations. Students learn how computer systems are configured, the principles of system software, and how hardware and software can be combined within architectural designs. Prerequisite: CS 257.

CIS 336 Networks I

4 credits

Survey of local area network systems focused on data communications. Serial transmission, LAN setup and administration, communication models (TCP, OSI, etc.), and protocols are explored. Hands-on experience in LAN setup, maintenance, and administration is emphasized. Prerequisite: CS 257.

CIS 345 End User Computing

4 credits

Introduction to the information center concept and its methods for system configuration in contrast to the traditional life cycle development methodologies. Includes information center techniques for providing consultation and assistance in the assembly and testing of systems components. Prerequisite: CS 257.

CIS 360 Databases and Data Files

4 credits

Stresses basic knowledge of data structures, normalization of data, data modeling, and database methods. Students learn the basics of construction of database schema. Prerequisite: CS 257.

CIS 399 Special Studies

Credit to be arranged

CIS 401/501 Research

Credit to be arranged

CIS 403/503 Thesis

Credit to be arranged

CIS 405/505 Reading and Conference

Credit to be arranged

CIS 407/507 Seminar

Credit to be arranged

CIS 409/509 Practicum

Credit to be arranged

CIS 414/514 AI and Business

4 credits

Introduction to artificial intelligence with emphasis on business applications such as expert systems. Includes a mix of theory, design, and programming. Prerequisites: Mth 243 and either CS 258 or CIS 360.

CIS 420/520 Computer Imaging

4 credits

Introduces basic image processing techniques, file formats, display methods, and the importance of imaging in the business and scientific community. Specific topics include point, area, and geometric processing techniques, convolution techniques, and image enhancement. Prerequisite: CS 257 or equivalent programming experience.

CIS 432/532 Client Server

4 credits

Examines issues and examples of client-server application development. Programming labs focus on database access methods, transaction processing, and lab-server issues. Prerequisites: CIS 336 and CIS 360.

CIS 436/536 Networks II

4 credits

Continuation of Networks I. An in-depth study of network administration. Possible topics include Internet access, distributed programming methods, routing, congestion control, security, RPC, name resolution, message based distributed applications, and Internet architectures. Prerequisite: CIS 336.

CIS 460/560 Advanced Database

4 credits

Concentrates on the development of a project using GUIs and traditional programming. This project includes multiuser and networking features, a setup process, a transaction file, and a backup procedure. Cross platforms applications, team programming, event-driven programming, and performance tools are introduced. Prerequisite: CIS 360.

CIS 470/570 Capstone Project I

4 credits

The project sequence provides a problem to analyze and solve through design of a solution, creation of a software solution, implementation of the solution, and documentation of the entire process. Project I is project selection and completion of the design phase. Prerequisite: CS 469.

CIS 471/571 Capstone Project II

4 credits

Capstone II goal is to finish the work started in Capstone I by creating and implementing the software solution and completing documentation. The documentation should address operating procedures required to run software produced by the student and should also address project maintenance. Prerequisite: CIS 470/570.

 

Computer Science Courses

Lower Division Courses

CS 101 Computers in Society

3 credits

Nontechnical introduction to the nature of computers and their importance in society. Explores the structure, capabilities, and limitations of computers.

CS 109 Practicum

Credit to be arranged:1­3 credits

Maximum credit in any one activity: 3 credits;

maximum total credit: 9 credits.

CS 115 Microcomputer Applications I

4 credits

Survey of computer applications including operating systems, word processors, spreadsheets, and databases. This is an introductory hands-on course.

CS 116 Microcomputer Applications II

4 credits

Thorough introduction to word processing and desktop publishing for students in most disciplines. The capabilities and limitations of word processors are covered. Adjunct software such as spelling checkers and thesauruses are covered. Prerequisite: CS 115.

CS 117 Microcomputer Applications III

4 credits

Students apply popular spreadsheet and database programs to problems involving data analysis, bookkeeping, or accounting. Includes use of graphics for visual display of information, macros for tailor-made systems, and import/export facilities that allow integration with other packages. Prerequisite: CS 115.

CS 199 Special Studies

Credit to be arranged

CS 209 Practicum

Credit to be arranged

CS 226 An Introduction to UNIX

4 credits

An introduction to UNIX for non majors. Possible topics include characteristics of multiuser systems, ways to get help, remote access, the UNIX file system, UNIX commands, editing, mail, and an introduction to command files and programming in UNIX if time permits. Note: credit is not given to students who have already taken CS 426. Prerequisite: programming experience recommended.

CS 251 FORTRAN

4 credits

Introduction to computers and computer programming in the FORTRAN language with emphasis on scientific applications. Prerequisite: Mth 112.

CS 253 Pascal

4 credits

Introduction to structured programming and design using the Pascal language. Use of structured programming techniques are emphasized. Variable scoping, parameter passing, and the variety of available data structures are covered. Introduces recursive procedures. Students are expected to do several programming projects. Prerequisite: Mth 112.

CS 257 Programming II

4 credits

Introduction to Object Oriented Programming. Reinforces fundamental control and date structures of computer science and introduces data abstraction, classes, objects, polymorphism, and inheritance. Prerequisite: programming experience equivalent to, or current registration in, CIS 200.

CS 258 Programming III

4 credits

Input, output, templates, exception handling, and object oriented introduction to linked lists, stacks, queues, and trees. Prerequisite: CS 257.

CS 275 Machine Structures and Assembly Language

4 credits

Assembly language concepts are used to illustrate machine architecture and the translation of features in higher level programming languages. Hardware features and capabilities are discussed. Direct video access and simple interrupt processing are introduced. Prerequisite: CS 257 which may be taken concurrently.

Upper Division Courses

CS 312 Simulation

4 credits

Theoretical and practical foundations for the science of computer simulation. Simulations of discrete and continuous systems are studied. Projects using standard higher programming languages are assigned as well as projects using currently available simulation languages. Prerequisites: Mth 243 and one course selected from CS 251, 253, or 257.

CS 316 Computer Graphics I

4 credits

Introduction to computer graphics. Develops a graphics kernel system used to do several graphics projects. Presents the use of matrices to effect transformations of graphics displays, perspective, clipping, scaling, and hidden line techniques. Prerequisites: Mth 261 and CS 253 or 257.

CS 321 Computer Architecture

4 credits

Investigation of various philosophies for defining hardware and software interfaces within the computer system. Includes an introduction to general topics in computer architecture and organization, followed by a survey of representative case studies. Includes advanced topics such as interrupts, synchronization, fault-tolerant computing, and performance analysis. Prerequisites: knowledge of a programming language and CS 275.

CS 352 Programming Languages

4 credits

Formal definition of programming languages including specification of syntax and semantics. Simple statements, including precedence, infix, prefix, and postfix notation. Global properties of algorithmic languages, including scope of declarations, storage allocations, grouping of statements, binding time of constituents, subroutines, co-routines, and tasks. Prerequisite: CS 258.

CS 367 C and UNIX

4 credits

Concepts of the UNIX operating system and the 'C' programming language. Students will learn to use a UNIX operating system and program in 'C' on the UNIX operating system. Prerequisite: CS 258 or equivalent.

CS 399 Special Studies

Credit to be arranged

CS 401/501 Research

Credit to be arranged

CS 403/503 Thesis

Credit to be arranged

CS 405/505 Reading and Conference

Credit to be arranged

CS 407/507 Seminar

Credit to be arranged

CS 409/509 Practicum

Credit to be arranged

CS 411/511 Data Structures

4 credits

Data structures are developed emphasizing algorithms, characteristics, and applications. Examination of alternative algorithms for manipulating data structures and their complexity is included. Applications include data management systems, file organization, information retrieval, list processing. Prerequisites: CS 257, 275, and Mth 235.

CS 416/516 Computer Graphics II

4 credits

Continues the study of computer graphics started in CS 316. More techniques to create displays with hidden line removal as well as shading, shadows, and stereo graphics. Ray tracing is developed. Prerequisite: CS 316.

CS 418/518 Theory of Computation

4 credits

Formal language and automata theory from finite state automata to Turing machines. Presents the Chomsky hierarchy of languages and the relationship between languages and automata. Prerequisite: CS 411.

CS 426/526 Systems Administration in UNIX

4 credits

Systems administration, programming, and networking in UNIX. Possible topics include installation, shell programming, administration, network installation, and the X window system. Prerequisite: CS 367.

CS 450/550 Compilers

4 credits

Introduction to compiler construction. Students build a compiler for a mini-language. Topics include grammars, lexical analysis, parsers, parser generators, code generation and code optimization. Prerequisites: Mth 235 and CS 367.

CS 455/555 Topics in Computer Science

3 to 5 credits, each topic

Selected topics in computer science. Topics are offered based on interest and need. Repeated credit allowed for varying topics. Prerequisite and credit are determined by topic.

CS 459/559 Operating Systems

4 credits

Operating systems and components, operating characteristics, user services, and limitations. Implementation techniques for processing of input-output and interrupt handling. Overall structure of multiprogramming systems or multiprocessor configurations. Details of addressing techniques, core management, file system design and management, system accounting, and other user-related services. Prerequisite: CS 367.

CS 469/569 Systems Analysis

4 credits

Presents classical systems analysis and the most recent advances in the field. Covers classical techniques such as structured analysis, system life cycle, data flow diagrams, data dictionaries, entity-relationship diagrams, and database models. Prerequisite: completion of at least 16 credits of upper division CS or CIS including either
CS 411 or CIS 360.

CS 470/570 Capstone Project I

4 credits

The project sequence provides a problem to analyze and solve through design of a solution, creation of a software solution, implementation of the solution, and documentation of the entire process. Project I is project selection and completion of the design phase. Prerequisite: CS 469.

CS 471/571 Capstone Project II

4 credits

Capstone II goal is to finish the work started in Capstone I by creating and implementing the software solution and completing documentation. The documentation should address operating procedures required to run software produced by the student and should also address project maintenance. Prerequisite: successful completion of CS 470/570.