Department of Computer Science

Professor William M. Marcy, Chairperson.

Professors Gustafson and Oldham; Associate Professors Antonio, Bagert, and Lakhani; Assistant Professors English, Lopez-Benitez, Mengel, Temkin, and Van Cleave; Lecturers Burgin, Storm, and Tyrer; Emeritus Faculty Archer and Weiner.

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

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, chemistry, 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 1462, Fund. Comp. Sci. I 4 CS 1463, Fund. Comp. Sci. II 4
ENGL 1301, Ess. Coll. Rhetoric 3 ENGL 1302, Adv. Coll. Rhetoric 3
MATH 1351, Calculus I 3 MATH 1352, Calculus II 3
CHEM 1307, Prin. Chem. I 3 EE 2372, Mod. Dig. Syst. Des. 3
CHEM 1104, Prin. Chem. I (Lab) 1 +Gen. Ed. Elective 3
14 16
SECOND YEAR
Fall Spring
CS 2350, Comp. Org. & Assy. L. 3 CS 2365, Software Engr. 3
CS 2382, Disc. Struct. 3 EE 2304, Fund. of Elec. Engr. 3
MATH 2350, Calculus III 3 POLS 1301, Amer. Gov. Org. 3
PHYS 1105, Princ. Phys. Lab. I 1 MATH 2360, Linear Algebra 3
PHYS 1308, Pric. Phys. I 3 PHYS 1106, Princ. Phys. Lab. II 1
ENGL 2309, Technical Writing 3 PHYS 2301, Princ. Phys. I 3
16 16
THIRD YEAR
Fall Spring
CS 3372, Adv. Digit. Proj. 3 CS 3352, Intro. Sys. Prog. 3
CS 3461, Concepts. Prog. Lang. 4 CS 3364, Des. & Anal. Alg. 3
Math. Prob. and Stat. Elective 3 CS 3375, Comp. Arch. 3
COMS 3308, Bus. & Prof. Comm. 3 *Computer sci. Elective 3
+Gen. Ed. Elective 3 +Gen. Ed. Elective 3
16 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 +Gen. Ed. Elective 6
**Tech. or Prof. Dev. Elective 3 **Tech. or Prof. Dev. Elective 3
+Gen. Ed. Elective 3 15
15

Minimum hours for graduation­123.

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, I E 3301, ISQS 3348, MGT 3370 or 3376, MILS 3301, MKT 3350, MATH 3350, 3354, or 4310.

+Courses needed to fulfill the University General Education Requirements including three additional hours of political science, six hours of U.S. History, six hours of humanities electives, and three hours of individual or group behavior electives. The 3-hour Multicultural Requirement must also be satisfied. Please consult the General Education Requirements section of this catalog for more details.

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
CHEM 1307, Prin. of Chem. I 3 EE 2372, Mod. Dig. Sys. Des. 3
CHEM 1307, Prin. of Chem. I (Lab.) 1 +Gen. Ed. Elective 3
14 *Health and Physical Fitness
16
SECOND YEAR
Fall Spring
CS 2350, Comp. Org. Assy. L. 3 CS 2365, Software Engr. 3
CS 2382, Disc. Struct. 3 EE 2304, Fund. of Elec. Engr. 3
MATH 2350, Calculus III 3 MATH 2360, Linear Algebra 3
PHYS 1105, Princ. of Phys. Lab I 1 PHYS 1106, Princ. of Phys. Lab I 1
PHYS 1308, Princ. of Phys. I 3 PHYS 2301, Princ. of Phys. II 3
ENGL 2309, Technical Writing 3 POLS 1301, Amer. Gov. Org. 3
15 16
THIRD YEAR
Fall Spring
CS 3461, Concepts. Prog. Lang. 4 CS 3364, Des. & Anal. Alg. 3
MATH 3354. Diff. Equations I 3 CS 3375, Comp. Arch. 3
Foreign Language Elective 5 +Gen. Ed. Elective 3
COMS 3308, Bus. & Prof. Comm. 3 MATH 3360, Found. of Algebra I 3
15 Foreign Language Elective 4
17
FOURTH YEAR
Fall Spring
CS 3372, Adv. Dig. Sys 3 CS 3352, Intro. Sys. Prog. 3
MATH 3430, Comp. Tech. Sci. Math. 4 +++Computer sci. Elective 3
MATH 4342, Math. Stat. 3 MATH 4310, Intro. Num. Anal I 3
++Gen. Ed. Elective 3 Math. Elective 3
Foreign Language Elective 3 Foreign Language Elective 3
16 15
FIFTH YEAR
Fall Spring
CS 4311, Sr. Proj. Des. 4 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 +Gen. Ed. Elective 6
+Gen. Ed. Elective 3 15
15

Minimum hours for graduation exclusive of Health and Physical Fitness­148. (Although usually it will be 155­­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 3 additional hours 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 University General Education Requirements including three additional hours of political science, six hours of U.S. History, six hours of humanities electives, and three hours of individual or group behavior electives. The 3-hour Multicultural Requirement must also be satisfied. Please consult the General Education Requirements section of this catalog for more details.

++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)

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, spread sheet, and data base application software. Credit may not be applied toward a computer science major or minor. [COSC 1301]

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 1320. Introduction to field for majors. A first course in procedural programming and software engineering 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.)

2302. Programming Language Proficiency in C/C++ (3:3:0). 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.

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. Sets, functions, algorithms, counting principles, logic foundations, graphs, Boolean algebra, and the foundations of the theory of computation.

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

3352. Introduction to Systems Programming (3:3:0). Prerequisite: CS 2350 and 2365. 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.

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: MATH 1351 and proficiency in one high-level language. 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 and EE 2372. 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: EE 2304 and 2372. 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. Networks and Distributed Systems (3:3:0). Prerequisite: CS 1463. ISO models and ANSI/IEEE standards for local and wide area networks. Students working in teams implement a local area network system. An integrated hardware-software approach is emphasized.

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

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, 3365, COMS 3308, and 12 additional hours of upper-division computer science course work and senior standing. Further study of software engineering theory and practice. Individual or small-group projects are formulated and formally proposed; project completion will occur in C S 4412. (Writing intensive course.)

4312. Senior Project Implementation Laboratory (3:0:9). Prerequisite: CS 4311. Students will complete the projects begun in CS 4411. 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 2350 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 Home Page

Page Maintained by: Cheryl Hedlund

Page Administrator: Gale Richardson

LAST UPDATE: 6-1-98


Jan 21, 2020