Apr 24, 2024  
2017-2018 Undergraduate and Graduate Catalog 
    
2017-2018 Undergraduate and Graduate Catalog [ARCHIVED CATALOG]

Course Descriptions


How to Read Catalog Course Descriptions

Texas Tech offers nearly 5,000 courses as part of its curriculum. These courses are listed alphabetically by subject prefix within each college and departmental section of this catalog. The courses appear in numerical order, moving from beginning freshman or developmental level courses to graduate, research, and professional courses.

Not all courses listed in this catalog are offered every year. An online class schedule published before each registration period indicates courses that will be available during the upcoming term or semester and when each class will meet. The class schedule can be found at (www.depts.ttu.edu/officialpublications/class_schedule/index.php). The university reserves the right to cancel any scheduled course or withdraw any program from the list of offerings when the best interests of the institution require such action.

Courses are designated by a subject prefix and number along with a descriptive title. Learn more  about interpreting the course descriptions found throughout the catalog.

 

CS - Computer Science (Undergraduate Courses)

  
  • CS 1300 - Computers and Modern Society

    3 Semester Credit Hours
    Survey of computers, their uses, and their impact on society. Brief introduction to computer programming and the use of word processor, spreadsheet, and data base application software. Credit may not be applied toward a computer science major or minor.
  
  • CS 1303 - Programming and Data Analysis in Matlab

    3 Semester Credit Hours
    The course will focus on basic programming skills in the C/C++ language. This course cannot be used for a CS major or minor.
  
  • CS 1305 - Introduction to Computer Science

    3 Semester Credit Hours
    TCCNS: [COSC 1315, 1330; ENGR 2304] An introduction to the field of computer science for majors. Computer ethics issues facing computer science professionals are addressed. Students will also learn concepts of computer programming with an emphasis on problem solving, critical thinking, logical reasoning, design and implementation techniques.
  
  • CS 1382 - Discrete Computational Structures

    3 Semester Credit Hours
    Prerequisite: CS 1411  or ECE 1304 . Sets, functions, counting principles, basic probability, logic, proof methods, and graphs. (CL)
  
  • CS 1411 - Programming Principles I

    4 Semester Credit Hours
    TCCNS: [COSC 1320, 1336, 1415, 1436] Prerequisite: Department approval. Procedural programming. Discipline of computer science; analysis, design, implementation, debugging, and testing of software. Introduction to field for majors.
  
  • CS 1412 - Programming Principles II

    4 Semester Credit Hours
    TCCNS: [COSC 1337, 1437] Prerequisite:C or better in CS 1411  or ECE 1304  or ECE 1305 . Advanced procedural programming. Topics include recursive functions, parameter passing, structures, records, memory allocation, exception handling, and abstract data types. (CL)
  
  • CS 2350 - Computer Organization and Assembly Language Programming

    3 Semester Credit Hours
    TCCNS: [COSC 2325, 2425] Prerequisites: 2.5 TTU GPA; C or better in CS 1412 , ECE 2372 . Introduction to the organization of single-processor computer systems via Assembly Language. Topics addressed include basic concepts of computer architecture and organization, assembly programming, interfacing assembly with High Level Languages, sub-procedures and macros, I/O devices, interrupts, and multitasking issues.
  
  • CS 2365 - Object-Oriented Programming

    3 Semester Credit Hours
    Prerequisite: CS 2413 . Introduction to object-oriented programming. Topics include object-oriented design and analysis, classes, inheritance, polymorph data abstraction, and user interface design principles.
  
  • CS 2413 - Data Structures

    4 Semester Credit Hours
    TCCNS: [COSC 2315, 2336, 2436] Prerequisite: CS 1412 . Comparative study of the interaction of data and procedural abstractions. Data structures, lists, stacks, queues, trees, graphs. Algorithms: searching, sorting, parsing, hashing, graph traversals.
  
  • CS 3352 - Introduction to Systems Programming

    3 Semester Credit Hours
    Prerequisites: CS 2350  or ECE 3362  and CS 2413 . Introduction to system software including assemblers, linkers, loaders, and compilers. Other topics addressed include design of utility and networking software, shell programming, and script languages.
  
  • CS 3361 - Concepts of Programming Languages

    3 Semester Credit Hours
    Prerequisite: CS 2413 . Study of programming language design. The investigation and comparison of different programming language paradigms.
  
  • CS 3364 - Design and Analysis of Algorithms

    3 Semester Credit Hours
    Prerequisites: CS 2413 , CS 1382  and MATH 2360 . A theoretical course focusing on the design and analysis of computer algorithms.
  
  • CS 3365 - Software Engineering I

    3 Semester Credit Hours
    Prerequisite: C or better in CS 2365  or CS 2413 , MATH 3342  or equivalent. Introduces theory and practice for software engineering. Topics include software life cycle, requirements, specification and analysis, software architecture and detailed design, and testing. (CL)
  
  • CS 3366 - Human Computer Interaction

    3 Semester Credit Hours
    Prerequisite: CS 2413 . Focuses on design, development, and evaluation of computer systems that interact with people. Topics include interaction design models, interface components, and usability testing.
  
  • CS 3368 - Introduction to Artificial Intelligence

    3 Semester Credit Hours
    Prerequisite: CS 1382 . Provides introduction to theory, design, and implementation of intelligent systems.
  
  • CS 3375 - Computer Architecture

    3 Semester Credit Hours
    Prerequisite: CS 2350  or ECE 3362 . Introduction to the functional components of computer systems; their hardware implementation and management at different levels; their interaction, characteristics, and performance as well as their practical implications for computer programming.
  
  • CS 3383 - Theory of Automata

    3 Semester Credit Hours
    Prerequisite: CS 1382 . The relationship between language, grammars, and automata. Deterministic and nondeterministic machines. Pushdown automata and Turing machines. Limits of computability.
  
  • CS 4000 - Individual Studies in Computer Science

    V1-6 Semester Credit Hours
    Prerequisites: Advanced standing and departmental approval. Individual studies in computer science areas of special interest. May be repeated for credit.
  
  • CS 4311 - Senior Project Design

    3 Semester Credit Hours
    Prerequisites: CS majors only; C or better in CS 3365 , CS 3364 , and COMS 2358  or ENGR 2331 ; 12 additional hours of upper-division computer science coursework; senior standing. A project-oriented course intended not only to consolidate most theoretical aspects of software engineering, but also to emphasize team work and foster communication skills. Projects are formulated, formally proposed, designed, implemented, tested, documented, and demonstrated.
  
  • CS 4328 - Scientific Computing

    3 Semester Credit Hours
    Prerequisites: CS 2413  and MATH 1452 . Numerical techniques for interpolation, integration, and the solution of systems of algebraic and differential equations with special emphasis on hardware limitations.
  
  • CS 4331 - Special Topics in Computer Science

    3 Semester Credit Hours
    Prerequisites: Advanced standing and CS 3375 . Advanced study in computer science topics.
  
  • CS 4352 - Operating Systems

    3 Semester Credit Hours
    Prerequisites: CS 3364  and CS 3375 . Concepts and design of different components of operating systems. Topics addressed include process management, scheduling and resource management, file systems, I/O, and security issues.
  
  • CS 4354 - Concepts of Database Systems

    3 Semester Credit Hours
    Prerequisite: CS 3364 . Overview of a database system and its components; physical organization of data; data models; relational databases; and query processing.
  
  • CS 4365 - Software Engineering II

    3 Semester Credit Hours
    Prerequisite: CS 3365 . Advanced theory and practice for software engineering. Topics include project management, configuration management, process improvement, software security, software reuse, and quality management.
  
  • CS 4366 - Senior Capstone Project

    3 Semester Credit Hours
    Prerequisite: C or better in CS 4365 . A project-oriented course intended not only to consolidate most theoretical aspects of software engineering, but also to emphasize team work and foster communication skills. Projects are formulated, formally proposed, designed, implemented, tested, documented, and demonstrated. (CL)
  
  • CS 4379 - Parallel and Concurrent Programming

    3 Semester Credit Hours
    Prerequisites: CS 3364  and CS 3375 . Introduction to multi-threaded programming, data parallelisms, and message passing techniques. Topics include concurrent and parallel execution environments, user-programmed parallelism, and compiler-based parallelism. Applications addressed involve numerical algorithms familiar to senior-level students.
  
  • CS 4380 - Embedded Systems

    3 Semester Credit Hours
    Introduction of special purpose embedded processor-based systems and their applications.
  
  • CS 4391 - Special Topics in A I

    3 Semester Credit Hours
    Prerequisite: Senior standing. In-depth treatment of one or more topics in artificial intelligence. Such topics include robotics, knowledge representation, or automated reasoning.
  
  • CS 4392 - Computer Networks

    3 Semester Credit Hours
    Prerequisite: CS 2413 . Digital transmission fundamentals, local area networks, network protocols, and common Internet applications.
  
  • CS 4395 - Introduction to Computer Graphics

    3 Semester Credit Hours
    Prerequisite: CS 3364 . Focus on basic principles and methods for designing, implementing, and applying graphics packages. Methods for manipulating and displaying two- and three-dimensional objects.
  
  • CS 4397 - Computer Game Design and Development

    3 Semester Credit Hours
    Prerequisite: CS 3364 . Underlying science, technology, and art or computer games. Specific topics include design planning, interactive graphics, autonomous agents, multi-user interaction, and game engine construction.
  
  • CS 4398 - Theory and Practice of Logic Programming

    3 Semester Credit Hours
    Formal syntax and semantics of logics of programming languages, practical application of such languages, and linking GUI interfaces written in imperative languages.