content
COURSE DESCRIPTIONS
COMPUTER SCIENCE
(CS)

1023 Cultural Implications of the Information Society
(3-0) 3 hours credit.
This course offers an examination of the modern information society and the influences of technological advances on society and culture. The emphasis is on information and its management from ethical, social, and legal perspectives. Students will make extensive use of the World Wide Web. [TCCN: COSC 1300.]

1033 Microcomputer Applications
(3-0) 3 hours credit.
Study of the uses of the computer and the organization and visualization of data. Topics will be selected from library searching, networking, e-mail, spreadsheets, databases, authoring packages, multimedia and hypertext applications, presentation graphics, and legal/ethical issues. May not be applied toward a major in computer science. (Formerly CS 2083. Credit cannot be earned for both CS 1033 and CS 2083.)

1063 Introduction to Computer Programming
(3-0) 3 hours credit. Prerequisite: MTC 1023 or the equivalent.
A course in computer programming for those who have never programmed a computer before, developing elementary programming skills using a modern computer language such as Java. [TCCN: COSC 1336.]

1073 Introductory Computer Programming for Scientific Applications
(3-0) 3 hours credit. Prerequisite: MTC 1023.
Introductory programming. Sorting and ranking, plotting, numerical taxonomy, solution of nonlinear equations, linear regression, and solution of linear systems. May not be applied toward a major in computer science.

1711 Introduction to Computer Science Recitation
(1-0) 1 hour credit. Prerequisite: MAT 1093. Concurrent enrollment in CS 1713 is required.
Recitation to accompany CS 1713. (Formerly CS 1714. Credit cannot be earned for both CS 1711 and CS 1714.) [TCCN: COSC 1437.]

1713 Introduction to Computer Science
(3-0) 3 hours credit. Prerequisites: MAT 1093, and either CS 1063 or previous programming experience. Concurrent enrollment in CS 1711 is required.
Introduction to basic concepts of computer science. Data representation, problem solving methods, algorithm development and implementation. Basic concepts of object-oriented design are integrated throughout the course. (Formerly CS 1714. Credit cannot be earned for both CS 1713 and CS 1714.) [TCCN: COSC 1437.]

1721 Data Structures Recitation
(1-0) 1 hour credit. Prerequisites: CS 1711, CS 1713, and MAT 1214. Concurrent enrollment in CS 1723 is required.
Recitation to accompany CS 1723. (Formerly CS 1724. Credit cannot be earned for both CS 1721 and CS 1724.) [TCCN: COSC 2436.]

1723 Data Structures
(3-0) 3 hours credit. Prerequisites: CS 1711, CS 1713, and MAT 1214. Concurrent enrollment in CS 1721 is required.
Abstract data structures (stacks, queues, lists, trees), recursion, sorting, and searching. Object-oriented design and implementation of data structures. (Formerly CS 1724. Credit cannot be earned for both CS 1723 and CS 1724.) [TCCN: COSC 2436.]

2073 Computer Programming with Engineering Applications
(3-0) 3 hours credit. Prerequisites: MAT 1214 and completion of or concurrent enrollment in MAT 1223.
Algorithmic approaches to problem solving and computer program design for engineers. Engineering and mathematically-oriented problem sets will be emphasized, including nonnumeric applications. Searching, sorting, linked lists, and data typing will be introduced. May not be applied toward a major in computer science.

2211 Advanced Programming Recitation
(1-0) 1 hour credit. Prerequisites: CS 1721 and CS 1723. Concurrent enrollment in CS 2213 is required.
Recitation to accompany CS 2213.

2213 Advanced Programming
(3-0) 3 hours credit. Prerequisites: CS 1721 and CS 1723. Concurrent enrollment in CS 2211 is required.
Further application of programming techniques in a specific programming language. Continuation of data structures (graphs, B-trees, matrices), and file and memory management.

2411 Systems Programming Recitation
(1-0) 1 hour credit. Prerequisites: CS 2211 and CS 2213. Concurrent enrollment in CS 2413 is required.
Recitation to accompany CS 2413.

2413 Systems Programming
(3-0) 3 hours credit. Prerequisites: CS 2211 and CS 2213. Concurrent enrollment in CS 2411 is required.
A study of systems-level programming in a specific system (at present, Unix). Focus on concepts and tools to support the construction of systems programs.

2511 Computer Organization I Recitation
(1-0) 1 hour credit. Prerequisites: CS 1711 and CS 1713. Concurrent enrollment in CS 2513 is required.
Recitation to accompany CS 2513. (Formerly CS 2514. Credit cannot be earned for both CS 2511 and CS 2514.)

2513 Computer Organization I
(3-0) 3 hours credit. Prerequisites: CS 1711 and CS 1713. Concurrent enrollment in CS 2511 is required.
Introduction to digital logic design. Combinational and sequential circuits. Designing with MSI components. State machine design. (Formerly CS 2514. Credit cannot be earned for both CS 2513 and CS 2514.)

2731 Computer Organization II Recitation
(1-0) 1 hour credit. Prerequisites: CS 1721, CS 1723, CS 2511, and CS 2513. Concurrent enrollment in CS 2733 is required.
Recitation to accompany CS 2733. (Formerly CS 2734. Credit cannot be earned for both CS 2731 and CS 2734.)

2733 Computer Organization II
(3-0) 3 hours credit. Prerequisites: CS 1721, CS 1723, CS 2511, and CS 2513. Concurrent enrollment in CS 2731 is required.
Assembly language programming and computer organization. (Formerly CS 2734. Credit cannot be earned for both CS 2733 and CS 2734.)

3133 Computers and Society
(3-0) 3 hours credit. Prerequisite: Consent of instructor or one of the following courses: CS 1033, CS 1063, CS 1073, CS 1713, or CS 2073.
Examination of some of the major issues faced by the use of computers in society, including computers and the law, computers in business, computers in education, computers in science and engineering, and electronic fund-transfer and communications.

3231 Discrete Mathematical Structures Recitation
(1-0) 1 hour credit. Prerequisites: CS 1721, CS 1723, and MAT 1223. Concurrent enrollment in CS 3233 is required.
Recitation to accompany CS 3233.

3233 Discrete Mathematical Structures
(3-0) 3 hours credit. Prerequisites: CS 1721, CS 1723, and MAT 1223. Concurrent enrollment in CS 3231 is required.
Survey and development of theoretical tools suitable for describing algorithmic applications. Propositional and predicate calculus, induction, proofs, set theory, and finite state automata.

3323 Topics in Programming Languages
(3-0) 3 hours credit. Prerequisites: CS 2411 and CS 2413.
Study of two or three languages important to the computer science curriculum. (Credit cannot be earned for both CS 3323 and CS 3321.)

3341 Analysis of Algorithms Recitation
(1-0) 1 hour credit. Prerequisites: CS 2411, CS 2413, CS 3231, CS 3233, and MAT 2213. Concurrent enrollment in CS 3343 is required.
Recitation to accompany CS 3343.

3343 Analysis of Algorithms
(3-0) 3 hours credit. Prerequisites: CS 2411, CS 2413, CS 3231, CS 3233, and MAT 2213. Concurrent enrollment in CS 3341 is required.
Analysis of the performance of algorithms; discussion of programming techniques and data structures used in the writing of effective algorithms. (Formerly CS 4323. Credit cannot be earned for both CS 3343 and CS 4323.)

3393 Numerical Linear Algebra
(3-0) 3 hours credit. Prerequisites: MAT 2233, CS 2211, and CS 2213.
A study of the numerical techniques involved in matrix operations, systems of linear equations, linear least squares, eigenvalue and singular value problems, with an emphasis on practical implementations using existing mathematical software.

3413 Data Communications
(3-0) 3 hours credit. Prerequisites: CS 2731 and CS 2733 or consent of instructor.
Concepts, principles, and terminology concerning the standards, equipment, interfaces, protocols, architectures, transmission alternatives, and regulatory issues involved in the design and use of data communications systems.

3721 Programming Languages Recitation
(1-0) 1 hour credit. Prerequisites: CS 2211, CS 2213, CS 3231, and CS 3233. Concurrent enrollment in CS 3723 is required.Recitation to accompany CS 3723.

3723 Programming Languages
(3-0) 3 hours credit. Prerequisites: CS 2211, CS 2213, CS 3231, and CS 3233. Concurrent enrollment in CS 3721 is required.
An introduction to the organization of high-level programming languages, including data types, control structures, data flow, and run time environments. Use of formal syntax descriptions. The implications of interpretation versus compilation. Activation records and dynamic storage in block-structured languages.

3731 Operating Systems Recitation
(1-0) 1 hour credit. Prerequisites: CS 2411, CS 2413, CS 2731, CS 2733, CS 3231, and CS 3233. Concurrent enrollment in CS 3733 is required.
Recitation to accompany CS 3733.

3733 Operating Systems
(3-0) 3 hours credit. Prerequisites: CS 2411, CS 2413, CS 2731, CS 2733, CS 3231, and CS 3233. Concurrent enrollment in CS 3731 is required.
An introduction to the functions and major techniques of a modern multiprogramming operating system. Includes exposure to the fundamentals of processor management, process synchronization, memory management, and peripheral management.

3743 Introduction to Database Systems
(3-0) 3 hours credit. Prerequisites: CS 2411, CS 2413, CS 3231, and CS 3233.
Study of fundamentals of database systems. Topics include basic concepts, various data models, database design, storage systems, indexing and hashing, database application design and implementation, and commercially available database systems.

3773 Software Engineering
(3-0) 3 hours credit. Prerequisites: CS 3341 and CS 3343.
Software development (analysis, specifications, design, implementation, and testing). Design methodologies and programming standards. Development project in small groups, including acceptance test.

3793 Introduction to Artificial Intelligence
(3-0) 3 hours credit. Prerequisites: CS 3341 and CS 3343.
Discussion of theorem-proving by machine; includes computational linguistics, psychological modeling, and computer games.

4103 Ethical and Social Issues in Computer Science
(3-0) 3 hours credit. Prerequisites: CS 3731 and CS 3733 or consent of instructor.
An introduction to formal ethics and its application to issues arising from the modern computer revolution. Topics include ethical problems related to specialized areas of computer science, such as large databases, networks, artificial intelligence, and computer security. Legal issues are also covered.

4313 Automata, Computability, and Formal Languages
(3-0) 3 hours credit. Prerequisites: CS 3341 and CS 3343. Discussion of abstract machines (finite state automata, pushdown automata, and Turing machines), formal grammars (regular, context-free, and type 0), and the relationship among them.

4353 Unix and Network Security
(3-0) 3 hours credit. Prerequisites: CS 3731 and CS 3733.
A technical survey of the fundamentals of computer and information security. Issues include cryptography, authentication, attack techniques at both the OS and network level, defense techniques, intrusion detection, scan techniques and detection, forensics, denial of service techniques and defenses, libpcap and libnet programming.

4363 Cryptography
(3-0) 3 hours credit. Prerequisites: CS 3341, CS 3343, CS 3731, and CS 3733.
A course in pure and applied cryptography, with emphasis on theory. Topics may include conventional and publickey cryptosystems, signatures, pseudo-random sequences, hash functions, key management, and threshold schemes.

4383 Computer Graphics
(3-0) 3 hours credit. Prerequisites: CS 3341, CS 3343, and MAT 2233.
An introduction to two- and three-dimensional generative computer graphics. Display devices, data structures, mathematical transformations, and algorithms used in picture generation, manipulation, and display.

4393 Topics in User Interfaces
(3-0) 3 hours credit. Prerequisites: CS 3731 and CS 3733.
Study of advanced user interface issues. Topics will be selected from user interface design, human factors, window systems and toolkits, GUI programming models, and input devices, psychological aspects of human-computer interaction, and the psychology of computer users.

4633 Simulation
(3-0) 3 hours credit. Prerequisites: CS 3341, CS 3343 and STA 3543.
Design, execution, and analysis of simulation models, discrete event simulation techniques, input and output analysis, random numbers, and simulation tools and languages.

4713 Compiler Writing
(3-0) 3 hours credit. Prerequisites: CS 2731, CS 2733, CS 3341, and CS 3343.
An introduction to implementation of translators. Topics include formal grammars, scanners, parsing techniques, syntax-directed translation, symbol table management, code generation, and code optimization.

4751 Computer Architecture Recitation
(1-0) 1 hour credit. Prerequisites: CS 2731, CS 2733, CS 3731, and CS 3733. Concurrent enrollment in CS 4753 is required.
Recitation to accompany CS 4753.

4753 Computer Architecture
(3-0) 3 hours credit. Prerequisites: CS 2731, CS 2733, CS 3731, and CS 3733. Concurrent enrollment in CS 4751 is required.
Instruction set architecture, datapath and control unit design, advanced computer arithmetic, pipelining, memory hierarchy and I/O subsystem, performance issues.

4763 Multimedia Systems
(3-0) 3 hours credit. Prerequisites: CS 3731 and CS 3733.
Multimedia hardware capabilities. Sound and video generation and editing. Multimedia applications development and toolkits. Analysis of operational characteristics of multimedia systems.

4773 Object-Oriented Systems
(3-0) 3 hours credit. Prerequisite: CS 3773.
Study of object-oriented concepts and techniques, encapsulation, inheritance mechanisms, polymorphism, and programming in one or more object-oriented languages.

4793 Introduction to Artificial Neural Networks
(3-0) 3 hours credit. Prerequisites: CS 3341 and CS 3343.
Analysis of biological nervous systems, supervised and unsupervised training algorithms, Perceptrons and threshold logic-based systems, associative memories, nonlinear regression, and backpropagation learning methods.

4823 Introduction to Parallel Programming
(3-0) 3 hours credit. Prerequisites: CS 3341, CS 3343, CS 3731, and CS 3733.
Parallel programming concepts (partitioning, synchronization and communication, programming models-shared memory based and message based), programming tools and languages, performance issues.

4873 Computer Networks
(3-0) 3 hours credit. Prerequisites: CS 3731, CS 3733, and STA 3543.
Discussion of standard network layers, including issues of topology, error detection and recovery, congestion control, and hardware interfacing.

4913 Independent Study
3 hours credit. Prerequisite: Permission in writing (form available) from the instructor, the student's advisor, the Department Chair and Dean of the College in which the course is offered.
Independent reading, research, discussion, and/or writing under the direction of a faculty member. May be repeated for credit, but not more than 6 semester credit hours, regardless of discipline, will apply to a bachelor's degree.

4933 Internship in Computer Science
3 hours credit. Prerequisites: Junior or senior standing, an overall 2.5 grade point average, and permission in writing from the instructor, the Department Chair, and the Dean of the College of Sciences.
The opportunity for a semester-long work experience in a private business or public agency in a computer sciencerelated position. No more than 3 semester credit hours of CS 4933, and no more than a total of 6 semester credit hours of CS 4933 and independent study courses may count toward the Bachelor of Science degree in Computer Science. The grade report for this course is either “CR” (satisfactory participation in the internship) or “NC” (unsatisfactory participation in the internship).

4953 Special Studies in Computer Science
(3-0) 3 hours credit. Prerequisite: Consent of instructor.
An organized course offering the opportunity for specialized study not normally or not often available as part of the regular course offerings. Special Studies may be repeated for credit when topics vary, but not more than 6 semester credit hours, regardless of discipline, will apply to a bachelor's degree.

4993 Honors Research
3 hours credit. Prerequisite: Enrollment limited to candidates for College Honors during their last two semesters; approval by the College Honors Committee.
Supervised research and preparation of an honors thesis. May be repeated one time with approval.


text size | + | R |