|
|
Computer Science |
William A. Barrett, Chair
3361 TMCB, PO Box 26576, (801) 378-3027
College of Physical and Mathematical Sciences Advisement Center
1116 TMCB, PO Box 26539, (801) 378-6270
The degree programs in the Department of Computer Science carry special enrollment limitations. Please see the college advisement center for specific details.
Computer science, even though it is a relatively new field, touches virtually every area of human endeavor. It is the systematic study of the algorithmic processes—their theory, analysis, design, efficiency, implementation, and application. Fundamentally, computer science is a science of abstraction—creating the right model for a problem and devising the right computer manipulations to solve it.
The BS curriculum is accredited by the Computer Science Accreditation Commission of the Computing Sciences Accreditation Board (CSAB).
The degree programs in computer science concentrate on the fundamental techniques and knowledge used in designing and implementing information processing systems, with emphasis on systems software design and computer organization.
Graduates from the Computer Science Department find ready employment in almost any area of computer use.
To receive a bachelor's degree a student must fill three groups of requirements: (1) general education requirements, (2) university requirements, and (3) major requirements.
Please see your college advisement center for information about general education courses you should take to dovetail with your major program.
|
Precollege Math (zero to one course)
|
0–3.0 hours |
| First-Year Writing (one course) | 3.0 |
| Advanced Writing (one to four courses) | 3–8.0 |
|
Advanced Languages/Math/Music
|
3–20.0 |
| Biological Science (one to two courses) | 3–6.0 |
| Physical Science (one to two courses) | 3–7.0 |
| American Heritage (one to two courses) | 3–6.0 |
| Wellness (one to three courses) | 1.5–3.0 |
| Civilization (two courses) | 6.0 |
| Arts and Letters (one course) | 3.0 |
| Natural Sciences (one course) | 3–4.0 |
| Social and Behavioral Sciences (one course) | 3.0 |
Note 1: For a complete list of courses that will fill each GE category, see the General Education section of the current class schedule.
Note 2: Additional information about general education requirements can be found in the General Education section of the current class schedule or this catalog.
| Religion | 14.0 |
| Upper-division hours | 40.0 |
| Residency | 30.0 |
| Total hours | 128.0 |
Cumulative GPA must be at least 2.0.
Note: See the Graduation section of this catalog for more information.
Complete the major requirements listed for one of the folowing undergraduate degree programs.
| BS | Computer Science |
| Minor | Computer Science Teaching |
For help or information on the undergraduate programs, please see your college advisement center.
| MS | Computer Science |
| PhD | Computer Science |
For more information see the 1998-99 BYU Graduate Catalog.
Majors are selected on the basis of overall GPA, performance in the fundamental courses, and availability of openings in the program.
Computer science majors, especially those planning graduate work, are advised to acquire a strong background in mathematics, possibly a minor.
Personnel in the College of Physical and Mathematical Sciences Advisement Center will advise regarding the fundamental and core courses, major admittance, and suggested General Education. Questions regarding curriculum and career decisions should be directed to the undergraduate advisor in the Computer Science Department.
Fundamental courses to be completed by all majors are CS 142, 143, 235, Math 119, Phscs 121.
Note: All hours of credit applied toward a major in computer science must be of C– or better and must be taken within eight years of declaring the computer science fundamentals major. Any exceptions must be approved by the department. Students may choose to graduate under later requirements by updating their date of entry into the major at the college advisement center.
*Hours include courses that may fulfill GE or university requirements.
Complete the following:
| Class Schedule | Major Academic Plan (MAP) | ||||
|
|
|
|
|
|
|
103. Elementary Computer Applications. (2:2:0) F, W, Sp, Su
130. Scientific Computing—C. (2:2:2) F, Su
142. Introduction to Computer Programming. (3:3:0) F, W, Sp, Su Prerequisite: knowledge of algebra.
143. Introduction to Computer Organization. (3:3:0) F, W, Sp, Su Prerequisite: knowledge of algebra.
235. Foundations of Computer Science 1. (4:4:1) F, W, Sp, Su Prerequisite: CS 142.
236. Foundations of Computer Science 2. (4:4:1) F, W, Sp, Su Prerequisite: CS 235.
240. Advanced Programming Concepts. (3:3:0) F, W Prerequisite for CS majors: CS 236. Prerequisite for ECEn majors: CS 235, ECEn 325.
252. Introduction to Computational Theory. (3:3:0) F, W, Alt. term Prerequisite: CS 236.
302. Computer Science Education. (3:3:0) F, W Prerequisite: Math 112 or 119; CS 103 or 142.
312. Algorithm Analysis. (3:3:0) F, W, Alt. term Prerequisite: CS 240, 252.
330. Concepts of Programming Languages. (3:3:0) F, W, Sp Prerequisite: CS 240, 252.
345. Operating Systems Design. (3:3:0) F, W, Sp, Su Prerequisite: CS 380; or CS 240, ECEn 325.
380. Computer Architecture. (3:3:0) F, W, Alt. term Prerequisite: ECEn 220, CS 240.
404. Ethics and Computers in Society. (3:3:0) F, W, Alt. term Prerequisite: Engl 316; junior standing.
428. Software System Design and Implementation. (3:3:0) Alt. sem., Alt. term Prerequisite: CS 312, 330.
429. Software Testing. (3:3:0) F Prerequisite: CS 312, 330.
431. Algorithmic Languages and Compilers. (3:3:0) Alt. sem., Alt. term Prerequisite: CS 312, 330.
450. Introduction to Digital Signal and Image Processing. (3:3:0) On dem. Prerequisite: CS 312, Math 119, 343, or equivalent.
452. Database Modeling Concepts. (3:3:0) F, W, Prerequisite: CS 312, 330.
453. Advanced Data Structures. (3:3:0) F, W, Sp, Su Prerequisite: CS 312, 330.
455. Computer Graphics. (3:3:0) Alt. sem., Alt. term Prerequisite: CS 312, 330, and instructor's consent.
456. Introduction to User Interface Software. (3:3:0) Prerequisite: CS 312, 330.
460. Computer Communications and Networking. (3:3:0) F, W Prerequisite: CS 312, 380.
470. Introduction to Artificial Intelligence. (3:3:0) F Prerequisite: CS 312, 330.
501R. Special Topics in Computer Science. (1–3:Arr.:0 ea.) F, W, Sp, Su Prerequisite: instructor's consent.
510. Formal Languages and Syntactic Analysis. (3:3:0) F, Alt. term Prerequisite: CS 431 or instructor's consent.
512. Analysis of Algorithms. (3:3:0) W Prerequisite: CS 252, 312, or instructor's consent.
521. Pattern Recognition. (3:3:0) W Prerequisite: CS 450, or equivalent.
525. Software Creation. (3:3:0) F Prerequisite: CS 428.
531. Compiler Theory and Design. (3:3:0) Alt. yr. Prerequisite: CS 431.
532. Advanced Programming Languages and Models. (3:3:0) Alt. yr. Prerequisite: CS 431.
535. (CS-Psych 577) Human-Computer Interaction. (3:3:0) F Prerequisite: graduate or senior standing.
544. Advanced Operating Systems. (3:3:0) F, Alt. term Prerequisite: CS 345.
545. Process Control Systems. (3:3:0) W Prerequisite: CS 345.
550. Computer Vision 1. (3:3:0) F Prerequisite: CS 450 or equivalent.
551. Object-Oriented Database Theory. (3:3:0) F, Alt. term Prerequisite: CS 452 or instructor's consent.
552. Object-Oriented Database Systems. (3:3:0) Prerequisite: CS 452.
554. Distributed Databases. (3:3:0) Prerequisite: CS 452 or equivalent.
555. Advanced Computer Graphics. (3:3:0) W Prerequisite: CS 455 or instructor's consent.
556. Interactive Software Systems. (3:3:0) W Prerequisite: CS 330, 455.
557. (CS-CEEn 572-MeEn 572) Computer-Aided Geometric Design. (3:3:0) Prerequisite: FORTRAN or C, or similar computer language background.
560. Computer Networks. (3:3:0) W Prerequisite: CS 460, Stat 321.
561. Theoretical Foundations of Computer Science. (3:3:0) W, Su Prerequisite: CS 312 or instructor's consent.
565. Data Security. (3:3:0) W Prerequisite: CS 404. Recommended: CS 453, 560.
572. Machine Learning. (3:3:0) Prerequisite: CS 250, 470; or instructor's consent.
575. Expert Systems Design. (3:3:0) W Prerequisite: CS 470 or instructor's consent.
576. Intelligent Tutoring. (3:3:0) Alt. term Prerequisite: CS 575 or instructor's consent.
578. Neural Networks and Connectionist Computing. (3:3:0) F Prerequisite: CS 252, 380; or equivalent. Recommended: CS 470 or equivalent.
580. High-Performance Computer Architecture. (3:3:0) Prerequisite: CS 380, ECEn 425, or equivalent.
584. Parallel Processing. (3:3:0) Prerequisite: CS 380 or equivalent.
586. Formal Methods in Computer System Design. (3:3:0) Prerequisite: CS 236, 380, or equivalent.
598R. Special Projects. (1–3:0:0 ea.) Prerequisite: instructor's consent.
For 600- and 700-level courses, see the 1998-99 BYU Graduate Catalog.
Barrett, William A. (1987) BA, PhD, U. of Utah, 1974, 1978.
Burton, Robert Preece (1974) PhD, U. of Utah, 1973.
Campbell, Douglas M. (1971) BA, Harvard U., 1967; PhD, U. of North Carolina, 1971.
Christensen, Larry C. (1983) BA, Brigham Young U., 1963; MA, Central Michigan U., 1968; EdD, Brigham Young U., 1981.
Cornell, Aurel (1980) MS, PhD, Polytechnic Inst. of Timisoara, Rumania, 1960, 1971.
Embley, David W. (1982) BA, MS, U. of Utah, 1970, 1972; PhD, U. of Illinois, 1976.
Hays, Bill (1970) BS, East Texas State U., 1963; MS, U. of Iowa, 1967; PhD, Northwestern U., 1970.
Higgins, John C. (1961) BA, MA, Brigham Young U., 1958, 1960; PhD, U. of California, Berkeley, 1966.
Norman, Theodore A. (1970) BS, U. of Utah, 1962; MS, PhD, Washington State U., 1968, 1970.
Olsen, Dan R. (1985) BS, MS, Brigham Young U., 1976, 1978; PhD, U. of Pennsylvania, 1981.
Sederberg, Thomas W. (1978) BS, MS, Brigham Young U., 1975, 1977; PhD, Purdue U., 1983.
Stokes, Gordon E. (1969) BS, Brigham Young U., 1961; MS, U. of Idaho, 1969; EdD, Brigham Young U., 1981.
Woodfield, Scott N. (1985) BA, MS, Brigham Young U., 1975, 1978; PhD, Purdue U., 1980.
Beus, H. Lynn (1971) BA, Brigham Young U., 1961; MS, Case Inst. of Technology, 1964; PhD, Case Western Reserve U., 1967.
Martinez, Tony R. (1987) BA, Brigham Young U., 1982, MS, PhD, U. of California, Los Angeles, 1983, 1986.
Ng, Yiu Kai (Dennis) (1991) BS, Brigham Young U., 1982; MS, Brigham Young U., 1984; PhD, Kansas State U., 1991.
Windley, Phillip J. (1993) BS, U. of Idaho, 1982; MS, PhD, U. of California, Davis, 1988, 1990.
Clement, Mark J. (1994) BS, MS, Brigham Young U., 1985, 1989; PhD, Oregon State U., 1994.
Egbert, Parris (1992) BS, Utah State U., 1986; MS, PhD, U. of Illinois, 1990, 1992.
Flanagan, Kelly J. (1993) BS, MS, PhD, Brigham Young U., 1988, 1989, 1993.
Morse, Bryan S. (1994) BS, MS, Brigham Young U., 1986, 1990; PhD, U. of North Carolina, 1994.
Whitehurst, Alan (1995) BS, Brigham Young U., 1983; MS, Johns Hopkins U., 1985; PhD, U. of Illinois, 1995.
Ivie, William E. (1964) BS, Brigham Young U., 1974.
Burton, Robert C. (1964) BS, Brigham Young U., 1956; PhD, U. of North Carolina, 1963.
Dean, C. Edwin (1949) BS, MS, Brigham Young U., 1948, 1952; MS, U. of Michigan, 1955.
Ivie, Evan Leon (1979) BS, BES, Brigham Young U., 1956, 1956; MS, Stanford U., 1957; PhD, Massachusetts Inst. of Technology, 1966.
McClurg, Lynn E. (1972) BGE, U. of Nebraska, 1966; MS, U. of Southern California, 1972; EdD, Brigham Young U., 1978.
Robison, Parley P. (1967) BS, U. of Utah, 1958.
Todd, Henry S. (1982) BES, MS, Brigham Young U., 1960, 1965; MS, U. of Rochester, 1968; PhD, U. of Arizona, 1973.
Wright, Norman Edward (1963) BS, Brigham Young U., 1951.
Ashton, Alan C. (1972) BA, PhD, U. of Utah, 1966, 1970.
Tate, Karen E. (1989) BA, PhD, U. of Utah, 1977, 1988.
Urie, Paul McKay (1989) BS, Brigham Young U., 1971; PhD, MD, U of Utah, 1975, 1979.
James K. Archibald and Brent E. Nelson of the Electrical and Computer Engineering Department are assisting with computer science courses and graduate programs by approval of the Computer Science Department.
|
Back |
Catalog Homepage |
BYU Homepage |