Computer Science (CS)

Computer Science (CS)

How to Read Course Descriptions

Courses

CS 1181 Computer Science and Programming I: 3 semester hours.

Problem solving methods and algorithm development with an emphasis on programming style. Secure software design/coding concepts for resilient software. Equivalent to INFO 1181. Satisfies Objective 7 of the General Education Requirements. PRE-or-COREQ: MATH 1143 or MATH 1147. F, S

CS 1182 Computer Science and Programming II: 3 semester hours.

Object-oriented programming and design. Sorting and searching. Recursion. Event-driven programming. UML class-diagrams. Secure software design/coding concepts for resilient software systems. PREREQ: CS 1181/INFO 1181. S

CS 1187 Applied Discrete Structures: 3 semester hours.

Discrete structures in CS and EE. Boolean algebra and logic; sets, functions, and relations; iteration, recursion, and induction; algorithms; programming in pseudocode; basic counting principles; graphs and trees; and other selected topics from discrete mathematics. Equivalent to MATH 1187. PREREQ: CS 1181/INFO 1181. S

CS 2263 Advanced Object-Oriented Programming: 3 semester hours.

Advanced programming in a modern object-oriented language, different from the one used in CS 1181 and CS 1182; philosophy, application, and examples of object-oriented concepts and techniques; comprehensive survey of software engineering design patterns. PREREQ: CS 1182. D

CS 2275 Computer Organization and Assembly: 3 semester hours.

Effect of computer architecture on the performance and correctness of code including data representation, machine language, compilation, code optimization, memory hierarchy, linking, pipelining, virtual memory, I/O and storage, and operating systems. Assembly programming. PRE-or-COREQ: INFO 1150, CS 1182 or INFO 1182. PREREQ: MATH 1143 or MATH 1144 or MATH 1147 or MATH 1170 or equivalent. D

CS 2299 Experimental Course: 1-6 semester hours.

This is an experimental course. The course title and number of credits are announced in the class schedule by the scheduling department. Experimental courses may be offered no more than three times with the same title and content.

CS 3308 Data Structures and Programming: 3 semester hours.

Introduction to data structures and their associated algorithms. Abstract data types, linked lists, stacks, queues, trees. Pointers. Sorting and searching. Elementary threading. Extensive programming exercises and projects. PREREQ: CS 1182 or INFO 1182 and MATH 1143 or MATH 1144 or MATH 1147 or MATH 1170 or equivalent. D

CS 3321 Software Engineering: 3 semester hours.

Techniques and tools for conceiving, designing, testing, deploying, maintaining, and documenting large software systems with particular focus on the structured analysis and design phases including task analysis, human factors, costs, and project and team management. PREREQ: CS 3308. D

CS 3344 Artificial Intelligence: 3 semester hours.

Fundamental principles and techniques of artificial intelligence systems; search strategies; knowledge acquisition and representation; common sense reasoning; planning; machine learning; expert systems; intelligent agents and multi-agent systems. PREREQ: CS 3385. D

CS 3385 Data Structures and Algorithms: 3 semester hours.

The design, construction, and analysis of data structures, algorithms, and complexity beyond CS 3308. Balanced trees, heaps, hash tables, graph algorithms, sorting and searching. Space and time complexity. Significant coding projects. PREREQ: CS 2275, CS 3308, MATH 1175, and MATH 2240. PRE-or-COREQ: MATH 1187 or MATH 2287. D

CS 3386 Data Structures and Algorithms II: 3 semester hours.

Continuation of CS 3385. PREREQ: CS 3385. D

CS 3393 Computer Science Internship: 1-3 semester hours.

Internship program coordinated by Computer Science faculty providing significant exposure to computer science issues and techniques. May not be used to fulfill computer science major or minor requirements. PREREQ: INFO 3307, INFO 4407, CS 3308, CS 2275, MATH 1175, ENGL 1102, and permission of instructor. D

CS 4420 Computer Security and Cryptography: 3 semester hours.

Public key and private key cryptopgraphy, key distribution, cryptographic protocols, requisite mathematics and selected topics in the development of security and cryptography. PREREQ: CS 3385. D

CS 4440 Web Programming: 3 semester hours.

Server and client-side, secure, web-based database and related applications. PREREQ: CS 3308, CS 2275. PRE-or-COREQ: INFO 4407 or CS 4451. D

CS 4442 GUI Development: 3 semester hours.

Planning and construction of Graphical User Interfaces and discussion of essential software engineering concepts. Includes the use of a modern toolkit language. PREREQ: CS 3385. D

CS 4444 Image and Audio Processing: 3 semester hours.

Image and audio acquisition, quantization, spatial and spectral filters, sharpening, smoothing, restoration, compression, segmentation, Fourier and Wavelet transforms. PREREQ: CS 1187/MATH 1187, MATH 3352, and MATH 3360. D

CS 4445 Data Compression: 3 semester hours.

A survey of modern techniques of data compression, both lossy and loss-less and encryption. PREREQ: CS 3385. D

CS 4451 Database Theory Design and Programming: 3 semester hours.

Data models, relational algebra and calculus, SQL and stored procedures, database design, ER diagrams, normalization theory, data storage, index structures, performance analysis, concurrency control. Database programming language access. Uses a different programming language. PREREQ: CS 3385. D

CS 4458 Computer Graphics: 3 semester hours.

Graphics, transformation matrices, lighting models, object hierarchies, visible surface determination, ray tracing. PREREQ: CS 3385 and (CS 1187 or MATH 1187 or MATH 2287). D

CS 4460 Comparative Programming Languages: 3 semester hours.

Design of historical and contemporary programming languages, concentration on promoting understanding of structural organization, data structures and typing, name structures, and control structures. PREREQ: CS 3385 and either CS 2275 or CS 4475. D

CS 4470 Parallel Processing: 3 semester hours.

Topics in high-performance computing: parallel architectures, SIMD, MIND, SMP, NUMA models, message passing, cache coherency issues, MPI, PVM, parallel programming languages, cluster and grid approaches, applications and experience programming on a cluster. PREREQ: CS 3385 and either CS 2275 or CS 4475. D

CS 4471 Operating Systems: 4 semester hours.

Theory, design, and implementation of software systems to support the management of computing resources. Concurrency, mutual exclusion and synchronization, CPU scheduling. Process, memory, and security. I/O files, and device management. Scripts and shells. Extensive systems programming including implementation of a portion of an operating system. PREREQ: CS 2275 and CS 3308. D

CS 4475 Advanced Computer Architecture: 3 semester hours.

Continuation of CS 2275, Computer Organization and Assembly. PREREQ: CS 2275 and EE 2274. D

CS 4480 Theory of Computation: 3 semester hours.

Finite representations of languages, deterministic and nondeterministic finite automata, context free languages, regular languages, parsing, Turing Machines, Church's Thesis, uncomputability, computational complexity classes. PREREQ: CS 3385, CS 1187/MATH 1187 or MATH 2287, and MATH 1175. D

CS 4481 Compilers: 3 semester hours.

Design and construction of compilers. Theory and pragmatics of lexical, syntactic, and semantic analysis. Interpretation. Code generation for a modern architecture. Run-time environments. Includes a large compiler-implementation project. PREREQ: CS 3385. D

CS 4488 Advanced Software Engineering and Project: 3 semester hours.

Analysis, specification, design, implementation, and testing of a large software project. Formal approach and tools. Software lifecycle. Human computer interaction. Project and team management. Uses a different programming language. PREREQ: CS 3385, CS 3321 or INFO 3307, and CS 4451 or INFO 4407. D

CS 4492 Special Problems in Computer Science: 3 semester hours.

Research and reports on problems or topics in computer science. May be repeated for up to 9 credits with different content. PREREQ: Permission of instructor. D

CS 4499 Experimental Course: 1-6 semester hours.

This is an experimental course. The course title and number of credits are announced in the class schedule by the scheduling department. Experimental courses may be offered no more than three times with the same title and content.

Back to Top