Department of Computer Science

Professor Daniel E. Cooke, Chairperson.

Professors Bagert, Marcy, and Oldham; Associate Professors Hernandez, Liu, Lopez-Benitez, and Lakhani; Assistant Professors Mengel, Pyeatt, Sinzinger, Temkin, and Watson; Emeritus Faculty Archer and Weiner.

This department supervises the following degree programs: COMPUTER SCIENCE, Bachelor of Science, Master of Science, and Doctor of Philosophy; SOFTWARE ENGINEERING, Master of Science.

Computer science is the theory, design, and analysis of algorithms for processing information, and the implementations of these algorithms in hardware and software. There is an implied overall balance of emphasis between the hardware and software aspects of computer science. The analysis of trade-offs between hardware and software is a salient characteristic with an emphasis on efficiency and effectiveness. The result is the knowledge and skills necessary to analyze, design, implement, test, and maintain high quality, computer based solutions to human problem solving needs. The computer science curriculum also places a strong emphasis on writing, communication, professional skills, and ethical concerns. The objective is to prepare a graduate for a productive professional career with a broad based understanding of the computing discipline.

The principles and foundations of computer science are learned through a synthesis of studies involving both course work and laboratories in areas such as problem solving, software development paradigms, data structures, digital logic, algorithm analysis and design, discrete structures, programming languages, computer organization and architecture, software engineering, operating systems, artificial intelligence, networks, computer graphics, microprocessors, computer theory, and information retrieval. Additional supporting studies involve both course work and laboratories in mathematics, physics, electrical engineering, and technical writing. Computer ethics is an essential part of several courses.

All students entering the computer science degree program are expected to follow the sequence of courses shown in the curriculum table below and must satisfy the requirements of the Dynamic Enrollment Management Plan (DEMP) for computer science and the College of Engineering. DEMP details are available from the department. Students demonstrating satisfactory performance may deviate from the specified sequence of courses only with the express approval of a computer science undergraduate advisor and only when such deviation is required to obtain a normal load of course work for the student. Students may take a course no more than three times, unless they have written permission from the computer science chairperson.

Computer science majors are not required to have a minor field. However, many students choose to pursue a minor. Minors can be pursued in virtually any field of study offered at Texas Tech. The minor must consist of a minimum of 18 hours, with at least six of those hours at the 3000 or 4000 level. A minor may require additional hours of study, depending on the particular minor field.

Minors in Computer Science. A minor in computer science includes 18 or more hours in computer science with at least 6 of those hours at the 3000 or 4000 level. The minor typically is 1462, 1463, and ten or more additional hours, of which at least six must be at the junior or senior level. For more information on minors, please contact a computer science undergraduate advisor.

Dual Degrees. Computer science is part of three dual degree programs, in which Bachelor of Science degrees in both Computer Science and another field can be earned. The Electrical Engineering and Computer Science (EECS) and Chemical Engineering and Computer Science dual degree (CHCS) curriculum tables can be found under the listings for Electrical Engineering and Chemical Engineering, respectively. The Mathematics and Computer Science dual degree curriculum table is listed below; this degree is administered through the College of Arts and Sciences, and follows all requirements mandated for the Bachelor of Science degrees for both the College of Engineering and the College of Arts and Sciences. EECS and CHCS students are advised through Electrical Engineering and Chemical Engineering, respectively; MACS students can choose the department in which to be advised (Mathematics or Computer Science).

Computer Science Curriculum.

FIRST YEAR
Fall Spring
CS 1110, Comp. Sci. Seminar 1 CS 1463, Fund. Comp. Sci. II 4
CS 1462, Fund. Comp. Sci. I 4 ENGL 1302, Adv. Coll. Rhetoric 3
ENGL 1301, Ess. Coll. Rhetoric 3 MATH 1352, Calculus II 3
MATH 1351, Calculus I 3 EE 2372, Mod. Dig. Syst. Des. 3
POLS 1301, Amer. Gov. Org. 3 CHEM 1307 & 1107 Prin. Chem. I 4
Core Curr. Elective 3 or BIOL 1403, Biology I
17 17
SECOND YEAR
Fall Spring
CS 2350, Comp. Org. & Assy. L. 3 CS 2365, Software Engr. 3
or EE 3362, Digital Design EE 2304, Fund. of Elec. Engr. 3
CS 2382, Disc. Struct. 3 ENGL 2311, Technical Writing 3
MATH 2350, Calculus III 3 MATH 2360, Linear Algebra 3
PHYS 1105, Princ. Phys. Lab. I 1 PHYS 1106, Princ. Phys. Lab. II 1
PHYS 1308, Princ. Phys. I 3 PHYS 2301, Princ. Phys. I 3
Core Curr. Elective 3 16
16
THIRD YEAR
Fall Spring
CS 3372, Adv. Digit. Proj. 3 CS 3352, Intro. Sys. Prog. 3
CS 3361, Concepts. Prog. Lang. 3 CS 3364, Des. & Anal. Alg. 3
*Math. Prob. and Stat. Elective 3 CS 3375, Comp. Arch. 3
COMS 3358, Bus. & Prof. Comm. 3 **Computer sci. Elective 3
or PETR 3308, Engr. Comm. Core Curr. Elective 3
C S 3383, Theory of Automata 3 15
15
FOURTH YEAR
Fall Spring
CS 4311, Sr. Proj. Des. 3 CS 4312, Sr. Proj. Impl. Lab. 3
CS 4352, Oper. Sys. 3 **Computer sci. Elective 3
**Computer sci. Elective 3 Core Curr. Elective 6
Tech. or Prof. Dev. Elective 3 Tech. or Prof. Dev. Elective 3
Core Curr. Elective 3 15
15

Minimum hours for graduation--126.

*Mathematics Probability and Statistics electives: choose from MATH 3342, I E 3341, or Ch E 4343.

**Computer Science electives: choose from any 3000 or 4000 level computer science courses that are not required for the C S major.

Technical or Professional Development electives: choose from AERS 3305, BLAW 3391, E E 3303, 3311 or 3388, ENGL 3365 or 4366, HONS 3302, I E 3301, MGT 3370 or 3376, MILS 3301, MKT 3350, MATH 3350, 3354, or 4310. MATH 3350 and 3354 cannot both be used. Also, other 3000-4000 level courses in mathematics, science, engineering, technical writing, business administration, or an approved minor may be used with permission of the department.

Courses needed to fulfill the university Core Curriculum requirements, including 3 additional hours of political science, 6 hours of U.S. History, 3 hours of humanities, 3 hours of visual and performing arts, and 3 hours of individual or group behavior electives. The 3 hour Multicultural requirement must also be satisfied. For details, please consult the Core Curriculum requirements.

Math-Computer Science Dual Degree Curriculum.

FIRST YEAR
Fall Spring
CS 1462, Fund. Comp. Sci. I 4 CS 1463, Fund. Comp. Sci. 4
ENGL 1301, Ess. Coll. Rhetoric 3 ENGL 1302, Adv. Coll. Rhetoric 3
MATH 1351, Calculus I 3 MATH 1352, Calculus II 3
Core Curr. Elective 3 EE 2372, Mod. Dig. Sys. Des. 3
13 CHEM 1307 & 1107, Prin. of Chem. I 4
or BIOL 1403, Biology I
*Health and Physical Fitness
17
SECOND YEAR
Fall Spring
CS 2350, Comp. Org. Assy. L. 3 CS 2365, Software Engr. 3
or E E 3362, Digital Design EE 2304, Fund. of Elec. Engr. 3
CS 2382, Disc. Struct. 3 MATH 2360, Linear Algebra 3
MATH 2350, Calculus III 3 PHYS 1106, Princ. of Phys. Lab I 1
PHYS 1105, Princ. of Phys. Lab I 1 PHYS 2301, Princ. of Phys. II 3
PHYS 1308, Princ. of Phys. I 3 POLS 1301, Amer. Gov. Org. 3
ENGL 2311, Technical Writing 3 16
16
THIRD YEAR
Fall Spring
CS 3361, Concepts. Prog. Lang. 3 CS 3364, Des. & Anal. Alg. 3
MATH 3354. Diff. Equations I 3 CS 3375, Comp. Arch. 3
**Foreign Language Elective 5 Core Curr. Elective 3
COMS 3358, Bus. & Prof. Comm. 3 MATH 3360, Found. of Algebra I 3
or PETR 3308, Engr. Comm. **Foreign Language Elective 5
14 17
FOURTH YEAR
Fall Spring
CS 3372, Adv. Dig. Sys 3 CS 3352, Intro. Sys. Prog. 3
MATH 3430, Comp. Tech. Sci. Math. 4 C S 3383, Theory of Automata 3
MATH 4342, Math. Stat. 3 MATH 4310, Intro. Num. Anal I 3
Core Curr. Elective 3 Math. Elective 3
**Foreign Language Elective 3 **Foreign Language Elective 3
16 15
FIFTH YEAR
Fall Spring
CS 4311, Sr. Proj. Des. 3 CS 4312, Sr. Proj. Impl. Lab. 3
CS 4352, Operating Systems 3 +Comp. sci. Elective 3
MATH 4312, Intro. Num. Anal. II 3 Math. Elective 3
MATH 4350, Adv. Calculus 3 Core Curr. Elective 6
Core Curr. Elective 3 15
15

Minimum hours for graduation exclusive of Health and Physical Fitness-148. (Although usually it will be 154-see footnote for foreign language electives).

*Choose from Health and Physical Fitness requirements for the College of Arts and Sciences.

**Please refer to the General Degree requirements for the College of Arts and Sciences. A student who only takes the 6 hour second year requirement will need to take 1 additional hour of electives, to be approved by the student's academic advisor.

Must be chosen from MATH 4343, 4351, 4354, and 4360.

Courses needed to fulfill the College of Arts and Sciences and the university Core Curriculum requirements, including 3 hours of political science, 6 hours of U.S. History, 3 hours of English literature, 3 hours of visual and performing arts, and 3 hours of individual or group behavior electives. The 3 hour Multicultural requirement must also be satisfied. For details, please consult the Core Curriculum requirements, and the College of Arts and Sciences General Degree requirements for a Bachelor of Science.

+Computer Science electives: choose from any 3000 or 4000 level computer science courses that are not required for the MACS major.

Courses in Computer Science. (CS)

1110. Computer Science Seminar (1:1:0). For majors and minors only. Introduction to the profession and practice of computer science for first year and transfer students.

1300. Computers and Modern Society (3:2:2). 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. [COSC 1301]

1303. Programming Language Proficiency in C/C++ (3:2:2). Prerequisite: MATH 1320 and computer literacy. The course will focus on basic programming skills in the C/C++ language. This course cannot be used for a C S major or minor.

1405. Introduction to Computer Science (4:3:3). For majors only. The discipline of computer science and its relationship to problem solving. Introduction to software tools and applications. The design and implementation of computer programs up through and including loops. [COSC 1305]

1462. Fundamentals of Computer Science I (4:3:3). Prerequisite: Computer literacy, computer programming skills up to and including loops, and MATH 1350 or 1550. Introduction to field for majors. A first course which focuses on procedural programming in C++. Analysis, design, implementation, and testing of software. Computer ethics. (Honors section offered.) [COSC 1420]

1463. Fundamentals of Computer Science II (4:3:3). Prerequisite: CS 1462. Introduction to data structures and the object-oriented paradigm using C++. Class objects, inheritance, reusable components, recursion, stacks, queues, linked lists, and binary trees. (Honors section offered.)

2350. Computer Organization and Assembly Language Programming (3:3:0). Prerequisite: CS 1463 and EE 2372. Computer organization and assembly language programming, system and data management macros. [COSC 2425]

2365. Software Engineering (3:3:0). Prerequisite: C S 1463. Software engineering theory and practice. A semester-long software engineering project is designed and implemented by the class, acting as a large team. Software engineering ethics. (Writing intensive course.)

2382. Discrete Computational Structures (3:3:0). Prerequisite: CS 1462 and MATH 1352. Sets, functions, algorithms, counting principles, logic foundations, graphs, Boolean algebra, and the foundations of the theory of computation.

3352. Introduction to Systems Programming (3:3:0). Prerequisite: CS 2350 or E E 3362. Design of various types of computer system software, including assemblers, loaders and monitors. Introduction to macro processors, compilers, and operating system features. Emphasis on relationships between machine architecture and software.

3361. Concepts of Programming Languages (3:3:0). Prerequisite: CS 1463. Study of programming language design. The investigation and comparison of different programming language paradigms. Languages include Ada, Smalltalk, and Prolog.

3364. Design and Analysis of Algorithms (3:3:0). Prerequisite: CS 1463, 2382 and MATH 2360. A theoretical course focusing on the design and analysis of computer algorithms.

3368. Introduction to Artificial Intelligence (3:3:0). Prerequisite: CS 2382. Broad treatment of the field. Algorithms and knowledge structures for varied application areas such as natural language processing, expert systems, game playing, machine vision, and automatic programming. Developments of programs and systems will use standard languages in artificial intelligence.

3372. Advanced Digital Projects (3:3:0). Prerequisite: CS 2350 or E E 3362 and E E 2304. Advanced digital systems design and implementation. Use of software design tools and test instrument verification of the hardware implementation.

3375. Computer Architecture (3:3:0). Prerequisite: CS 2350 or E E 3362. Hardware design alternatives for a computer system to satisfy market requirements. Analysis of current systems.

3383. Theory of Automata (3:3:0). Prerequisite: CS 2382. The relationship between language, grammars, and automata. Deterministic and nondeterministic machines. Pushdown automata and turing machines. The limits of computability.

3392. Computer Networks (3:3:0). Prerequisite: CS 3352. Digital transmission fundamentals, local area networks, network protocols, and common Internet applications.

4000. Special Topics in Computer Science (V1-6). Prerequisite: Advanced standing and departmental approval. Individual studies in computer science areas of special areas.

4311. Senior Project Design (3:3:0). Prerequisite: CS 2365, 3364, COMS 3358 or PETR 3308, and 12 additional hours of upper-division computer science course work and senior standing. Further study of software engineering theory and practice. Projects are formulated and formally proposed; project completion will occur in C S 4312. (Writing intensive course.)

4312. Senior Project Implementation Laboratory (3:0:9). Prerequisite: CS 4311. Students will complete the projects begun in CS 4311. Acceptance testing of projects are performed by the customer. Formal project presentations are made upon completion. (Writing intensive course.)

4352. Operating Systems (3:3:0). Prerequisite: CS 3352 and 3364. Survey of computer resource allocation and management techniques; multiprogramming, multiprocessing, and paging systems. The UNIX operating system will be studied in detail.

4354. Concepts of Database Systems (3:3:0). Prerequisite: CS 3364. Overview of a database system and its components, physical organization of data, data models, relational databases, and query processing.

4395. Introduction to Computer Graphics (3:3:0). 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. Selected readings in current graphics literature and a major project are required.


Return to Contents Page

Page Maintained by: Cheryl Hedlund

Page Administrator: Gale Richardson

LAST UPDATE: 6-1-01