| CS
116 |
Introduction to Computer Science I - NON MAJORS (3) Study of fundamental concepts
of computing: how computers work, what they can do, and how they can be
used effectively. Topics covered: spreadsheets, word processing,
databases, presentation software, multimedia/graphics software, program
design and implementation, and fundamental computing theories. Three hours
of lecture per week. Listed in the Texas Common Course Numbering
System as COSC 1300.
|
| CS 117 |
Introduction to Computer Science II - NON
MAJORS (3)
Introduction to World Wide Web applications and design, including Web
scripting languages and HTML editors. Three hours of lecture per week.
|
| CS 120 |
Introduction to programming
in C++ (3) Introduction to principles of programming
using the C++ programming language as a problem-solving tool. Analysis and
formulation of problems for computer solutions. Systematic design, construction, and testing of programs. Required for
computer science majors and minors. Programming lab sessions during which students acquire
and stregthen their programming skills in C++ are an integral part of this course. Three
hours of lecture per week.
|
| CS 124 |
Fundamentals of Machine Computation
(3)
Study of the theory and applications of discrete mathematical structures as a
foundation for topics in computer science. Required for computer science majors and minors. Three
hours of lecture per week. Prerequisite: MATH 136.
|
| CS 140 |
Advanced Programming in
C++ (3) Extensive programming using concepts of structures, pointers, advanced file
operations, classes, Inheritance, and polymorphism. Three hours of lecture per week. Prerequisite:
CS 120.
|
| CS 216 |
Advanced Applications I - NON MAJORS
(3)
Designed for students interested in learning computer programming applications
using VISUAL BASIC. Design, implementation, and testing of programs and graphical user interfaces.
Process of using VISUAL BASIC to access object oriented model of other applications also considered.
Three hours of lecture per week. Prerequisite: CS 117.
|
| CS
241 |
Object
Oriented Programming Using JAVA (3)
The use of modern object oriented programming methodologies such as class inheritance,
polymorphism, multithreading, generics, GUI components, and exceptions. JAVA programming language is used.
Required for computer science majors and minors. Three hours of lecture per week. Prerequisite: CS 140.
|
| CS 243 |
Computer Organization (3)
Basic concepts of digital computers: Boolean algebra, combinatorial and sequential
logic design, arithmetic/logic units, control units, memory units, and input/output units, flip
flops, synchronized and asynchronized counters. Required for computer science majors and minors. Three hours
of lecture per week. Prerequisites: CS 124.
|
| CS
246 |
Data and File Structures (3)
Advanced programming techniques and data structures including tables, linked
lists, queues and stacks. Abstract data types, recursion, searching and sorting, hashing, binary
trees. External storage devices, file organization, file processing techniques. Required for computer
science majors and minors. Three hours of lecture per week. Prerequisites: CS 124, CS
140.
|
| CS 248 |
Theory
of Computation (3)
Introduction to
automata and languages, computability and complexity of algorithms. This course covers graph theory,
finite state automata, regular expressions, grammars, algorithm definition, algorithm complexity, class
P, class NP algorithms and NP-completeness. Required for computer science majors. Three hours
of lecture per week. Prerequisites: MATH 241, CS 243. Corequisite: CS 246.
|
| CS 342 |
Programming Languages
and Design (3) Introduction to the structure and design of
the programming language paradigm, formal specification of syntax, semantics, functional languages, logic languages, parallel languages,
data types and interfacing procedures. Social implications of technology and safety
issues are also covered. Required for computer science majors. Three hours of lecture per
week. Prerequisites: CS 241, CS 248.
|
| CS 343 |
Microprocessor
Design (3) Rigorous study of the architecture,
applications, programming, and interfacing of current microprocessors, co-processors, and controllers. Hardware and software
structures found in modern digital computer systems. A detailed case study using a
commercial microprocessor or micocontroller will be covered. Required for computer science majors.
Three hours of lecture per week. Prerequisite: CS 243.
|
| CS
344 |
Compiler Design and
Construction (3) Concepts, design, implementation and construction techniques for programming language
translators, simple one-pass compiler; lexical analysis; semantics analysis, top-down, bottom-up
and operator precedence parsing, left-left and left-right parser techniques. Three
hours of lecture per week. Prerequisite: CS 342.
|
| CS
346 |
Database Management Systems (3)
Theory and current practices in database management systems,
data organizational models, including hierarchical and networked, with relational and semantic models stressed.
Required for computer science majors. Three hours of lecture per week.
Prerequisites:
CS 246, CS 248.
|
| CS
354 |
Logic Programming Using
Prolog (3) A thorough introduction to logic programming using Prolog. Includes a description of
Prolog data objects and introduces the concepts of goal resolution though unification and negation as failure.
Programming techniques using control, and predicates and arithmetic operations are also studied.
Three hours of lecture per week. Prerequisite: CS 342.
|
| CS
356 |
Numerical Analysis (3)
Numerical solution of nonlinear
equations, integration, interpolation and data smoothing, systems of linear and nonlinear equations. Three hours of
lecture per week.
Prerequisites: MATH 242, MATH 330, CS
140.
|
| CS 415 |
Computer Ethics and Society (3) A study of the ethical and social issues related to computers and computer networks. Introduction to the legal, social, and ethical issues of information
technology and to software testing and reliability standards. Safety and relevant legal cases will
be covered. Required for computer science majors. Three hours of lecture per week. Prerequisite: Junior level standing.
|
| CS
444 |
Operating Systems (3)
Introduction to the function, internal data structures, and operations of operating systems and
their associated file systems. Required for computer science majors. Three hours of lecture per
week. Prerequisites: CS 343, CS 346.
|
| CS 448 |
Computer Networking (3)
Study of current practices in computer networking including ISO standards, layered models, and protocols.
Required for computer science majors. Three hours of lecture per week. Prerequisite: CS 444.
|
| CS 456 |
Software Engineering and Testing
(3)
Study of the principles and practices of software engineering. Topics include software quality concepts,
process models, and analysis of software requirements, design methodologies, software testing, and software maintenance.
Required for computer science majors. Three hours of lecture per week. Prerequisite: CS 444.
|
| CS 457 |
Artificial Intelligence (3)
Introduction to the fundamental theories, algorithms and representational structures underlying
Artificial Intelligence and practice techniques for programming AI applications using Prolog. General areas
covered include search techniques, production systems, planning, learning, and connectionist
systems. Three hours of lecture per week. Prerequisites: CS 354, CS 346.
|
| CS 460 |
Computer Graphics (3)
Basic concepts of computer graphics, including programming, hardware, display
technology, and data structures for both micros and high-performance workstations. Three hours of
lecture per week. Prerequisites: CS 248, CS 356.
|
| CS 497 |
Advanced Topics (3)
Presentation of advanced topics in computer science by faculty and students. Three hours of
lecture per week.
|
| CS 499 |
Capstone Project (3)
A CS required capstone design course to encourage independent study, project design, and development. Proposal must be submitted and
approved during term preceding enrollment. Three hours of lecture per week. Prerequisite: Consent of the Faculty Chair and
Senior level standing.
|