|
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. |
|