Computer Science/CS - Undergraduate Course Descriptions
Note: See quarterly class schedule or departmental advisor
for further enrollment restrictions, requirements, or special course
information.
141-4 Computer Programming I
Introduction to use of computers as a problem-solving tool. Examples from and
applications to a broad range of problems. Methodology for algorithm design and
for structured modular implementation is stressed. Three hours lecture, two
hours lab. Prerequisite: MTH 127 or at least level four on math placement
test.
142-4 Computer Programming II
Concepts introduced in CS 141 are developed
in greater detail and depth. Emphasis on
verification and testing of programs. Three hours lecture, two hours
lab. Prerequisite: CS 141.
205-4 Introduction to Computers & Office Productivity Software
Focus on learning MS Office software applications including word processing
(intermediate), spreadsheets, database and presentation graphics using a case
study approach where critical thinking and problem solving skills are required.
Two hours lecture, four hours lab.
206-4 Computer Software Productivity Tools
Advanced use of application software to increase productivity. Covers sharing
data and files among different packages, spreadsheet macros, and database
integration. Prerequisite: CS 205 or waiver.
207-4 Advanced Office Productivity
Emphasis is placed on understanding how packages interact within an
integrated environment. Personal computers are used for sophisticated word
processing and desktop publishing projects. State-of-the-art presentation
techniques such as hypertext will be discussed. Prerequisite: CS
206
208-4 Computer Programming for Business I
Introduces basic concepts of programming. Examples are from business
applications and display graphics. Emphasis is on problem solving with the
computer as a tool. Prerequisite: CS 205, MTH 129.
209-4 Computer Programming for Business II
Continuation of CS 208. Introduces the basic concepts of programming.
Examples are from business applications and display graphics. Emphasis is on
problem solving with the computer as a tool. Prerequisite: CS 208.
214-4 Visual Basic Programming
An introductory course to the use of graphic objects in a windows
event-driven environment providing a case study of object-oriented programming
with Visual Basic in Microsoft Windows to develop simple graphic user
interfaces. Need to be familiar with programming concepts.
240-4 Computer Programming I
Basic concepts of programming and programming languages are introduced.
Emphasis is on problem solving and object oriented programming.
Prerequisite: MTH 130 or MPL 5.
241-4 Computer Programming II
A continuation of CS 240. Emphasis is on solving more complex problems using
object oriented programming. Prerequisite: CS 240.
242-4 Computer Programming III
Advanced concepts of computer programming are explored. Emphasis is on use of
data structures and tools that facilitate programming. Prerequisite:(CS 241,
MTH 257) or CEG 221.
271-4 Intro to Bioinformatics
(Also listed as BIO 271) Tools-oriented approach to bioinformatics
emphasizing data structure in DNA, string representation in PERL, data searches,
pairwise alignments, substitution patterns, protein structure prediction and
modeling, proteomics, and the use of web-based bioinformatic tools.
Prerequisite: BIO 112, CS 240.
302-4 Introduction to Oracle/SQL Databases
Relational client server database design and accesstechniques. Includes
building database tables, writing SQL statements/programs, and developing user
interfaces and reports for data retrieval using Internet. Prerequisite: CS
240 or CS 141 or CS 208.
316-4, 317-4 Numerical Methods for Digital Computers I and
II
Introduction to numerical methods used in the sciences. Methods of
interpolation, data smoothing, functional approximation, integration, solutions
of systems of equations, and solutions of ordinary differential equations. Three
hours lecture, two hours lab. Prerequisite: FOR 316: (CS 142 or EGR
153 or CS 241 or CEG 220) and MTH 231 and (MTH 253 or 235 or 255) FOR
317: CS 316 and (MTH 233 or 235) and (MTH 235 or 253 or 355).
340-1 Programming Language Workshop
Self-directed study in computer languages. Individual workshops are offered
in significant languages such as JAVA, COBOL, PL/1, SNOBOL, LISP, SIMSCRIPT, C#,
and GPSS. May be taken for letter grade or pass/unsatisfactory.
Prerequisite: CS 400.
350-4 Computational Tools and Techniques for Data
Analysis
Introduction to the representation, visualization, and modeling of large data
sets. Data analysis using standard high level software tools. Topics include
data filtering, clustering, classification, and data mining.Prerequisite: none
399-1 to 5 Selected Topics
Selected topics in computer science. May be taken for letter grade or
pass/unsatisfactory.
400-4 Data Structures and Algorithms
Study of the implementation of data structures and control structures in
professional computer programs. Introduction to the fundamentals of complexity
and analysis. Study of common standard problems and solutions (e.g., transitive
closure and critical path). Emphasis on high-level language software design.
Three hours lecture, two hours lab. Prerequisite: CS 242 and CEG 233.
405-4 Introduction to Database Management
Survey of logical and physical aspects of data basemanagement systems,
including entity-relationship and relational data models; physical
implementation methods; query languages; SQL, relational algebra, relational
calculus, and QBE; experience in creating and manipulating databases.
Prerequisite: CS 400.
407-3 Optimization Techniques
(Also listed as MTH 407.) Concepts of minima and maxima; linear programming;
simplex method, sensitivity, and duality; transportation and assignment
problems; and dynamic programming. Prerequisite: MTH 233 and 253 or
255.
409-4 Principles of Artificial Intelligence
Problem-solving methods in artificial intelligence (AI) with emphasis on
heuristic approaches. Topics include methods of representation, search,
intelligent agents, planning, learning, natural language processing, logic,
inference, robotics, and case-based reasoning. Three hours lecture, two hours
lab. Prerequisite: CS 400 and CS 340 (LISP) or LISP programming
experience.
410-4 Theoretical Foundations of Computing
(Also listed as MTH 410.) Turing machines; partial-recursive functions;
equivalence of computing paradigms; Church-Turing thesis; undecidability;
intractability. Three hours lecture, two hours lab. Prerequisite: CS 466.
415-3 Social Implications of Computing
Examines the impact of computers and computing on society. Topics include
privacy, dangers introduced by computers performing critical tasks, the effect
of robots on the work force, the impact of computers on education, and the new
legal issues introduced by computing. Senior standing.
419-3 Cryptography and Data Security
(Also listed as MTH 419.) Introduction to the mathematical principles of data
security. Various developments in cryptography are discussed, including
public-key encryption, digital signatures, the data encryption standard (DES),
and key safeguarding schemes. Prerequisite: MTH 253 or 255.
458-3 Applied Graph Theory
(Also listed as MTH 458.) Introduction to methods, results, and algorithms
from graph theory. Emphasis on graphs as mathematical models applicable to
organizational and industrial situations. Prerequisite: CS 142 or 241, MTH
231.
459-3 Combinatorial Tools for Computer Science
(Also listed as MTH 459.) Introduction to some of the mathematical tools
needed for an understanding of computer programming. The topics covered are
summations, elementary number theory, combinatorial identities, generating
functions, and asymptotics. MTH 457 recommended. Prerequisite: MTH 280.
466-4 Introduction to Formal Languages
Introduction to the theory of formal languages and automata. Emphasis is on
those classes of languages commonly encountered by computer scientists (e.g.,
regular and context-free languages). Prerequisite: CS 400, MTH 257; or MTH
257 and completion of a 400-level math or statistics course
470-4 Systems Simulation
Introduction to simulation and comparison with other techniques. Discrete
simulation models. Introduction to queuing theory and stochastic processes.
Comparison of simulation languages. Simulation methodology and selected
applications. Three hours lecture, two hours lab. Prerequisite: CS 400 and
(STT 360 orSTT 363 or ISE 301).
471-4 Algorithms for Bioinformatics
Theory-oriented approach to the application of contemporary algorithms to
bioinformatics. Graph theory, complexity theory, dynamic programming and
optimization techniques are introduced in the context of application toward
solving specific computational problems in molecular genetics. Prerequisite:
BIO 271, CS 400, BIO 210 and BIO 211, CHM 213
480-4 Comparative Languages
Basic concepts and special-purpose facilities in programming languages
examined through several representative languages. Three hours lecture, two
hours lab. Prerequisite: CS 400.
482-4 Scanning, Parsing, and Semantic Analysis
Study and use of tools for performing lexical, syntactic, and semantic
analysis of computer-oriented languages. Prerequisite: CS 466 and CS
480.
495-4 Undergraduate Thesis
Completion of a computer science research project. Writing and defending a
thesis that describes the research and summarizes the results. Prerequisite:
CS 499. Graded pass/unsatisfactory.
499-1 to 5 Selected Topics
Selected topics in computer science. May be taken for letter grade or
pass/unsatisfactory, at instructor's option.