Department of Computer Science

Professor William J. B. Oldham, Chairperson.

Professors Gustafson and Marcy; Associate Professors Antonio, Bagert, Lakhani, and Li; Assistant Professors English, Hamidzadeh, Lopez-Benitez, Mengel, and Temkin; Lecturers Burgin and Dautermann; 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, computer ethics, 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.

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

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, 2463, and three other courses, of which at least two 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. I4 CS 2463, Fund. Comp. Sci. II4
ENGL 1301, Ess. Coll. Rhetoric3 ENGL 1302, Adv. Coll. Rhetoric3
MATH 1351, Calculus I3 MATH 1352, Calculus II3
HIST 2300, Hist. U. S. to 18773 HIST 2301, Hist. U. S. since 18773
CHEM 1307 3 POLS 1301, Amer. Govt. Org.3
CHEM 1104 1 16
17
SECOND YEAR
Fall Spring
CS 2382, Disc. Struct.3 CS 3365, Software Engr.3
CS 2472, Intro. Comp. Logic4 CS 3450, D. Comp. Org. & assy. L.4
MATH 2350 3 POLS 2302, Amer. Pub. Pol.3
PHYS 1105 1 MATH 2360, Linear Algebra3
PHYS 1308 1 PHYS 1106 1
ENGL 2309, Patt. Rep. and Corr.3 PHYS 2301 3
17 17
THIRD YEAR
Fall Spring
CS 3452, Intro. Sys. Prog.4 CS 3362, Adv. Dig. Des.3
CS 3461, Concepts. Prog. Lang.4 CS 2464, Fund. Comp. Science4
Math. Prob. and Stat. elect.3 **Tech. or Prof. Dev. Elect.3
EE 2304, Fund. of Elect. Engr.3 *Computer sci. elect. 3
COMS 3308, Bus. & Prof. Comm.3 ++Humanities elect. 3
17 16
FOURTH YEAR
Fall Spring
CS 4411, Sr. Proj. Des.4 CS 4412, Sr. Proj. Impl. Lab.4
CS 4472, Dig. Sys. Lab.4 *Computer sci. elect. 3
*Computer sci. elect. 3 +Ind. or Group Beh. elect.3
++Humanities elect. 3 **Tech. or prof. dev. elect.6
14 16

Minimum hours for graduation­130.

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

+Select from Category C, Section 3, General Education Requirements.

++Select from Category D, General Education Requirements.

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

Math-Computer Science Dual Degree Curriculum.

FIRST YEAR
Fall Spring
CS 1462, Fund. Comp. Sci. I4 CS 2463, Fund. Comp. Sci. II4
ENGL 1301, Ess. Coll. Rhetoric3 ENGL 1302, Adv. Coll. Rhetoric3
MATH 1351, Calculus I3 MATH 1352, Calculus II3
HIST 2300, Hist. U. S. to 18773 HIST 2301, Hist. U. S. since 18773
*Health and Physical Fitness POLS 1301, Amer. Govt. Org.3
13 *Health and Physical Fitness
16
SECOND YEAR
Fall Spring
CS 2382, Disc. Struct. 3 CS 2464, Fund. Comp. Sci. III4
CS 2472, Intro. Comp. Logic4 CS 3450, Comp. Org. Assy. L. 4
MATH 2360, Linear Algebra3 MATH 2350, Calculus III3
PHYS 1105, Princ. of Phys. Lab I1 PHYS 1106, Princ. of Phys. Lab I1
PHYS 1308, Princ. of Phys. I3 PHYS 2301, Princ. of Phys. II3
ENGL 2309, Patt. Rep. and Corr.3 15
17
THIRD YEAR
Fall Spring
CS 3461, Concepts. Prog. Lang.4 CS 3452, Intro. Sys. Prog.4
MATH 3354. Diff. Equations I3 CS 3362, Adv. Dig. Design3
EE 2304, Fund. of Elect Engr.3 POLS 2302, Amer. Pub. Pol.3
Foreign Language elect.4 MATH 3360, Found. of Algebra I3
COMS 3308, Bus. & Prof. Comm.3 Foreign Language elect.4
17 17
FOURTH YEAR
Fall Spring
CS 4472, Dig. Sys. Lab4 CS 3365, Software Eng.3
MATH 3430, Comp. Tech. Sci. Math.4 Computer sci. elect. 3
+Humanities elect. 3 MATH 4310, Intro. Num. Anal I3
MATH 4350, Adv. Calculus3 Math. elect. 3
Foreign Language elect.3 Foreign Language elect.3
1715
FIFTH YEAR
Fall Spring
CS 4411, Sr. Proj. Des.4 CS 4412, Sr. Proj. Impl. Lab.4
MATH 4312, Intro. Num. Anal. II3 +++Comp. sci. elect. 3
MATH 4342, Math. Statistics3 Math. elect. 3
+Humanities elect. 3 ++Ind. or group behavior elect.3
13 13

Minimum hours for graduation exclusive of Health and Physical Fitness­148. (Although usually it will be 153­­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.

+Select from Category D, General Education Requirements; at least three hours must be in English literature..

++Select from Category C, Section 3, General Education Requirements.

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

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.

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.

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

2464. Fundamentals of Computer Science III (4:3:3). Prerequisite: CS 2382, 2463 and MATH 2360. A theoretical course focusing on the design and analysis of computer algorithms.

2472. Introduction to Computer Logic (4:3:3). Prerequisite: CS 1462. Introduction to stored program computers; logic design, combinatorial and sequential circuits; register arithmetic and its implementation.

3362. Advanced Digital Design (3:3:0). Prerequisite: CS 2472 and EE 2304. An engineering approach to digital design utilizing MSI and LSI integrated circuits. Flow charts, MDS diagrams, and a hardware oriented approach are emphasized.

3365. Software Engineering (3:3:0). Prerequisite: C S 2463. 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.)

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

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

3452. Introduction to Systems Programming (4:3:3). Prerequisite: CS 3450. 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.

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

3462. Introduction to Artificial Intelligence (4:3:3). 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.

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

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

4373. Microprocessors for Engineers and Scientists (3:3:0). Prerequisite: CS 3362 and senior standing. Number systems, storage concepts, control units, I/O concepts, system operation, and several applications of microprocessors.

4375. Machine Structure and Organization (3:3:0). Prerequisite: CS 3362. Hardware design alternatives for a computer system to satisfy market requirements. Analysis of current systems.

4395. Introduction to Computer Graphics (3:3:0). Prerequisite: CS 2464. 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.

4411. Senior Project Design (4:3:3). Prerequisite: CS 2464, 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.)

4412. Senior Project Implementation Laboratory (4:0:12). Prerequisite: CS 4411. 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.)

4472. Digital Systems Laboratory (4:2:6). Prerequisite: CS 3362. Advanced digital systems design and implementation. Use of software design tools and test instrument verification of the hardware implementation.


Return to Home Page

Page Maintained by: Cheryl Hedlund

Page Administrator: Gale Richardson

LAST UPDATE: 5-1-97


Jan 21, 2020